web-dev-qa-db-ja.com

IPtablesでのFail2banブロックは、Debian Lennyでは機能しません。 [移動されたsshポート]

私は最近、いくつかのセキュリティ保守を行うことにしました。ログを確認したところ、SSHサーバーに対していくつかの試みがありました。最初に、SSHポートをデフォルトの22から移動しました。その後、 Fail2banBlockHosts および DenyHosts について読みました。

最初に見てみました。設定は簡単で、すべてが理解可能です。しかし、「その保護を調査」しようとすると、テストが失敗します。すべてが良いようですが、サーバーにアクセスできます。

IPtablesもテストしました:# iptables -I INPUT -j DROP-その後、SSH接続が失われました(つまり、私が望んでいたものです)。次に# iptables -I INPUT -s 84.x.y.z -j DROP、それもうまくいきました。

しかし、Fail2banはどのようなルールを実行しましたか、それは機能しません:($ Sudo iptables -L

Chain INPUT (policy ACCEPT)
target     prot opt source               destination        
fail2ban-Apache  tcp  --  anywhere             anywhere            multiport dports www,https
fail2ban-ssh  tcp  --  anywhere             anywhere            multiport dports ssh
fail2ban-ssh-ddos  tcp  --  anywhere             anywhere            multiport dports ssh

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination        

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination        

Chain fail2ban-Apache (1 references)
target     prot opt source               destination        
RETURN     all  --  anywhere             anywhere            

Chain fail2ban-ssh (1 references)
target     prot opt source               destination        
DROP       all  --  84.x.y.z           anywhere            
RETURN     all  --  anywhere             anywhere            

Chain fail2ban-ssh-ddos (1 references)
target     prot opt source               destination        
RETURN     all  --  anywhere             anywhere

ロードされたカーネルモジュール:($ lsmod | grep ip

iptable_nat             4680  0
nf_nat                 15576  1 iptable_nat
nf_conntrack_ipv4      12268  3 iptable_nat,nf_nat
nf_conntrack           55540  4 xt_state,iptable_nat,nf_nat,nf_conntrack_ipv4
xt_multiport            2816  2
iptable_filter          2624  1
ip_tables              10160  2 iptable_nat,iptable_filter
x_tables               13284  5 xt_state,xt_tcpudp,iptable_nat,xt_multiport,ip_tables
ipv6                  235396  24

バージョン:

  • Debian Lenny 5.06、カーネル2.6.26-2-686
  • IPtables 1.4.2-6
  • Fail2ban 0.8.3-2sid1
  • openssh-server 1:5.1p1-5

テスト#1ステップバイステップ:

  1. Fail2banを低禁止時間に設定します。 60秒次にリロードします。
  2. 間違ったパスワードで直接(SSHで)ログインしようとしました。
  3. 6回目は正しいパスワードを入力します(最大試行回数はここでは4回のみです)。ログインしました。そのサーバーでホストされているWebページにもアクセスできます。
  4. iptables -Lは上記のように私を示しました。禁止がアクティブだったので、接続したときにサーバーに命令しました。

テスト#2ステップバイステップ:

  1. Fail2banを停止します。 atスクリプトを作成して、下記の禁止ルールを将来的に削除します。 (iptables -D INPUT 1
  2. 禁止ルールを作成します:iptables -I INPUT 1 -s 84.x.y.z -j DROP
  3. 他に何も入力できませんでした。SSH接続は使用できません。ウェブページにアクセスできませんでした。それで、私がiptablesに欲しかったもの。
  4. atスクリプトの後、サーバーにアクセスできます。

解決策が表示されません。IPtablesの禁止(Fail2banによって作成)を機能させるにはどうすればよいですか?

11
antivirtel

Fail2banをインストールする前に、問題を発見しました。申し訳ありません。

セキュリティ上の理由から、sshdをポート22から別のポートに移動しました。 iptablesの参照は、ポート22のみを参照しています。私はそれは変数であり、常に現在のsshdポートを参照するものだと思いました。しかし[〜#〜]ない[〜#〜]

正確な解決策(デーモンを元のポートから移動した場合):

  1. Jail.local(または.conf)を開きます。
  2. (中かっこで)サービスを検索します。
  3. portセクションをallに修正します。例:port = all
  4. 既存のbanaction行をポート行の後に追加または編集し、値iptables-allportsを指定します。例:banaction = iptables-allports
  5. デーモンを再起動します。例:# service fail2ban restart

変更の解決策が見つかりませんでしたport sshディレクティブ、またはそこに数字を書きます。すべてのポート以外のソリューションがある場合は、それを聞いてみます!

8
antivirtel

Sshサーバーを非標準ポート12345に移動した後、fail2banが禁止されないという同じ問題がありました(たとえば、)。

Fail2banが何度も失敗した認証試行の後に正しいルールを生成するように、私は/etc/fail2ban/jail.confを編集しました。

port = ssh 

port = 12345

標準以外のポートで他のサービスに対しても同様のアプローチが機能すると思います。

2
John

Fail2banの設定は/etc/fail2ban/jail.localにあります。デフォルトのインストールでは、そこにあるかどうかわかりません。次に、jail.confjail.localにコピーして、両方のファイルを/etc/fail2ban/にコピーします。 jail.localを編集し、[ssh]を含む行に移動して、次のように有効にします。

enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 6

その後、fail2banを再起動します。

Sudo /etc/init.d/fail2ban restart

今はうまくいく可能性があります。私はそのように設定し、うまくいきました。

0
enedene

「Fail2ban 0.8.3-2sid1」がインストールされていると記載されています。これはサポートされていない構成です。 Sidパッケージは安定した環境にインストールしないでください。

LennyからアップグレードしたDebian 6(Squeeze)をVM特に自宅のSSHサーバーとして実行しています。fail2banも使用しています。テスト#1を実行し、すべてが次のように機能しました。最大試行回数でログインに失敗し、ログイン要求が60秒間ドロップされました。

私のバージョンリスト:

  • / etc/debian_version = 6.0.1
  • fail2ban = 08..4-3
  • iptables = 1.4.8
  • openssh-server = 1:5.5p1-6
0
James Sumners