Linux での ConfigServer セキュリティおよびファイアウォール (CSF) のインストールと構成
どこの IT 関連の求人情報を見ても、セキュリティの専門家に対する安定した需要があることに気づくでしょう。これは、サイバーセキュリティが興味深い研究分野であるだけでなく、非常に儲かる分野であることを意味します。
これを念頭に置いて、この記事では、ConfigServer Security & Firewall (略してCSF とも呼ばれます) をインストールして構成する方法について説明します。 Linux について説明し、いくつかの典型的な使用例を紹介します。その後、CSF をファイアウォールおよび侵入/ログイン障害検出システムとして使用して、担当するサーバーを強化できるようになります。
それでは早速始めましょう。
Linux での CSF のインストールと構成
まず、サポートされているディストリビューション (RHEL) に CSF をインストールするには、Perl と libwww が前提条件であることに注意してください。 > およびCentOS、openSUSE、Debian、およびUbuntu)。これはデフォルトで使用できるはずなので、次の手順のいずれかで致命的なエラーが返されない限り、ユーザー側でアクションを行う必要はありません (その場合は、パッケージ管理システムを使用して不足している依存関係をインストールします)。
yum install perl-libwww-perl
apt install libwww-perl
ステップ 1 – CSF をダウンロードする
cd /usr/src
wget https://download.configserver.com/csf.tgz
ステップ 2 – CSF tarball を抽出する
tar xzf csf.tgz
cd csf
ステップ 3 – CSF インストール スクリプトを実行する
プロセスのこの部分では、すべての依存関係がインストールされていることを確認し、Web インターフェイスに必要なディレクトリ構造とファイルを作成し、現在開いているポートを検出して、csf と lfd< を再起動するよう通知します。初期設定が完了したら、 デーモンを追加します。
sh install.sh
perl /usr/local/csf/bin/csftest.pl
上記のコマンドの予想される出力は次のとおりです。
Testing ip_tables/iptable_filter...OK
Testing ipt_LOG...OK
Testing ipt_multiport/xt_multiport...OK
Testing ipt_REJECT...OK
Testing ipt_state/xt_state...OK
Testing ipt_limit/xt_limit...OK
Testing ipt_recent...OK
Testing xt_connlimit...OK
Testing ipt_owner/xt_owner...OK
Testing iptable_nat/ipt_REDIRECT...OK
Testing iptable_nat/ipt_DNAT...OK
RESULT: csf should function on this server
ステップ 4: ファイアウォールを無効にして CSF を構成する
ファイアウォールを実行している場合は無効にし、CSF を設定します。
systemctl stop firewalld
systemctl disable firewalld
TESTING="1"
を TESTING="0"
に変更し (そうしないと、lfd デーモンの起動に失敗します)、許可される受信と送信をリストします。以下の出力に示すように、/etc/csf/csf.conf 内のポートをカンマ区切りのリスト (それぞれTCP_IN と TCP_OUT) として /etc/csf/csf.conf に記述します。 :
Testing flag - enables a CRON job that clears iptables incase of
configuration problems when you start csf. This should be enabled until you
are sure that the firewall works - i.e. incase you get locked out of your
server! Then do remember to set it to 0 and restart csf when you're sure
everything is OK. Stopping csf will remove the line from /etc/crontab
#
lfd will not start while this is enabled
TESTING = "0"
Allow incoming TCP ports
TCP_IN = "20,21,22,25,53,80,110,143,443,465,587,993,995"
Allow outgoing TCP ports
TCP_OUT = "20,21,22,25,53,80,110,113,443,587,993,995"
設定に満足したら、変更を保存してコマンド ラインに戻ります。
ステップ 5 – CSF を再起動してテストする
systemctl restart {csf,lfd}
systemctl enable {csf,lfd}
systemctl is-active {csf,lfd}
csf -v
この時点で、次に説明するように、ファイアウォールと侵入検知ルールの設定を開始する準備が整いました。
CSF および侵入検知ルールのセットアップ
まず、次のように現在のファイアウォール ルールを検査します。
csf -l
次のコマンドを使用して、それらを停止したり、リロードしたりすることもできます。
csf -f
csf -r
それぞれ。これらのオプションは必ず覚えておいてください。これらのオプションは、特に変更を加えて csf と lfd を再起動した後に確認するために必要になります。
例 1 – IP アドレスの許可と禁止
192.168.0.10 からの受信接続を許可します。
csf -a 192.168.0.10
同様に、192.168.0.11 からの接続を拒否できます。
csf -d 192.168.0.11
必要に応じて、上記の各ルールを削除できます。
csf -ar 192.168.0.10
csf -dr 192.168.0.11
上記の -ar
または -dr
を使用すると、特定の IP アドレスに関連付けられた既存の許可ルールと拒否ルールがどのように削除されるかに注目してください。
例 2 – ソースごとに受信接続を制限する
サーバーの使用目的に応じて、受信接続をポートごとに安全な番号に制限することができます。これを行うには、/etc/csf/csf.conf を開き、CONNLIMIT を検索します。複数のポートを指定できます。カンマで区切られた接続ペア。例えば、
CONNLIMIT = "22;2,80;10"
同じ送信元から TCP ポート 22 と 80 への受信接続は、それぞれ 2 と 10 のみ許可されます。
例 3 – 電子メールによるアラートの送信
選択できるアラートの種類がいくつかあります。 /etc/csf/csf.conf で EMAIL_ALERT 設定を探し、関連するアラートを受信できるように "1"
に設定されていることを確認します。例えば、
LF_SSH_EMAIL_ALERT = "1"
LF_SU_EMAIL_ALERT = "1"
これにより、誰かが SSH 経由でログインに成功するか、su コマンドを使用して別のアカウントに切り替えるたびに、LF_ALERT_TO で指定されたアドレスにアラートが送信されます。
CSF 構成オプションと使用法
以下のオプションは、csf 構成を変更および制御するために使用されます。 csf のすべての設定ファイルは、/etc/csf ディレクトリにあります。次のファイルのいずれかを変更した場合は、変更を反映するために csf デーモンを再起動する必要があります。
- csf.conf : CSF を制御するための主要な設定ファイル。
- csf.allow : ファイアウォールで許可される IP アドレスと CIDR アドレスのリスト。
- csf.deny : ファイアウォール上で拒否された IP アドレスと CIDR アドレスのリスト。
- csf.ignore : ファイアウォール上で無視された IP アドレスと CIDR アドレスのリスト。
- csf.*ignore : ユーザー、IP のさまざまな無視ファイルのリスト。
CSF ファイアウォールを削除する
CSF ファイアウォールを完全に削除したい場合は、/etc/csf/uninstall.sh ディレクトリにある次のスクリプトを実行してください。
/etc/csf/uninstall.sh
上記のコマンドは、CSF ファイアウォールをすべてのファイルとフォルダーとともに完全に消去します。
まとめ
この記事では、 ファイアウォールおよび侵入検知システムとしてCSFをインストール、設定、使用する方法を説明しました。その他の機能の概要は csf.conf に記載されています。
たとえば、Web ホスティング ビジネスに携わっている場合は、CSF を Cpanel、WHM、または有名な Webmin などの管理ソリューションと統合できます。
この記事に関してご質問やコメントはありますか?以下のフォームを使用してお気軽にメッセージをお送りください。お返事おまちしております!