Debian/Ubuntu に Config Server Firewall (CSF) をインストールする方法
ConfigServer と Security Firewall (CSF と略称) は、Linux システム用に設計されたオープンソースの高度なファイアウォールです。ファイアウォールの基本機能を提供するだけでなく、ログイン/侵入検出、エクスプロイト チェック、死亡保護の ping などの幅広いアドオン機能も提供します。
さらに、cPanel、Webmin、Vesta CP、CyberPanel、DirectAdmin などの広く使用されているコントロール パネルの UI 統合も提供します。サポートされている機能とオペレーティング システムの完全なリストは、ConfigServer の公式 Web サイトでご覧いただけます。
このガイドでは、Debian と Ubuntu での ConfigServer Security & Firewall (CSF) のインストールと構成について説明します。 です。
ステップ 1: Debian および Ubuntu に CSF ファイアウォールをインストールする
まず、CSF ファイアウォールのインストールを開始する前に、いくつかの依存関係をインストールする必要があります。端末でパッケージ インデックスを更新します。
sudo apt update
次に、次のように依存関係をインストールします。
sudo apt install wget libio-socket-ssl-perl git perl iptables libnet-libidn-perl libcrypt-ssleay-perl libio-socket-inet6-perl libsocket6-perl sendmail dnsutils unzip
これで問題が解決したら、次のステップに進むことができます。
CSF はデフォルトの Debian および Ubuntu リポジトリに含まれていないため、手動でインストールする必要があります。続行するには、次の wget コマンドを使用して、すべてのインストール ファイルを含むCSF tarball ファイルをダウンロードします。
wget http://download.configserver.com/csf.tgz
これにより、csf.tgz という圧縮ファイルがダウンロードされます。
次に、圧縮ファイルを解凍します。
tar -xvzf csf.tgz
これにより、csf というフォルダーが作成されます。
ls -l
次に、csf フォルダに移動します。
cd csf
次に、表示されているインストール スクリプトを実行して、CSF ファイアウォールをインストールします。
sudo bash install.sh
すべてがうまくいけば、次のような出力が得られるはずです。
この時点でCSFがインストールされます。ただし、必要な iptables がロードされていることを確認する必要があります。これを実現するには、次のコマンドを実行します。
sudo perl /usr/local/csf/bin/csftest.pl
ステップ 2: Debian および Ubuntu で CSF ファイアウォールを構成する
追加の構成が必要です。 次に、CSF を有効にするためにいくつかの設定を変更する必要があります。したがって、csf.conf 構成ファイルに移動します。
sudo nano /etc/csf/csf.conf
以下に示すように、TESTING ディレクティブを “1” から “0” に編集します。
TESTING = "0"
次に、RESTRICT_SYSLOG ディレクティブを「3」 に設定して、rsyslog/syslog へのアクセスを RESTRICT_SYSLOG_GROUP のメンバーのみに制限します。
RESTRICT_SYSLOG = "3"
次に、TCP_IN、TCP_OUT、UDP_IN を見つけて、TCP ポートと UDP ポートを開くことができます。 および UDP_OUT ディレクティブ。
デフォルトでは、次のポートが開きます。
TCP_IN = "20,21,22,25,53,80,110,143,443,465,587,993,995"
TCP_OUT = "20,21,22,25,53,80,110,113,443,587,993,995"
UDP_IN = "20,21,53,80,443"
UDP_OUT = "20,21,53,113,123"
これらすべてのポートを開く必要はない可能性があり、サーバーのベスト プラクティスでは、使用しているポートのみを開くことが求められます。不要なポートをすべて削除し、システム上で実行されているサービスで使用されるポートは残しておくことをお勧めします。
必要なポートの指定が完了したら、図に示すようにCSFをリロードします。
sudo csf -r
サーバー上で定義されているすべての IP テーブル ルールを一覧表示するには、次のコマンドを実行します。
sudo csf -l
次のようにして、起動時に CSF ファイアウォールを起動して有効にすることができます。
sudo systemctl start csf
sudo systemctl enable csf
次に、ファイアウォールが実際に実行されていることを確認します。
sudo systemctl status csf
ステップ 3: CSF ファイアウォールでの IP アドレスのブロックと許可
ファイアウォールの重要な機能の 1 つは、IP アドレスによるサーバーへのアクセスを許可またはブロックする機能です。 CSF を使用すると、次の設定ファイルを変更することで、IP アドレスをホワイトリスト (許可)、ブラックリスト (拒否) または無視することができます。
- csf.allow
- csf.拒否
- csf.ignore
CSF で IP アドレスをブロックする
IP アドレスをブロックするには、csf.deny 設定ファイルにアクセスするだけです。
sudo nano /etc/csf/csf.deny
次に、ブロックする IP アドレスを指定します。次のように、IP アドレスを 1 行ずつ指定できます。
192.168.100.50
192.168.100.120
または、CIDR 表記を使用してサブネット全体をブロックすることもできます。
192.168.100.0/24
CSF で IP アドレスを許可する
Iptables を介して IP アドレスを許可し、すべてのフィルターまたはブロックから IP アドレスを除外するには、csf.allow 構成ファイルを編集します。
sudo nano /etc/csf/csf.allow
IP アドレスを行ごとにリストすることも、IP をブロックするときに前に示したようにCIDR アドレス指定を使用することもできます。
注: IP アドレスは、csf.deny 構成ファイルで明示的に定義されている場合でも許可されます。 IP アドレスがブロックまたはブラックリストに登録されていることを確認するには、その IP アドレスが csf.allow ファイルにリストされていないことを確認してください。
CSF で IP アドレスを除外する
さらに、CSF では、IPtable またはフィルタから IP アドレスを除外する機能が提供されます。 csf.ignore ファイル内のすべての IP アドレスは、iptables フィルターから除外されます。 csf.deny ファイルで指定されている場合にのみブロックできます。
IP アドレスをフィルタから除外するには、csf.ignore ファイルにアクセスします。
sudo nano /etc/csf/csf.ignore
ここでも、IP を行ごとにリストすることも、CIDR 表記を使用することもできます。
結論
これで今日のガイドは終わりです。これで、CSF ファイアウォールを問題なくインストールして設定できるようになりました。