Rechnerproblem: Lärm durch sshd in LOG

Problem

Permanete brute-force-Attacken auf sshd ergeben unnötige Einträge in LOG-Files. Dies ist einfach so. Um die Sicherheit zu erhöhen, gibt es einfache Möglichkeiten in sshd. Dies ersetzt sicherlich keine Firewall, aber eine Firewall schützt eigentlich nur unsichere Dienste/Programme, die sowieso nicht laufen sollten! Jeder laufende Dienst sollte für sich bereits so sicher wie möglich sein.

Lösung

Folgende Einträge sind sehr sinnvoll in sshd_config:

Nur Protokoll 2 soll verwendet werden; das alte ist normalerweise überflüssig:

Protocol 2

Es gibt keinen Grund, daß root sich per ssh einloggen darf:

PermitRootLogin no

Es dürfen sich nur bestimmte User (hier: test und tester) per ssh einloggen:

AllowUsers test tester

Die Match-Direktive kann beispielsweise genutzt werden, um Zugriffe aus unerwünschten IP-Bereichen praktisch zu verhindern. Hier wird verhindert, daß Benutzer aus einem anderen IP-Bereich als 192.168.* sich per Passwort einloggen können. Sollten sie es doch schaffen, wird der vordefinierte Befehl ausgefürt und sonst kann der Benutzer nichts machen. Genauso kann natürlich jeder andere IP-Bereich auch blockiert werden:

Match Address !192.168.*
   PasswordAuthentication no
   ForceCommand (/bin/echo $SSH_ORIGINAL_COMMAND ; /bin/echo $(/usr/bin/env)) > /home/einbruch/$USER-$(/bin/date +%s) ; echo missile launched.

Durch folgenden Eintrag kann ebenfalls erreicht werden, daß nur aus dem privaten Netzwerk 192.168.23.* per ssh zugegriffen werden kann; aber hiertmit kann kein IP-Bereich ausgesperrt werden:

ListenAddress 192.168.23.1

Man kann mit der Match-Direktive auch Benutzer blockieren:

Match User ftpuser,backup
   PasswordAuthentication no
   ForceCommand echo follow the white rabbit.

Folgende Benutzer sind mir aufgefallen, die oft automatisch gescannt werden: (Diese Benutzernamen sollten also entweder vermieden werden, sich nicht per ssh einloggen dürfen oder ein gutes Passwort haben)

adam
adm
admin
administrator
admins
agent
alan
alex
alias
amanda
amavisd
angel
apache
appowner
appserver
aptproxy
backup
bash
brett
clamav
core
cyrus
cyrusimap
dan
danny
data
david
dean
desktop
divine
eleve
eppc
frank
ftp
ftpuser
games
george
gnats
gopher
guest
halt
harrypotter
http
httpd
ident
identd
info
irc
jabber
jack
james
jeff
john
library
linux
list
lp
mail
mailman
mailnull
master
michael
mike
mysql
mythtv
news
newsletter
nfsnobody
office
oracle
party
paul
pgsql
pop
postfix
postgres
postmaster
print
qtss
radiomail
recruit
richard
robert
root
root0
root1
root2
root3
root4
rpc
rpcuser
rpm
sales
samba
sara
search
securityagent
setup
sgi
shop
shutdown
snort
spam
ssh
staff
stephen
steven
student
sunny
susan
sync
sys
telnetd
test
tester
tokend
tomcat
tony
unknown
user
user1
username
users
uucp
virus
visitor
web
webadmin
webmaster
webpop
windowserver
workshop
www-data
wwwrun
xgridagent
xgridcontroller
zzz

Wenn man ssh sowieso nicht braucht:

Match Address 0*,1*,2*,3*,4*,5*,6*,7*,8*,9*
   PasswordAuthentication no
   ForceCommand (/bin/echo $(/usr/bin/env)) > /home/einbruch/$USER-$(/bin/date +%s) ; echo try 127.0.0.1

Man kann mit der Match-Direktive auch Benutzer blockieren:


Autor: Daniel Mohr
Datum: 2008-04-06


zurück zu Rechnerprobleme