web-dev-qa-db-ja.com

hosts.denyがIPアドレスをブロックしない

/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から離れていたり眠っていたりした場合に備えて、ハッカーを自動的にブロックしたいと思います。

2
Jamie

ファイルをこれに変更し、現在は機能しているようです。

これで解決したかどうかは数時間でわかります

#
# 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
1
Jamie

/etc/hosts.denyで明示的にsshdデーモンを設定してみてください

sshd: ALL

および/etc/hosts.allow内

sshd: .example.com xxx.xxx.xxx.xxx

これはいつも私のために働きます。

0
Luka Marinko

AllowUsersを許可されたユーザーとIPに設定することもできます。

私の生活を楽にするために私がしていることは、外部接続用に2番目のsshdを開始し、ssh用のデフォルトのポート22とは異なるポートでリッスンすることです。このように、多くの試みは私のログにさえ到達しません。セキュリティはまったく向上しません。一部のスクリプトはすべてのポートをスキャンして実際のポートを見つける場合がありますが、ほとんどの場合、デフォルトのポート22をスキャンするだけです。このようにして、ログファイルがこのノイズでいっぱいになることはありません。

また、sshdには/etc/hosts.denyと/etc/hosts.allowを使用していますが、ここでは完全に機能します。システム内のこれらのファイルは読み取り可能ですか?

0
rems