GNU/Linux >> Linux の 問題 >  >> Linux

Rocky Linux8にConfigServerFirewall(CSF)をインストールする方法

CSF、「ConfigServerFirewall」とも呼ばれます Linuxオペレーティングシステム用のステートフルパケットインスペクション(SPI)ファイアウォールです。基本的なファイアウォール機能に加えて、ログイン、侵入、フラッド検出などの他のセキュリティ機能を提供します。 CSFをDirectAdmin、cPanel、およびWebminと統合することもできます。 CSFを使用すると、ポートスキャン、SYNフラッド、ログインブルートフォース攻撃など、さまざまな種類の攻撃を検出できます。

この投稿では、RockyLinux8にCSFファイアウォールをインストールして構成する方法を紹介します。

前提条件

  • Atlantic.NetクラウドプラットフォームでRockyLinux8を実行しているサーバー
  • サーバーで構成されているrootパスワード

ステップ1-Atlantic.Netクラウドサーバーを作成する

まず、Atlantic.Netクラウドサーバーにログインします。 2GB以上のRAMを搭載したオペレーティングシステムとしてRockyLinux8を選択して、新しいサーバーを作成します。 SSH経由でクラウドサーバーに接続し、ページの上部で強調表示されているクレデンシャルを使用してログインします。

サーバーにログインしたら、次のコマンドを実行して、ベースシステムを最新の利用可能なパッケージで更新します。

dnf update -y

ステップ2– RockyLinux8にCSFをインストールする

CSFはPerlで記述されているため、必要なすべてのPerlモジュールをシステムにインストールする必要があります。次のコマンドですべてをインストールできます:

dnf install @perl perl-libwww-perl.noarch perl-LWP-Protocol-https.noarch -y

必要なすべてのモジュールをインストールした後、次のコマンドを使用して最新バージョンのCSFをダウンロードします。

wget https://download.configserver.com/csf.tgz

ダウンロードが完了したら、次のコマンドを使用してダウンロードしたファイルを抽出します。

tar xzf csf.tgz

次に、抽出したディレクトリに移動し、次のコマンドを使用してCSFをインストールします。

cd csf
sh install.sh

CSFをインストールすると、次の出力が得られます。

Don't forget to:
1. Configure the following options in the csf configuration to suite your server: TCP_*, UDP_*
2. Restart csf and lfd
3. Set TESTING to 0 once you're happy with the firewall, lfd will not run until you do so

Adding current SSH session IP address to the csf whitelist in csf.allow:
Adding 27.61.171.115 to csf.allow only while in TESTING mode (not iptables ACCEPT)
*WARNING* TESTING mode is enabled - do not forget to disable it in the configuration
'lfd.service' -> '/usr/lib/systemd/system/lfd.service'
'csf.service' -> '/usr/lib/systemd/system/csf.service'
Created symlink /etc/systemd/system/multi-user.target.wants/csf.service → /usr/lib/systemd/system/csf.service.
Created symlink /etc/systemd/system/multi-user.target.wants/lfd.service → /usr/lib/systemd/system/lfd.service.
Created symlink /etc/systemd/system/firewalld.service → /dev/null.
'/etc/csf/csfwebmin.tgz' -> '/usr/local/csf/csfwebmin.tgz'

Installation Completed

次に、必要なすべてのiptablesモジュールが使用可能であることを確認します。

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のバージョンを確認できます。

csf -v

次の出力が得られます:

csf: v14.12 (generic)
*WARNING* TESTING mode is enabled - do not forget to disable it in the configuration

ステップ3–CSFの構成

nano /etc/csf/csf.conf

TESTING =“ 1”をTESTING =“ 0”に変更し、要件に応じて許可された着信ポートと発信ポートを追加します。

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

終了したらファイルを保存して閉じ、CSFおよびLFDサービスを開始して有効にします。

systemctl start csf lfd
systemctl enable csf lfd

次のコマンドを使用して、CSFのステータスを確認できます。

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 Wed 2021-11-17 08:41:05 UTC; 3s ago
  Process: 13236 ExecStart=/usr/sbin/csf --initup (code=exited, status=0/SUCCESS)
 Main PID: 13236 (code=exited, status=0/SUCCESS)
    Tasks: 0 (limit: 11411)
   Memory: 0B
   CGroup: /system.slice/csf.service

