すべてのFreeBSD管理者への挨拶!2台目のサーバーをFreeBSDにセットアップし、重要な企業情報をそこに転送して、保護について考えました。 アンチウイルス、ファイアウォール、その他の有用なシステムについては繰り返しません。これらのツールはどれも私の問題を解決しませんでした。
ログを表示すると、
タスクが自動的に発生しました。
/var/log/exim/rejectlog
/var/log/auth.log
/var/log/apache22/httpd-error.log
彼らは、
EximのサーバーとWebメールへのパスワードを見つける試みの失敗に関する情報を常に入手しました。 遅かれ早かれ、攻撃者はパスワードを取得できるため、たとえば
IPFWルールにIPアドレスを追加するなどして、何らかの方法でパスワードを停止する必要があります。 また、Webサーバーでは、明らかに、phpmyadminなどの管理に関連する存在しないディレクトリやファイルを見つけて、既存の脆弱性をチェックしようとしました。
Googleと
セキュリティのいくつかの側面に関するlissyaraの記事は、方向性を示唆しました。
最後
の解決策は単純に見えます
。cronは1分に1回shスクリプトを実行し、指定されたログをスキャンして、不幸な侵入者を
ipfwルールに次の形式で追加します。
deny ip from 123.123.123.123 to me
私はファイルでlissyaraのスクリプトを修正することができました:
- 信頼されたサブネットユーザーはルールに追加されません
- 同じIPはルールに追加されません
- スクリプトは、コピーせずに同じログファイルを処理できます(イベントの日付に基づいて)
- スクリプトはログを書き込みます
- スクリプトはログのいくつかのエラーを修正します
各ログファイルについて、それぞれ独自のshスクリプトを作成しました。
mailsec.sh
nixsec.sh
websec.sh
なぜなら それらは問題を解決するためのアプローチが少し異なりますが、一般的な概念は似ています。
スクリプトは着実に電力を処理し、ブルートフォースをほとんど不可能にし、不必要に好奇心をそそるものから保護します。 蓄積された統計によると、1分間で100を超える選択試行を行うことはできませんでした。 スクリプトをコミッショニングする前、試行は24時間無数でした。
そのようなスクリプトは各サーバーにあるべきだと思います、なぜなら 保護はあまりありません。
私の経験がこれに役立つことを願っています。 コードを持ってきます。 質問に答える準備はできていません。
mailsec.sh
nixsec.sh
websec.sh
おそらく、shスクリプトの専門家がコードの最適化を支援できるでしょう。