はじめに
CSFは、ステートフルパケットインスペクション(SPI)ファイアウォール、Linuxサーバー用のログイン/侵入検知およびセキュリティアプリケーションです。
tは、ファイアウォール自体(CSF)で構成されており、包括的で、わかりやすく、簡単で、柔軟に構成できます。
また、CSFを完全に補完するログイン失敗デーモン(LFD)もあります。このLFDは常に実行され、定期的(X秒ごと)に最新のログファイルエントリをスキャンして、サーバーに対するログイン試行が短時間で継続的に失敗するかどうかを確認します。このような試みは「ブルートフォース攻撃」と呼ばれることが多く、デーモンプロセスはこのようなパターンに非常に迅速に対応し、問題のあるIPを迅速にブロックします。
CentOS8にCSFをインストールする
予想通り、CSFは公式のCentOSリポジトリでは利用できません。ただし、Perlに強くリンクされており、この言語はCentOS 8でサポートされているため、インストールすることは可能です。
したがって、ターミナルセッションを開き、CentOS8を更新します
sudo dnf install
最後に、 Perlをインストールします エレメンタリーモジュールや、後で使用する vimなどのツール
sudo dnf install @perl curl tar vim
インストールの最後に、CentOS8に他の追加のPerlモジュールをインストールする必要があります
sudo dnf install perl-libwww-perl.noarch perl-LWP-Protocol-https.noarch perl-GDGraph
次のコマンドを実行して、Perlのインストールを確認できます。
[root@unixcop ~]# perl -v
This is perl 5, version 26, subversion 3 (v5.26.3) built for x86_64-linux-thread-multi
(with 55 registered patches, see perl -V for more detail)
Copyright 1987-2018, Larry Wall
Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.
Complete documentation for Perl, including FAQ lists, should be found on
this system using "man perl" or "perldoc perl". If you have access to the
Internet, point your browser at http://www.perl.org/, the Perl Home Page.
[root@unixcop ~]#
これで、curlコマンドを使用してCSFをダウンロードできます。
[root@unixcop ~]# curl -O https://download.configserver.com/csf.tgz
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 2244k 100 2244k 0 0 655k 0 0:00:03 0:00:03 --:--:-- 655k
[root@unixcop ~]#
お気づきのように、かなり軽量です。解凍します。
tar xvfz csf.tgz
したがって、生成されたフォルダにアクセスし、その中で installというインストールスクリプトを実行します。 。sh
cd csf
sudo sh install.sh
これにより、インストールプロセスが開始され、デフォルトの構成が適用されます。
CentOS8でのCSFの構成
インストールすると、CFSはいくつかの非常に優れたデフォルト設定を適用しますが、私たち一人一人が行うべき微調整がいくつかあります。
ファイルは/etc/csf/csf.conf 念のため、編集する前にバックアップする必要があります。
sudo vim /etc/csf/csf.conf
そして、このファイルには、非常によく文書化されたパラメータがたくさんあります。そして、最も重要なセクションの1つは、着信接続と発信接続の開いているポートを一覧表示するセクションです。
この同じファイルで、次の値を変更することでCSFを有効または無効にできます。
TESTING = "1"
TESTING = "0"
このようにして、プログラムを開始する準備ができていることをプログラムに示します。
変更を保存してファイルを閉じます。
これで、CSFサービスを開始できます。
sudo systemctl enable --now csf
また、サービスのステータスをチェックして、サービスが正常に実行されているかどうかを確認することをお勧めします。
[root@unixcop csf]# sudo systemctl enable --now csf
[root@unixcop csf]# sudo systemctl status csf
● csf.service - ConfigServer Firewall & Security - csf
Loaded: loaded (/usr/lib/systemd/system/csf.service; enabled; vendor preset: disabled)
Active: active (exited) since Mon 2021-07-26 17:43:04 EET; 17s ago
Process: 20176 ExecStart=/usr/sbin/csf --initup (code=exited, status=0/SUCCESS)
Main PID: 20176 (code=exited, status=0/SUCCESS)
Jul 26 17:43:03 unixcop csf[20176]: ACCEPT all opt in * out lo ::/0 -> ::/0
Jul 26 17:43:03 unixcop csf[20176]: LOGDROPOUT all opt in * out !lo ::/0 -> ::/0
Jul 26 17:43:03 unixcop csf[20176]: LOGDROPIN all opt in !lo out * ::/0 -> ::/0
Jul 26 17:43:03 unixcop csf[20176]: csf: FASTSTART loading DNS (IPv4)
Jul 26 17:43:03 unixcop csf[20176]: csf: FASTSTART loading DNS (IPv6)
Jul 26 17:43:03 unixcop csf[20176]: LOCALOUTPUT all opt -- in * out !lo 0.0.0.0/0 -> 0.0.0.0/0
Jul 26 17:43:03 unixcop csf[20176]: LOCALINPUT all opt -- in !lo out * 0.0.0.0/0 -> 0.0.0.0/0
Jul 26 17:43:03 unixcop csf[20176]: LOCALOUTPUT all opt in * out !lo ::/0 -> ::/0
Jul 26 17:43:03 unixcop csf[20176]: LOCALINPUT all opt in !lo out * ::/0 -> ::/0
Jul 26 17:43:04 unixcop systemd[1]: Started ConfigServer Firewall & Security - csf.
[root@unixcop csf]#
CSFの実行中に開いているポートを確認することもできます。
[root@unixcop csf]# sudo csf -p
Ports listening for external connections and the executables running behind them:
Port/Proto Open Conn PID/User Command Line Executable
22/tcp 4/6 1 (910/root) /usr/sbin/sshd -D -oCiphers=aes256-g... /usr/sbin/sshd
323/udp -/- - (853/chrony) /usr/sbin/chronyd /usr/sbin/chronyd
[root@unixcop csf]#
CentOSのCSFファイアウォールでUIを有効にする
CSFファイアウォールにはスタンドアロンUIが付属しています。これはデフォルトで無効になっています。 CentOSで、次の要件をインストールします。yum install perl-IO-Socket-SSL perl-Net-SSLeay perl-Net-LibIDN perl-IO-Socket-INET6 perl-Socket6
yum install perl-IO-Socket-SSL perl-Net-SSLeay perl-Net-LibIDN perl-IO-Socket-INET6 perl-Socket
CSF構成ファイルの編集
vim /etc/csf/csf.conf
UI =“ 0”を置き換えます UI =“ 1”
必要に応じて、次の設定を変更してください。
UI_PORT = "6666"
UI_USER = "username"
UI_PASS = "password"
デフォルトでは、ホワイトリストに登録されたIPのみがUIにアクセスでき、IPをホワイトリストに登録して実行できます
echo "YOUR_IP_ADDR" >> /etc/csf/ui/ui.allow
すべてのIPアドレスからのCSFUIを許可する場合は、csf.confでUI_ALLOWを0に設定します
UI_ALLOW = "0"
CSFは自己署名SSLを使用します。SSL証明書がある場合は、それを使用できます。 SSL証明書はフォルダで利用できます
/etc/csf/ui/
CSFUIにLetsEncryptFreeSSL証明書を使用するには、シンボリックリンクをsslcertに設定します。
cd /etc/csf/ui
mv server.key server.key.old
mv server.crt server.crt.old
ln -s /etc/letsencrypt/live/DOMAIN/fullchain.pem server.crt
ln -s /etc/letsencrypt/live/DOMAIN/privkey.pem server.key
次に、CSFとLDFを再起動します
systemctl restart lfd
systemctl restart csf
これにより、最初にユーザー認証のプロンプトが表示されます。ログインに成功すると、以下のような画面が表示されます。
結論
これで、CentOS8にConfigServer Firewallをインストールする方法を学びました。プロセスは複雑ではありませんが、プロセスを完了するには追加の手順が必要です。