Linux ファイアウォールに関する質問

Linux ファイアウォールに関する質問

ファイアウォールに関して一般的な質問がいくつかあるのですが、ここのコミュニティが助けてくれるのではないかと思いました。

1) 最近、Ubuntu サーバーをベアボーンとしてインストールしました。開いているポートを確認しましたが、開いているポートはありませんでした。これは、ファイアウォールがインストールされていたためでしょうか、それともアプリケーションがインストールされていなかったためでしょうか。

2) いくつかのアプリケーション (Apache、postgres、ssh、Java アプリなど) をインストールしました。これらの間で、いくつかのポート (約 10) を開くことになりました。これで、開く必要のあるすべてのポートのリストができました。では、それらを保護するにはどうすればよいですか? [これは適切な質問でしょうか? プロセスは次のようになりますか? ファイアウォールをインストール -> 必要なポートを許可 -> IPtables ルールを使用して残りを拒否]

これはインターネットに公開されます。トラフィックの少ない電子商取引サイトをホストします。

3) サーバーを準セキュアにする最も簡単な方法は何だと思いますか? [メンテナンスのオーバーヘッドが少なく、シンプルです。作業を楽にしてくれるオープンソースの「ソフトウェア」はありますか?]

4) 最後に、上記の開いているポート[2]のうち、Telnetポートであるため閉じる必要があるポートが2つあります。これらのポートを「ファイアウォール」をインストールせずに閉じることはできますか?

ご協力いただいた皆様、ありがとうございました。メリークリスマス!!!!!!!

答え1

  1. リスニング プロセスがなかったため、リスニング ポートがありませんでした。Ubuntu は、デフォルトのインストールではこの点で優れた機能を果たします。リスニング ポートを必要とするプロセスは、通常、デフォルトで localhost (127.0.0.1) を使用します。これにより、リモート システムからの直接アクセスが防止されます。
  2. Apache や SSH サーバーなどのアプリケーションは、リモート サーバーからの接続をリッスンすることが想定されています。Apache には、アクセスを保護するための独自の ACL リストがあります。SSH サーバーは、その構成に加えて、hosts.allow ファイルと hosts.deny ファイルを使用して保護できます。MySQL や PostressSQL などのアプリケーションは、デフォルトで localhost でリッスンする必要があります。他のシステムからアクセスする必要がある場合は、リスナーの設定を変更する必要があります。通常、アクセスを保護するためのメカニズムが 1 つ以上あります。
  3. このメカニズムをサポートするアプリケーションにはhosts.allow/hosts.denyを使用してください。次のようなファイアウォールビルダーを使用すると、ショアウォール安全なファイアウォールを構築することは役に立ちます。各アプリケーションの独自のセキュリティ メカニズムを理解することは、メカニズムの深みを構築するのに役立ちます。logcheck などのツールは、ログを監視し、確認する必要がある可能性のあるイベントの一部を通知します。私は Munin を使用してシステムを監視し、場合によっては問題を警告します。これは、システムの使用状況の監視とグラフ化に使用していた以前の Nagion と MRTG に代わるものです。
  4. telnet が動作している場合は、サービスを停止することでポートを閉じることができます。本当に必要な場合を除き、telnet パッケージを削除して ssh-server に置き換えてください。ほとんどの telnet サーバーは、アクセスを制限するために hosts.allow/hosts.deny の使用をサポートしています。これは、inetd または xinetd で実行されるアプリケーションにも適用されます。MySQL と PostgreSQL は、サーバー外部からの直接アクセスから保護されている 127.0.0.1 のみを listen する必要があります。

私の通常の Shorewall ファイアウォール構成は、サーバー上のインターフェイスの数 (またはアクセス ゾーン: NET、LAN、DMZ) の例の構成から始まります。ゾーンがインターフェイスやルーターを共有する場合、セキュリティが本来よりも低くなる可能性があることに注意してください。その後、必要に応じてルールを調整します。

デフォルトの送信アクセス ポリシーを無効にすることがよくあります。これらは、必要なポート (DNS、NTP、SMTP など) での送信アクセスを許可するルールに置き換えられます。

答え2

1.) いつでも確認することができますiptables -Lこの出力はファイアウォールがないことを意味します:

Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

2.) はい、インターフェース (eth0 など) の入力チェーン内のポートを許可し、その他すべてをドロップします。

他にも次のようなことをする必要があります:

  • ヌル
  • クリスマス (SYN+FIN+ACK)
  • シンフィン

重要なsysctlオプションを設定することを忘れないでください

3.) 簡単な方法:

  • ファイアウォール:http://easyfwgen.morizo​​t.net/gen/
  • 脅威に関する情報を提供するログ分析ツール
  • プロアクティブなチェックを行うその他のツール(例:fail2ban)
  • マシンの状態を通知する監視ツール(例:zabbix、nagios)

4.) 次のコマンドを入力します

root@host:~# netstat -npl | grep LISTEN
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1417/telnet

興味深いのは、telnetの後の1417(プロセス番号)です。キル -9 1417

ただし、殺すものには注意してください。

それを強制終了したくない場合は、ファイアウォールを使用してこのポートの使用を拒否することができます...

答え3

1) ssh をインストールして、別のコンピュータで nmap がポート 22 を開いているかどうか確認してみてください。2) これは大きな答えです。サービスにどのような保護を与えたいのかを正確に把握する必要があります... 3) ? 4) inetd サービスを閉じます。

関連情報