すでに述べたように、一般的にセキュリティはタマネギのものです。ファイアウォールが存在するのには理由があり、それは他のすべてのレミングが愚かな馬鹿であるだけではありません。
この答えは、このページで「fail2ban」を検索しても結果が得られないためです。したがって、他のコンテンツを2倍にしたら、我慢してください。失礼しますが、少し不平を言うと、他の人に役立つかもしれないので、わかりやすい経験を提供します。:)
ネットワークに関する考慮事項、ローカルと外部
これはかなりLinux固有のものであり、通常はユースケースであるホストベースのファイアウォールに集中しています。外部ファイアウォールは、適切なネットワーク構造と密接に関連しており、通常、その他のセキュリティ上の考慮事項がそれに伴います。ここで何が暗示されているかを知っていれば、おそらくこの投稿は必要ないでしょう。または、あなたはしません、そしてただ読んでください。
ファイアウォールを外部およびローカルで実行すると、直感に反し、二重に機能するように見える場合があります。ただし、これにより、背後にある他のすべてのホストのセキュリティを損なうことなく、外部ルールのルールを変更することもできます。必要性は、デバッグの理由か、誰かがめちゃくちゃになったために発生する可能性があります。別のユースケースは、「適応型グローバルファイアウォール」セクションにあります。このセクションでは、グローバルファイアウォールとローカルファイアウォールの両方が必要になります。
コストと可用性、常に同じストーリー:
ファイアウォールは、適切に保護されたシステムの1つの側面にすぎません。お金を「費やす」のでファイアウォールを設置しない、SPOFを導入する、またはでたらめなものは何でも、ここで私のフランス語をご容赦ください。クラスターをセットアップするだけです。ああ、でも、もし火のセルが機能しなくなったらどうしますか?次に、2つ以上の火災区画にまたがるクラスターをセットアップします。
しかし、両方の外部通信事業者が廃業しているため(掘削機がファイバーを破壊したため)、データセンター全体に到達できない場合はどうでしょうか?クラスターを複数のデータセンターにまたがって作成してください。
それは高価です?クラスターが複雑すぎますか?まあ、パラノイアは支払わなければなりません。
ただSPOFについて泣き言を言うが、より多くのお金を払ったり、より複雑なセットアップを作成したくないのは、二重の標準または会社や顧客側の小さな財布の明らかなケースです。
このパターンは、どのサービスがその日の問題であるかに関係なく、これらすべての議論に適用されます。VPNゲートウェイ、ファイアウォールだけに使用されるCisco ASA、MySQLまたはPostgreSQLデータベース、仮想システムまたはサーバーハードウェア、ストレージバックエンド、スイッチ/ルーターなど...
ここまでで、アイデアが得られるはずです。
なぜファイアウォールを気にするのですか?
理論的には、あなたの推論は健全です。(悪用できるのは実行中のサービスのみです。)
しかし、これは真実の半分にすぎません。ファイアウォール、特にステートフルファイアウォールは、はるかに多くのことができます。ステートレスファイアウォールは、既に述べたようなパフォーマンスの問題が発生した場合にのみ重要です。
簡単で中央の個別アクセス制御
あなたのセキュリティを確保するために基本的に同じ機能を実装するTCPラッパーについて言及しました。議論のために、誰かがtcpd
マウスを使用していることを知らず、好きだと仮定しましょう。fwbuilder
思い浮かぶかもしれません。
管理ネットワークから完全にアクセスできるようにする必要があります。これは、ホストベースのファイアウォールの最初の使用例です。
データベースが別の場所で実行され、何らかの理由で共有(プライベート)サブネット内に両方/すべてのマシンを配置できないマルチサーバーセットアップはどうでしょうか。ファイアウォールを使用して、他のサーバーの指定された単一のIPアドレスに対してのみ、ポート3306でMySQLアクセスを許可します。
また、UDPでも問題なく機能します。またはどんなプロトコル。ファイアウォールは非常に柔軟です。;)
ポートスキャンの軽減
さらに、ファイアウォールを使用すると、カーネルとそのネットワークスタックを介してタイムスパンごとの接続量を監視できるため、一般的なポートスキャンを検出および軽減でき、ファイアウォールはそれに基づいて動作できます。
また、無効または不明瞭なパケットは、アプリケーションに到達する前に処理できます。
アウトバウンドトラフィック制限
アウトバウンドトラフィックのフィルタリングは、通常、お尻の痛みです。ただし、契約によっては必須の場合があります。
統計
ファイアウォールが提供できるもう1つのことは、統計です。(watch -n1 -d iptables -vnxL INPUT
パケットが通過するかどうかを確認するために、特別なIPアドレスの規則を上部に追加したと考えてください。)
物事がうまくいくか、うまくいかないかは、白昼に見ることができます。接続のトラブルシューティングや、おしゃべりに頼らずにパケットを受け取らないことを電話で他の人に伝えることができる場合、これは非常に便利ですtcpdump
。ネットワークは楽しいものです。ほとんどの人は今やっていることを知っているだけで、多くの場合、それは単純なルーティングエラーです。地獄、私も自分が何をしているのかが常にわからない 私は文字通り何十もの複雑なシステムとアプライアンスで作業してきましたが、多くの場合、今でもトンネリングを使用しています。
IDS / IPS
レイヤ7ファイアウォールは、適切に参加せず定期的に更新されない場合、通常スネークオイル(IPS / IDS)です。さらに、ライセンスは非常に高価なので、お金で買えるものすべてを手に入れる必要がない場合は、ライセンスを手に入れたいと思います。
マスケラディング
簡単です。ラッパーでこれを試してください。:D
ローカルポート転送
マスカレードを参照してください。
動的IPアドレスでパスワードアクセスチャネルを保護する
顧客が動的IPアドレスを持ち、VPNセットアップが展開されていない場合はどうですか?またはファイアウォールへの他の動的なアプローチ?これはすでに質問で示唆されており、残念なことにユースケースが来ます。それを行うファイアウォールは見つかりません。部。
パスワードによるルートアカウントアクセスを無効にすることは必須です。アクセスが特定のIPアドレスに制限されている場合でも。
また、sshキーが失われた場合や展開が失敗した場合に、パスワードログインを使用して別のblankoアカウントを準備しておくと、何かが本当にうまくいかない場合(ユーザーがマシンへの管理アクセス権を持ち、「何が起こったのか?」)Linuxでシングルユーザーモードを使用しinit=/bin/bash
ているgrub
、またはローカルアクセスにvia を使用しているのは本当に悪いため、何らかの理由でライブディスクを使用できないため、ネットワークアクセスの考え方と同じです。笑ってはいけません、それを禁止する仮想化製品があります。機能が存在する場合でも、機能のない古いソフトウェアバージョンが実行された場合はどうなりますか?
とにかく、22ではなくある難解なポートでsshデーモンを実行する場合でも、ポートノッキングのようなものを実装していない場合(別のポートを開いてポートスキャンを軽減し、あまりにも非現実的であることにゆっくりと接している場合)、ポートスキャンはあなたを検出します最終的にサービス。
通常、すべてのサーバーを同じ構成でセットアップし、効率上の理由から同じポートとサービスを使用します。sshをすべてのマシンの異なるポートに設定することはできません。また、それが「公開」情報であるとみなすたびにすべてのマシンで変更することはできません。なぜなら、それはすでにスキャンの後であるからです。nmap
ハッキングされたWi-Fi接続を自由に利用できる場合、合法かどうかの問題は問題になりません。
このアカウントの名前が「root」でない場合、人々は「バックドア」のユーザーアカウント名を推測できない可能性があります。しかし、彼らはあなたの会社から別のサーバーを入手するか、単にいくつかのウェブスペースを購入し、unrooted / unjailed / uncontaineredを見て/etc/passwd
いるかどうかを知っています。
純粋に理論的な例としては、ハッキング可能なWebサイトを使用してサーバーにアクセスし、通常の場所でどのように実行されるかを調べることができます。ハック検索ツールは24時間365日実行されない場合があり(通常、ファイルシステムスキャンのディスクパフォーマンス上の理由で夜間に実行されますか?)、新しいゼロデイが日の目を見る2番目にウイルススキャナーが更新されないため、これらの出来事を一度に検出しないでください。他の保護手段がなければ、何が起こったのかさえ知ることはできません。現実に戻ると、誰かがゼロデイのエクスプロイトにアクセスできたとしても、それはあなたのサーバーを標的にしません。これは、「必要」が生じた場合にシステムへの道が常にあることを説明するためのものです。
ただし、このトピックについては、余分なパスワード付きアカウントを使用しないでください。読んでください。
攻撃者がこの追加のアカウントの名前とポートを取得する場合でも、fail2ban
+のiptables
組み合わせは、8文字のパスワードのみを使用した場合でも、それらを短くします。さらに、他のサービスにもfail2banを実装できるため、監視の範囲が広がります!
独自のサービスの場合、ニーズが発生した場合:基本的に、ファイルへのすべてのサービスロギングエラーは、ファイル、一致する正規表現、および許可される障害の数を提供することでfail2banサポートを取得でき、ファイアウォールはすべてのIPアドレスを喜んで禁止しますと言われます。
8桁のパスワードを使用するように言っているのではありません!しかし、間違ったパスワードの5回の試行で24時間禁止された場合、そのようなひどいセキュリティでもボットネットを自由に使用できない場合、どれだけの期間試行する必要があるかを推測できます。また、だけでなく、顧客が使用する傾向のあるパスワードにも驚かれることでしょうssh
。Pleskを介して人々のメールパスワードを見ると、知りたくないこと、したいことがあればすべてがわかりますが、もちろんここで私が暗示しようとしているのではありません。:)
適応型グローバルファイアウォール
fail2ban
は、に沿って何かを使用するアプリケーションの1つにすぎiptables -I <chain_name> 1 -s <IP> -j DROP
ませんが、Bashの魔法を使えば、そのようなものを簡単に自分で簡単に構築できます。
このようなものをさらに拡張するには、ネットワーク内のサーバーからすべてのfail2ban IPアドレスを追加のサーバーに集約します。これにより、すべてのリストがキュレートされ、ネットワークのエッジにあるすべてのトラフィックをブロックするコアファイアウォールに順番に渡されます。
そのような機能を販売することはできません(もちろん販売できますが、脆弱なシステムであるだけです)、インフラストラクチャに織り込む必要があります。
また、ブラックリストIPアドレスまたは他のソースからのリストを使用することもできます。それは自分自身または外部のものによって集約されます。