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でお試しください!