ConfigServer Firewall(CSF)は、インバウンドおよびアウトバウンドのトラフィックを制御するためのLinuxサーバーおよびBSDシステム用のファイアウォールです。 CSFの具体的な詳細に入る前に、ファイアウォールとは何か、ファイアウォールがどのように機能するかを理解しましょう。
ファイアウォールは、外部からの攻撃からシステムを保護するシールドとして機能します。それらのいくつかは、ステートフルファイアウォール、回路レベルのゲートウェイ、UDP / ICMPフィルタリングファイアウォール、またはアプリケーション層フィルターです。
ファイアウォールには、着信トラフィックと発信トラフィックをフィルタリングするための一連のルールが付属しています。また、使用しているファイアウォールの種類に応じて、IPがネットワークへのアクセスを許可されるかどうかが決定されます。ルールのリストは特定のシステムに対して定義されており、ファイアウォールはルールに従ってトラフィックをフィルタリングします。
ConfigServer Firewall(CSF)は、Linuxサーバーで最も広く使用されているオープンソースファイアウォールの1つです。 CSFには、ルールの構成に使用できる機能のリストが付属しています。したがって、非常に強力であると同時に使いやすいです。
Debian 11にCSFをインストールして設定するには、次のものが必要です。
- Debian11を実行しているサーバーとシステムはインターネットに接続されている必要があります。
- サーバーへのrootアクセス。
ConfigServerファイアウォールをインストールする前に、システムを更新する必要があります。以下のコマンドを実行して、システムを更新します。
sudo apt update
更新が完了したら、次のコマンドを実行して必要な依存関係をインストールします。
sudo apt install libio-socket-inet6-perl libsocket6-perl -y
sudo apt install sendmail dnsutils unzip libio-socket-ssl-perl -y
sudo apt install libcrypt-ssleay-perl git perl iptables libnet-libidn-perl -y
以前のバージョンのCSFがシステムにインストールされている場合は、次のコマンドを実行して最初にアンインストールします。 Debian 11は新しいバージョンのPerlを使用しているため、CSFのインストールにより既存のCSFのインストールと競合が発生する可能性があります。
cd /etc/csf && sh uninstall.sh
UFWなどの別のファイアウォール構成スクリプトを使用している場合は、続行する前にそれらをオフにする必要があります。
sudo ufw disable
Debian11へのCSFファイアウォールのインストール
必要な前提条件をすべてインストールしたので、CSFファイアウォールをダウンロードしてインストールしましょう。
Debian11リポジトリにはCSFパッケージが含まれていません。したがって、ConfigServerファイアウォールの最新バージョンを公式サイトからダウンロードする必要があります。
これを行うには、次のコマンドを発行します。
wget http://download.configserver.com/csf.tgz
次に、以下のコマンドを実行して、ダウンロードしたファイルを抽出します。
sudo tar -xvzf csf.tgz
ファイルを抽出したら、次のコマンドを使用してCSFをインストールします。
cd csf && sh install.sh
インストールが完了すると、ファイアウォールがインストールされます。 CSFファイアウォールを開始するには、次のコマンドを実行します。
sudo systemctl start csf
以下のコマンドを実行して、すべてが正常であることを確認します。
perl /usr/local/csf/bin/csftest.pl
以下のような出力が得られます。この出力は、CSFが稼働中であることを確認します。
起動時にCSFファイアウォールを開始できるようにするには、次のコマンドを実行します。
sudo systemctl enable csf
以下のコマンドを使用して、CSFのステータスを確認できます。
sudo systemctl status csf
この出力は、CSFが稼働中であることを確認します。それでは、このファイアウォールを構成しましょう。
出力例:
Debian11でのCSFファイアウォールの設定
CSFファイアウォールをインストールすると、構成ファイル/etc/csf/csf.conf
に付属するデフォルトのルールがアクティブになります。この構成ファイルを調べて、必要に応じて構成されていることを確認する必要があります。このファイルでは、システムの観点からアクティブなすべてのデフォルトルールを確認できます。それらのいくつかを詳しく見てみましょう。
sudo nano /etc/csf/csf.conf
開いているポートの数が少ないほど、システムの安全性は高くなります。ただし、常にいくつかの共通ポートを開いておく必要があります。以下に示すように、csf.confファイルでデフォルトで開いているすべてのポートを確認できます。
構成ファイルでわかるように、任意のポートを許可/ブロックする場合は、リスト内のポート番号をそれぞれ追加/削除する必要があります。
たとえば、ポート80をブロックする場合は、以下に示すように、リストから削除する必要があります。
IPv6を使用している場合、最近の攻撃のほとんどはIPv6プロトコルを介して行われるため、構成ファイルでも更新する必要があります。上記のIPv4ポート用に構成したものと同様に、TCP6_IN、TCP6_OUTを構成する必要があります。
出力例:
次に、CONNLIMIT設定を構成しましょう。 CONNLIMITは、CSFのセキュリティ機能であり、特定のポートでリモート接続が同時に持つことができる同時数を制限できます。これは、DoS/DDoS攻撃のリスクを軽減するのに役立ちます。
たとえば、同時接続が3つ以下のIPを制限する場合は、次のように更新する必要があります。この設定では、ポート22で3つの同時接続、ポート443で3つの同時接続のみが許可されます。
次に、PORTFLOOD設定を構成しましょう。このオプションを使用すると、特定の時間枠内にポートで許可される接続要求の最大数を構成できます。
たとえば、60秒以内にTCPプロトコルを使用してポート443で3つ以上の接続が確立された場合にIPをブロックする場合は、次のように更新する必要があります。最後の接続から60秒の時間枠が終了すると、ブロックは自動的に削除されます。
ファイアウォールの最も基本的な機能は、IPアドレスをブロックして許可することです。ブロックするIPアドレスをcsf.denyファイルに手動で追加するか、csf.denyファイルにIPの全範囲を追加することができます。
たとえば、すべての192.168.1.0/24IP範囲をブロックできます。
または
以下に示すように、csf.denyファイルに追加することで192.168.2.0の単一のIPをブロックできます。
次のコマンドでcsf.denyファイルを開きます。
sudo nano /etc/csf/csf.deny
ファイルの最後に次の行を追加します。一度に1行。
192.168.2.0
192.168.1.0/24
出力例:
完了したら、 CTRL + X を押して、ファイルを保存して閉じます。 、 Y 、および入力 。
csf.denyファイルとは逆に、csf.allowファイルは、すべてのフィルターからIPまたはIPの範囲を除外するために使用されます。すでにcsf.denyファイルにIPを追加している場合でも、ブロックされたIPアドレスはcsf.allowファイルに追加することでサーバーへのアクセスを許可されることに注意してください。
sudo nano /etc/csf/csf.allow
CSFには、独自のファイアウォールを設定するためのさまざまなオプションが用意されていますが、これはこのチュートリアルの範囲を超えています。設定とその機能については、ConfigServerのドキュメントを参照してください。
必要なすべての設定の更新が完了したら、 CTRL + X を押して、csf.confファイルを保存して閉じます。 、 Y 、および入力 。
CSFには、フィルターからIPアドレスを無視する機能もあります。 csf.allowファイルでIPアドレスを許可するのとは異なり、csf.denyファイルにIPアドレスがリストされている場合は無視できません。
sudo nano /etc/csf/csf.ignore
csf.confファイルのすべての設定を構成したので、次はルールセットを更新して変更を適用します。
これを行うには、次のコマンドを実行します。
sudo csf -r
上記のコマンドの実行が完了すると、次のスクリーンショットに示すようなメッセージが表示されます。エラーメッセージが表示されない場合は、おめでとうございます。これでサーバーのファイアウォール構成が更新され、使用できるようになりました。
このチュートリアルでは、Debian 11サーバーにConfigServerSecurity&Firewall(CSF)をインストールする方法を学びました。また、CSF構成ファイルを使用して許可リストとブロックリストの両方にIPを追加し、ファイアウォールルールを作成する方法も学習しました。
問題が発生した場合は、いつでもConfigServerファイアウォールのドキュメントを参照して詳細を確認できます。