/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ファイルに入れても、ブロックされません。
したがって、/ etc/hosts.denyですべてのIPをブロックし、/ etc/hosts.allowで使用するIPのみを許可しようとしていますが、これまでのところ機能していないようです。
今はiptablesでそれぞれを手動でブロックする必要があります。PCから離れていたり眠っていたりした場合に備えて、ハッカーを自動的にブロックしたいと思います。
ファイルをこれに変更し、現在は機能しているようです。
これで解決したかどうかは数時間でわかります
#
# 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
/etc/hosts.denyで明示的にsshdデーモンを設定してみてください
sshd: ALL
および/etc/hosts.allow内
sshd: .example.com xxx.xxx.xxx.xxx
これはいつも私のために働きます。
AllowUsersを許可されたユーザーとIPに設定することもできます。
私の生活を楽にするために私がしていることは、外部接続用に2番目のsshdを開始し、ssh用のデフォルトのポート22とは異なるポートでリッスンすることです。このように、多くの試みは私のログにさえ到達しません。セキュリティはまったく向上しません。一部のスクリプトはすべてのポートをスキャンして実際のポートを見つける場合がありますが、ほとんどの場合、デフォルトのポート22をスキャンするだけです。このようにして、ログファイルがこのノイズでいっぱいになることはありません。
また、sshdには/etc/hosts.denyと/etc/hosts.allowを使用していますが、ここでは完全に機能します。システム内のこれらのファイルは読み取り可能ですか?