DenyHostsは、Pythonで記述されたSSHサーバー用のログベースの侵入防止セキュリティツールです。これは、認証ログで無効なログイン試行を監視し、Linuxサーバーで/etc/hosts.denyとsbin / iptablesを使用して発信元のIPアドレスをブロックすることにより、SSHサーバーへのブルートフォース攻撃を防ぐように設計されています。このチュートリアルでは、/ etc / hosts.denyファイルにエントリを追加することでssh攻撃を自動的にブロックするPythonプログラム、DenyHostsをインストールする方法を学習します。
チュートリアルはUbuntu17.04サーバーのインストールでテストされています。
1.最初にソフトウェアをインストールしましょう:
$ sudo apt-get install denyhosts
Code language: JavaScript (javascript)
2.アドレスをhosts.allowに追加して、ブロックされないようにします。
sudo pico /etc/hosts.allow
複数のアドレスを追加する方法の例:
sshd: 212.22.112.113 , 10.20.133.3 , 192.168.0.1 , 127.0.0.1
Code language: CSS (css)
3.次に、denyhosts構成ファイルを構成します。
$ sudo pico /etc/denyhosts.conf
Make sure SECURE_LOG set as follows:
SECURE_LOG = /var/log/auth.log
HOSTS_DENY set as follows:
HOSTS_DENY = /etc/hosts.deny
Block only sshd:
BLOCK_SERVICE = sshd
Deny threshold limit for login attempts:
DENY_THRESHOLD_INVALID = 5
DENY_THRESHOLD_VALID = 10
DENY_THRESHOLD_ROOT = 1
DENY_THRESHOLD_RESTRICTED = 1
Block incoming connections using the Linux firewall IPTABLES:
IPTABLES = /sbin/iptables
Code language: PHP (php)
4. DenyHostsサービスを有効にする:
$ sudo systemctl enable denyhosts.service
次のようになります:
denyhosts.serviceの状態を/lib/ systemd/systemd-sysv-installを使用したSysVinitと同期しています…/ lib / systemd / systemd-sysv-installenabledenyhostsを実行します
5. DenyHostsサービスを再起動します:
sudo /etc/init.d/denyhosts restart
6.すべてが機能しているかどうかを確認し、ブロックリストに追加されたアドレスを一覧表示するためのいくつかのコマンド:
$ sudo grep 'something' /var/log/denyhosts
$ sudo tail -f /var/log/denyhosts
$ sudo cat /etc/hosts.deny
sudo iptables -L INPUT -n -v | grep DROP
Code language: JavaScript (javascript)
注意:
DenyHostsはIPv4を使用した接続に制限されていることに注意してください。 IPv6ベースのIPアドレスでは機能しません。もう1つのオプションは、iptablesコマンドを使用して、ブロックされたIPアドレスを確認することです。
集中同期サポートを有効にしますか?
DenyHostsバージョン2.0以降は集中同期をサポートしているため、繰り返しの違反者は多くのコンピューターからブロックされます。サイトxmlrpc.denyhosts.netは、ソフトウェアを実行しているコンピューターから統計を収集します。同期はデフォルトで無効になっています。同期を有効にするには、次のように入力します。
$ sudo pico /etc/denyhosts.conf
次に追加します:
SYNC_SERVER = http://xmlrpc.denyhosts.net:9911
Code language: JavaScript (javascript)
そして再起動します:
$ sudo /etc/init.d/denyhosts restart