В моем файле /etc/hosts.deny есть следующее
#
# hosts.deny This file describes the names of the hosts which are
# *not* allowed to use the local INET services, as decided
# by the '/usr/sbin/tcpd' server.
#
# The portmap line is redundant, but it is left to remind you that
# the new secure portmap uses hosts.deny and hosts.allow. In particular
# you should know that NFS uses portmap!
ALL:ALL
и это в /etc/hosts.allow
#
# hosts.allow This file describes the names of the hosts which are
# allowed to use the local INET services, as decided
# by the '/usr/sbin/tcpd' server.
#
ALL:xx.xx.xx.xx , xx.xx.xxx.xx , xx.xx.xxx.xxx , xx.x.xxx.xxx , xx.xxx.xxx.xxx
но я все еще получаю много таких писем:
Time: Thu Feb 10 13:39:55 2011 +0000
IP: 202.119.208.220 (CN/China/-)
Failures: 5 (sshd)
Interval: 300 seconds
Blocked: Permanent Block
Log entries:
Feb 10 13:39:52 ds-103 sshd[12566]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=202.119.208.220 user=root
Feb 10 13:39:52 ds-103 sshd[12567]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=202.119.208.220 user=root
Feb 10 13:39:52 ds-103 sshd[12568]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=202.119.208.220 user=root
Feb 10 13:39:52 ds-103 sshd[12571]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=202.119.208.220 user=root
Feb 10 13:39:53 ds-103 sshd[12575]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=202.119.208.220 user=root
Что еще хуже, csf пытается автоматически заблокировать эти ip при попытке войти, но хотя он помещает ip в файл csf.deny, они также не блокируются
Итак, я пытаюсь заблокировать все IP-адреса с помощью /etc/hosts.deny и разрешить только IP-адреса, которые я использую с /etc/hosts.allow, но пока что это не работает.
прямо сейчас мне нужно вручную заблокировать каждый с помощью iptables, я бы предпочел, чтобы он автоматически блокировал хакеров на случай, если я был вдали от компьютера или спал
изменил файлы на это, и теперь, похоже, он работает.
через несколько часов узнает, решило это это или нет
#
# hosts.deny This file describes the names of the hosts which are
# *not* allowed to use the local INET services, as decided
# by the '/usr/sbin/tcpd' server.
#
# The portmap line is redundant, but it is left to remind you that
# the new secure portmap uses hosts.deny and hosts.allow. In particular
# you should know that NFS uses portmap!
ALL: ALL
Кажется, после двоеточия нужен пробел.
#
# hosts.allow This file describes the names of the hosts which are
# allowed to use the local INET services, as decided
# by the '/usr/sbin/tcpd' server.
ALL: xx.xxx.xx.xx , xx.xxx.xxx.xx , xx.xx.xxx.xxx , xx.x.xxx.xxx , xx.xxx.xxx.xxx
Вы также можете установить AllowUsers для своих разрешенных пользователей и IP-адресов.
Чтобы облегчить себе жизнь, я также запускаю второй sshd для внешних подключений, прослушивая порт, отличный от порта 22 по умолчанию для ssh. Таким образом, многие попытки даже не доходят до моих журналов. Это совсем не улучшает безопасность, некоторые сценарии могут сканировать все порты и находить настоящий, но большинство просто сканируют порт по умолчанию 22. Таким образом мои файлы журналов не заполняются этим шумом.
Я также использую /etc/hosts.deny и /etc/hosts.allow для sshd, и здесь он отлично работает. Доступны ли эти файлы в вашей системе для чтения?
попробуйте установить для демона ssh явно в /etc/hosts.deny
sshd: ALL
и в /etc/hosts.allow
sshd: .example.com xxx.xxx.xxx.xxx
У меня это всегда работает.