GNU/Linux >> Linux の 問題 >  >> Cent OS

CentOS 8にCSF(Config Server Firewall)をインストールする方法

はじめに

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をインストールする方法を学びました。プロセスは複雑ではありませんが、プロセスを完了するには追加の手順が必要です。


Cent OS
  1. CentOS8にTeamspeak3サーバーをインストールする方法

  2. Debian11にConfigServerFirewall(CSF)をインストールする方法

  3. CentOS7にCSFファイアウォールをインストールする方法

  1. CentOS7にMinecraftサーバーをインストールする方法

  2. CentOS8にNginxをインストールする方法

  3. CentOS8にPostgreSQLをインストールする方法

  1. CentOS8にMariaDBをインストールする方法

  2. CentOS7にFreeIPAサーバーをインストールする方法

  3. CentOS8にSambaサーバーをインストールする方法