ConfigServerセキュリティをインストールして設定するLinuxのファイアウォール(CSF)


IT関連の求人情報をどこでも見れば、セキュリティ専門家に対する安定した需要に気付くでしょう。これは、サイバーセキュリティが興味深い研究分野であるだけでなく、非常に有利な分野でもあることを意味します。

そのことを念頭に置いて、この記事では ConfigServer Security&をインストールして設定する方法を説明します。ファイアウォール(略して CSF とも呼ばれます)、Linux用の本格的なセキュリティスイート、およびいくつかの典型的なユースケースを共有します。これで、ファイアウォールと侵入/ログイン失敗検出システムとして CSF を使用して、担当のサーバーを強化することができます。

それ以上の作業をせずに、始めましょう。

LinuxでのCSFのインストールと設定

はじめに、 Perl および libwww が、サポートされているディストリビューションのいずれかに CSF をインストールするための前提条件であることに注意してください( RHEL >と CentOS openSUSE Debian Ubuntu )。これはデフォルトで利用可能であるはずなので、次のステップの1つが致命的なエラーを返さない限り、あなたの側で必要な処置はありません(その場合は、パッケージ管理システムを使って足りない依存関係をインストールします)。

# yum install perl-libwww-perl
# apt install libwww-perl
# cd /usr/src
# wget https://download.configserver.com/csf.tgz
# tar xzf csf.tgz
# cd csf

プロセスのこの部分では、すべての依存関係がインストールされていることを確認し、ウェブインターフェースに必要なディレクトリ構造とファイルを作成し、現在開いているポートを検出して、 csf lfd <を再起動します。初期設定を終えた後の/ strong>デーモン。

# 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

CSFを実行して設定する場合は firewalld を無効にします。

# systemctl stop firewalld
# systemctl disable firewalld

TESTING = 1 TESTING = 0 に変更します(そうしないと、 lfd デーモンの起動に失敗します)。許可されている受信ポートと送信ポートをカンマでリストします。次の出力に示すように、 /etc/csf/csf.conf にリストされたリスト(それぞれ TCP_IN TCP_OUT

# 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"

設定に問題がなければ、変更を保存してコマンドラインに戻ります。

# systemctl restart {csf,lfd}
# systemctl enable {csf,lfd}
# systemctl is-active {csf,lfd}
# csf -v

これで、次に説明するように、ファイアウォールと侵入検知ルールの設定を開始する準備が整いました。

CSFと侵入検知ルールの設定

まず、現在のファイアウォールのルールを次のように調べます。

# csf -l

次のようにしてそれらを停止または再ロードすることもできます。

# csf -f
# csf -r

それぞれ。これらのオプションを忘れずに覚えておいてください。特に変更を加えて csf lfd を再起動した後に確認する必要があります。

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アドレスに関連する既存の許可規則と拒否規則がどのように削除されるかに注意してください。

サーバーの用途によっては、着信接続をポート単位で安全な数に制限したい場合があります。これを行うには、 /etc/csf/csf.conf を開き、 CONNLIMIT を検索します。複数のポートを指定できます。接続ペアはカンマで区切ります。例えば、

CONNLIMIT = "22;2,80;10"

同じ送信元からTCPポート 22 および 80 への受信接続は、それぞれ 2 および 10 のみ許可されます。

選択できるアラートの種類はいくつかあります。 /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 : The main configuration file for controlling CSF.
  • csf.allow : The list of allowed IP’s and CIDR addresses on the firewall.
  • csf.deny : The list of denied IP’s and CIDR addresses on the firewall.
  • csf.ignore : The list of ignored IP’s and CIDR addresses on the firewall.
  • csf.*ignore : The list of various ignore files of users, IP’s.

CSFファイアウォールを削除します。

CSF ファイアウォールを完全に削除したい場合は、 /etc/csf/uninstall.sh ディレクトリにある次のスクリプトを実行してください。

# /etc/csf/uninstall.sh

上記のコマンドは、すべてのファイルとフォルダを使用してCSFファイアウォールを完全に消去します。

この記事では、 CSF をファイアウォールおよび侵入検知システムとしてインストール、設定、および使用する方法について説明しました。その他の機能については csf.conf に概説されています。

たとえば、Webホスティング事業を営んでいる場合は、 CSF をCpanel、 WHM 、有名なWebminなどの管理ソリューションと統合できます。

この記事について何か質問や意見はありますか。下のフォームを使って私たちにメッセージを送ってください。返信お待ちしています!