Config Server Firewall(またはCSF)は、Linux用の高度なファイアウォールおよびプロキシサーバーです。その主な目的は、システム管理者がローカルホストと接続されたコンピューター間のアクセスを制御できるようにすることです。このソフトウェアは、悪意のあるアクティビティがないかネットワークトラフィックを監視するように構成することもできます。
ネットワークアドレス変換(NAT)サービス、プロキシサービス、独自のDNSサーバーでのDNSリゾルバークエリのキャッシュ、またはキャッシュしないことに加えて、あらゆる種類のフィルタリングを可能にする「ファイアウォールポリシー」などの多くの機能を提供します。また、ファイアウォールポリシーの管理や、NATサービスの拡張など、特定のタスクに対してさまざまなレベルの特権を持つ認証済みユーザーをサポートします。また、ログイン、ログアウト、ファイルの変更、追加、その他の種類のイベントなど、システムで発生するすべての種類のイベントをログに記録できる優れた「システムロガー」も備えています。
このソフトウェアは、英語、ポルトガル語、フランス語など、いくつかの言語で利用できます。
ソフトウェアのソースコードは、GNU GeneralPublicLicenseの条件の下で無料で入手できます。
現在、ほとんどのセキュリティ製品で最も一般的な攻撃経路は、アプリケーションと構成ファイルの脆弱性です。 CSFは、そのような欠陥を悪用することを困難にします。オープンソースビジネスを運営することを計画している場合、またはWebアプリケーションのバックエンドとしてLinuxシステムを使用することを計画している場合は、Config Server Firewall(CSF)のインストールを検討する必要があります。
この記事では、DebianLinuxにCSFサーバーをインストールして構成する方法を示します。このガイドはDebianバージョン10および11で機能します。このガイドを読み終えると、基本的なCSFファイアウォールとプロキシサーバーをオンにできるようになります。
前提条件
- この記事は、root権限を持つDebian10またはDebian11Linuxシステムを使用していることを前提としています。
- このガイドは、サーバー上でインターネット接続が機能していることを前提としています。
- このガイドは、Linuxとコマンドラインの基本的な知識があることを前提としています。
システムの更新
パッケージをインストールする前に、システムを更新することをお勧めします。次のコマンドを実行して、システムを更新しましょう。
sudo apt update &&sudo apt upgrade -y
これらのコマンドは、リポジトリに利用可能な更新があるかどうかを確認し、それらをインストールします。次に、次のコマンドを実行して、必要な依存関係をインストールする必要があります。ここでインストールする依存関係は、デフォルトではインストールされません。手動でインストールする必要があります。これは、特定のプログラムに追加機能を提供し、常に必要なわけではないためです。
sudo apt install wget libio-socket-ssl-perl git perl iptables -ysudo apt install libnet-libidn-perl libcrypt-ssleay-perl -ysudo apt install libio-socket-inet6-perl libsocket6-perl sendmail dnsutils unzip --y
サンプル出力:
Debian11へのCSFファイアウォールのインストール
必要なすべての依存関係がインストールされたので、DebianLinuxにCSFをインストールできます。インストールプロセスは非常に簡単ですが、段階的に見ていきましょう。
DebianリポジトリにはデフォルトでCSFパッケージが含まれていません。 CSFを機能させるには、CSFパッケージを手動でダウンロードしてインストールする必要があります。
CSFアーカイブが抽出されると、csfという名前の新しいフォルダーが作成されます。 csfディレクトリには、DebianサーバーにCSFをインストールするために必要なすべてのファイルとインストールが含まれています。
ls -lコマンドを実行して、新しいディレクトリが作成されたかどうかを確認します。
ls -l </ pre>1. wget http://download.configserver.com/csf.tgzコマンドを実行して、CSFパッケージを現在の作業ディレクトリにダウンロードします。
wget http://download.configserver.com/csf.tgz
![]()
2.ダウンロードしたパッケージを入手したら、tar -xvzf csf.tgzコマンドを実行して、現在の作業ディレクトリにパッケージを抽出します。 tarはテープアーカイブの略で、ファイルのアーカイブを作成する方法です。 xは抽出を意味し、vは詳細操作を意味します。 zはgzip圧縮用で、ファイルが圧縮されていることを意味します。 fはアーカイブファイル名を表し、この場合はcsf.tgzです。
tar -xvzf csf.tgz
![]()
CSFアーカイブが抽出されると、csfという名前の新しいフォルダーが作成されます。 csfディレクトリには、DebianサーバーにCSFをインストールするために必要なすべてのファイルとインストールが含まれています。
3. ls -lコマンドを実行して、新しいディレクトリが作成されたかどうかを確認します。
ls -l </ pre>
![]()
4. csfディレクトリに移動し、sudo bash install.shコマンドを実行して、システムにCSFをインストールします。
install.shは、最新のCSFパッケージを自動的にダウンロードしてシステムにインストールするインストールスクリプトです。このスクリプトは、必要な依存関係のダウンロード、抽出、インストールなどに関連するすべてのハードワークを実行します。
インストールスクリプトは、システムへのプログラムまたはパッケージのインストールプロセスを自動化する実行可能テキストファイルです。スクリプトは通常、インストールする必要があるものをチェックしてから、システムにダウンロードしてインストールします。これにより、インストールと構成にかかる時間が大幅に短縮されるだけでなく、手動での構成に関連するエラーも減少します。
cd csf &&sudo bash install.shインストールプロセスには数分かかるので、完了するのを待ちましょう。インストールが完了すると、次の出力が表示されます。
![]()
この時点で、Debian10LinuxサーバーにCSFが正しくインストールされています。ただし、システムでiptablesモジュールが使用可能かどうかを確認する必要があります。 iptablesは、CSFルールとファイアウォールの作成に使用されます。
5. sudo perl /usr/local/csf/bin/csftest.plコマンドを実行して、iptablesモジュールが使用可能かどうかを確認します。
sudo perl /usr/local/csf/bin/csftest.pl以下のような出力が得られたら、準備は万端です。
![]()
CSFファイアウォールポリシーの構成
Debian LinuxサーバーにCSFをインストールしたので、次はそれを構成します。このセクションでは、いくつかの基本的なCSFファイアウォールポリシーを構成する方法について説明します。
csf.conf構成ファイルは/etc/ csfディレクトリーにあり、CSFファイアウォールのポリシーとルールを定義するために使用されます。
1. sudo nano /etc/csf.confコマンドを実行すると、csf.conf構成ファイルが開きます。これにより、このファイルの内容を編集および表示できるようになります
sudo nano /etc/csf/csf.conf最初に行う必要があるのは、開いているポートを構成することです。オープンポートは、ユーザーがバックエンドに到達するために使用できるポートを定義する方法です。
[受信を許可する]セクションと[送信を許可する]セクションまで下にスクロールして、開いているすべてのポートを確認します。最も一般的に使用されるポートはデフォルトで開かれています。ポートを介した接続を許可する場合は、開いているポートのリストにポート番号を手動で追加することで、追加のポートを開くことができます。
ただし、開いているポートが多いほど、実行するリスクが高くなることを忘れないでください。あなたはあなたのサーバーが悪者のために座っているアヒルになることを望まない。したがって、これらの開いているポートは常に管理下に置き、一度に開いているポートが多すぎないようにしてください。
![]()
2.デフォルトでは、テスト は1に設定されています。テストが終了したら、これを0に変更する必要があります。
前
![]()
後
![]()
3. ConnLimit ディレクティブCSFは、特定のポートへの着信接続の数を特定の値に制限することもできます。これは、一度に1つのポートへの同時接続の数を制限する場合に役立ちます。
たとえば、22; 1; 443; 10は、特定の時間にポート22と443への特定の接続のみを許可するようにファイアウォールを設定します。この値は、ポート22への同時着信接続の数を一度に1つだけに制限し、ポート443への同時着信接続の制限を一度に10に設定します。
![]()
3. PORTFLOOD ディレクティブは、時間間隔ごとにブロックする必要がある単一のIPアドレスからの連続した接続試行の数を指定するために使用されます。たとえば、22; tcp; 3; 3600は、ポート22で3回以上の連続した接続試行が単一のIPから検出された場合、60分(3600秒)の間接続をブロックするようにファイアウォールを設定します。ブロックされたIPは、3600秒が経過すると自動的にブロック解除されます。
![]()
4.完了したら、csf.conf構成ファイルを保存して閉じます。これで、SFファイアウォールをリロードして変更を適用できます。
sudo csf -r
![]()
sudo csf -lコマンドを実行して、変更がファイアウォールに同期されているかどうかを確認します。
sudo csf -l </ pre>
![]()
結論
この記事では、DebianLinuxサーバーにCSFをインストールして設定する方法を学びました。 CSFは、ファイアウォールのポリシーとルールを簡単に構成できる比較的新しいファイアウォールツールです。 CSFは、そこにある最良のファイアウォールソリューションではないかもしれませんが、新しいLinuxファイアウォール管理者にとっては良い出発点です。質問やフィードバックがある場合はコメントを残してください。
Debian