GNU/Linux >> Linux の 問題 >  >> Linux

Linuxシステムのファイアウォールにセキュリティを強化する

Firewalldやiptablesなどのファイアウォールは、侵入に対する優れた防御の第一線ですが、完璧ではありません。それらはハッキングされる可能性があり、また時折脆弱性に苦しむ可能性があります。ただし、ホストベースのファイアウォールを実行している必要があります。これは、すべてのシステムにインストールして構成するものの1つにすぎません。また、システムで作業を行う前にファイアウォールを構成する必要があります。つまり、システムがオンラインになったらすぐにシステムをロックダウンします。

新しいシステムが稼働し、ファイアウォールで保護したら、/ etc / hosts.allow(hosts.allow)と/ etc / hostsに対応するエントリを使用して、2番目の防御線を作成します。 (hosts.deny)ファイルを拒否します。何らかの理由でファイアウォールが停止した場合、hosts.allowおよびhosts.denyエントリは、システムを侵入から保護し続けます。ファイアウォールにフェイルセーフを提供することでシステムのセキュリティを強化するのは、この追加されたレイヤーです。

ALLOWエントリを作成します

私の「Sysadminツール:iptablesの使い方」の記事を読んでいただければ幸いです。そうでない場合は、hosts.allowファイルとhosts.denyファイルにアクセスする前に、数分読んでください。対応するエントリを作成するためのリファレンスとしてiptablesの記事を使用します。

注:hosts.allowで作成されたエントリは、システムからロックアウトされる可能性があることをここに記載する必要がありますが、これはあなたが望んでいることではありません。その場合は、KVM、仮想KVM、iLO、または仮想マシンコンソールを介してシステムコンソールにアクセスする必要があります。

上記の記事のSSHルールには、iptables -I INPUT -s 192.168.1.0/24 -p tcp --dport 22 -j ACCEPTと記載されています。 。このルールにより、192.168.1.0/24ネットワーク上のすべてのシステムがSSH経由でローカルシステムに接続できるようになります。 hosts.allowの対応するエントリは次のとおりです。

SSHD: 192.168.1.*

このエントリにより、192.168.1.0ネットワークのすべてのシステムがSSH経由でシステムに接続できるようになります。

注:hosts.allowファイルを設計どおりに動作させるには、ファイルの最後に空白行を追加する必要があります。私はこれに数日間苦労しました、そしてそれは非常にイライラしました。

hosts.allowファイルはhosts.denyファイルよりも先に読み取られるため、hosts.denyファイルに何かを配置する前に、許可されているすべてのエントリをこのファイルに配置してください。 hosts.allowファイルにDENYエントリを配置できますが、私は2つを互いに分離しておくことを好みます。 hosts.allowファイルに両方のタイプのエントリがあると混乱するだろうと思います。

hosts.allowファイルとhost.denyファイルに変更を加えると、それらは有効になります。それらをアクティブにするために再起動するデーモンはありません。これは、データセンターの近くに住んでいない限り、エントリを慎重に作成するように警告するもう1つの理由です。

DENYエントリを作成します

すべてのiptablesに対応するhosts.allowエントリを作成したら、hosts.denyエントリを作成します。 iptablesと同様に、hosts.allowファイルとhosts.denyファイルは上から下に読み取られるため、hosts.denyファイルの下部にいわゆるDENYALLエントリを追加します。

ALL: ALL

この単純なエントリは、すべてのホストからのすべてのプロトコルを拒否することを意味します。特定のプロトコルまたはネットワークを1つだけ拒否する場合は、より具体的にすることができます。

SSHD: ALL     #Deny SSH access from all networks but allowing other protocols.

または

ALL: 192.168.1.*     #Deny all protocols from the 192.168.1.0 network.

または

SSHD: 192.168.1.*     #Deny SSH access from the 192.168.1.0 network.

まとめ

これらの例とiptablesの記事に示されている例からわかるように、この2つは構造と動作に類似点があります。これらは両方とも上から下に読み取られ、ALLOWエントリはDENYエントリの前に読み取られます。 hosts.allow /denyエントリとiptablesエントリを作成するときに覚えておくべきことの1つは、それらが互いに対応していることです。それらが競合している場合、トラブルシューティング作業の複雑さが大幅に増します。テストの目的で、ファイアウォールをオフにし、hosts.allowファイルとhosts.denyファイルの接続動作を観察します。

[ネットワークとネットワークセキュリティについてもっと知りたいですか? Linuxネットワークのチートシートを確認してください。 ]


Linux
  1. コンピュータをどのように保護できますか?

  2. Rsyncを使用してLinuxシステム全体をバックアップする方法

  3. Linuxスキルを高めるための13の演習

  1. procps-ngを使用してターミナルでLinuxシステムを監視します

  2. Linuxオペレーティングシステムをデータベースのようにクエリします

  3. Linux 稼働時間の履歴

  1. LynisでLinuxセキュリティをスキャンする

  2. Linuxのセキュリティ:fail2banでシステムを保護する

  3. Linuxのセキュリティ:さらに8つのシステムロックダウンコントロール