Nov 17 08:41:05 rockylinux csf[13236]: ACCEPT  all opt    in * out lo  ::/0  -> ::/0
Nov 17 08:41:05 rockylinux csf[13236]: LOGDROPOUT  all opt    in * out !lo  ::/0  -> ::/0
Nov 17 08:41:05 rockylinux csf[13236]: LOGDROPIN  all opt    in !lo out *  ::/0  -> ::/0
Nov 17 08:41:05 rockylinux csf[13236]: csf: FASTSTART loading DNS (IPv4)
Nov 17 08:41:05 rockylinux csf[13236]: csf: FASTSTART loading DNS (IPv6)
Nov 17 08:41:05 rockylinux csf[13236]: LOCALOUTPUT  all opt -- in * out !lo  0.0.0.0/0  -> 0.0.0.0/0
Nov 17 08:41:05 rockylinux csf[13236]: LOCALINPUT  all opt -- in !lo out *  0.0.0.0/0  -> 0.0.0.0/0
Nov 17 08:41:05 rockylinux csf[13236]: LOCALOUTPUT  all opt    in * out !lo  ::/0  -> ::/0
Nov 17 08:41:05 rockylinux csf[13236]: LOCALINPUT  all opt    in !lo out *  ::/0  -> ::/0
Nov 17 08:41:05 rockylinux systemd[1]: Started ConfigServer Firewall & Security - csf.

次のコマンドを使用して、CSFの実行中に開いているポートを確認することもできます。

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     (709/root)           /usr/sbin/sshd -D -oCiphers=aes256-g... /usr/sbin/sshd
80/tcp     4/6  -     (8954/root)          /usr/sbin/httpd -DFOREGROUND            /usr/sbin/httpd
80/tcp     4/6  -     (8957/apache)        /usr/sbin/httpd -DFOREGROUND            /usr/sbin/httpd
80/tcp     4/6  -     (8958/apache)        /usr/sbin/httpd -DFOREGROUND            /usr/sbin/httpd
80/tcp     4/6  -     (8959/apache)        /usr/sbin/httpd -DFOREGROUND            /usr/sbin/httpd
80/tcp     4/6  -     (9172/apache)        /usr/sbin/httpd -DFOREGROUND            /usr/sbin/httpd
323/udp    -/-  -     (552/chrony)         /usr/sbin/chronyd                       /usr/sbin/chronyd

ステップ4–CSFの使用方法

すべてのCSFルールをフラッシュするには、次のコマンドを実行します。

csf -f

CSFファイアウォールをリロードするには、次のコマンドを実行します。

csf -r

特定のIPからの着信接続を許可するには、次のコマンドを実行します。

csf -a remote-ip-address

特定のIPからの接続を拒否するには、次のコマンドを実行します。

csf -d remote-ip-address

csf.denyを編集することもできます およびcsf.allow ファイアウォールで許可および拒否されたIPのリストを定義するファイル。

ステップ5–CSFUIを有効にする

CSFは、ファイアウォールを管理するためのWebベースのインターフェイスも提供します。デフォルトでは無効になっています。

CSF UIを有効にする前に、次のコマンドを使用して必要なモジュールをインストールします。

dnf install perl-IO-Socket-SSL perl-Net-SSLeay perl-IO-Socket-INET6 perl-Socket -y

次に、CSF構成ファイルを編集します:

nano /etc/csf/csf.conf

UIを有効にし、リスニングポートを定義し、管理者のユーザー名とパスワードを次のように設定します。

# 1 to enable, 0 to disable web ui 
UI = "1"

# Set port for web UI. The default port is 6666, but
# I change this to 1025 to easy access. Default port create some issue
# with popular chrome and firefox browser (in my case) 

UI_PORT = "8080"

# Leave blank to bind to all IP addresses on the server 
UI_IP = ""

# Set username for authetnication 
UI_USER = "admin"

# Set a strong password for authetnication 
UI_PASS = "securepassword"

UI_ALLOW = "0"

ファイルを保存して閉じてから、CSFおよびLFDサービスを再起動して変更を適用します。

systemctl restart lfd
systemctl restart csf

ステップ6–CSFUIにアクセスする

次に、Webブラウザーを開き、URL https:// your-server-ip:8080を使用してCSFUIにアクセスします。 。 CSFログインページが表示されます:

管理者のユーザー名とパスワードを入力し、ログインをクリックします。 ボタン。次の画面にCSFWebインターフェイスが表示されます。

ステップ7–CSFファイアウォールを削除する

サーバーからCSFファイアウォールを完全に削除する場合は、次のスクリプトを実行するだけです。

bash /etc/csf/uninstall.sh

これにより、CSFによって作成されたすべてのファイル、ディレクトリ、およびルールを含むCSFファイアウォールが削除されます。

結論

上記のガイドでは、Rocky Linux8にCSFとCSFUIをインストールする方法について説明しました。また、CSFで特定のIPアドレスを禁止および禁止解除する方法についても説明しました。これで、サーバーにCSFを実装し、さまざまなタイプの攻撃から保護することができます。 Atlantic.NetのVPSでお試しください!


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

  2. LinuxにCSFファイアウォールをインストールして構成する方法

  3. RockyLinux8にPython3.10をインストールする方法

  1. RockyLinux8.4のインストール方法

  2. Linux VPSにConfigServerファイアウォールをインストールするにはどうすればよいですか?

  3. 仮想化 Linux サーバーのインストール方法

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

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

  3. CentOS 7にCSF(Config Server Firewall)をインストールして構成する方法