最近MountainLionにアップグレードしたMacOSX Serverをセットアップして、ポート22を開く必要があるためdenyhostsを使用しようとしています。 denyhostsが設定され、/ etc/hosts.denyにエントリが追加されるため、実際に機能することを確認するためにラップトップIPを追加することにしましたが、ログインでき、IPは/ private/var/logに表示されます。 /システムログ。再起動する必要のあるサービスがないことを確認するために、サーバーを1回再起動したこともあります。
次のエントリを試しました。
ALL: <my laptop's IP>
sshd: <my laptop's IP>
sshd: 127.0.0.1
私の/ etc/sshd_configには、次のパラメータが設定されています。
UsePAM yes
UseDNS no
Deny.hostsがOSX10.7または10.8で非推奨になっている場合はグーグルで検索しましたが、その兆候は見つかりませんでした。何がうまくいかないのか、同じ結果を達成するための別の方法があるのかについてのアイデアはありますか?
はい、秘密鍵でこの問題を解決できますが、当面はパスワード認証の使用に固執したいと思います。また、sshだけでなく、サーバー上で実行されているすべてのサービスへのアクセスを実際にブロックするdenyhostsのアイデアも気に入っています。
また、拒否ホストをMac OS X MountainLionで動作させるための情報を取得しようとしています。これまでのところ成功していませんが、次にどこに行くべきかはわかっています。本当に必要かどうかはわかりませんが。
http://denyhosts.sourceforge.net/ssh_config.html によると:
DenyHostsを利用するには、sshdサーバーがtcp_wrappersサポートを使用してコンパイルされていることを確認する必要があります。
これは、OS XMLではもう当てはまらないようです。 https://discussions.Apple.com/thread/4267535?start=0&tstart=
これが、Mountain Lionでhosts.denyが無視される理由です。
しかし、Macポートを介してlibwrapをインストールしたいかどうかはわかりません...たぶん、SSHポートをもっと高いものに変更して、失敗した認証試行の猛攻撃を制限します。
Sshdを使用した公開鍵認証のみを受け入れると、実際には、syslogを介して、ほとんど測定できないパフォーマンスと少し多くのディスク領域が失われるだけです。
OS X 10.8は、パケットフィルタリングにpf
を使用します。特定のIPからの着信トラフィックをブロックするには、次のような行を/etc/pf.conf
に追加します。
block in from 221.0.213.154
次に、これを実行して構成ファイルを再ロードします。
pfctl -e -f /etc/pf.conf
私はこれを試しました、そしてそれは私のために働きます。
SnowLeopardとMountainLionの両方にFail2banのインストールを少し変更して使用することで、これらのブルートフォース攻撃をブロックすることに成功しました。私は このチュートリアル と Dr。Andy Fragen によって提案されたいくつかの調整を使用しました。どこかで行き詰まったら、私に知らせてください。喜んでお手伝いします。