CSFはConfigServerSecurityの略で、FirewallはLinuxオペレーティングシステム用の最も便利なオープンソースセキュリティアプリケーションの1つであり、Linuxサーバーのパケットインスペクションファイアウォール、ログインおよび侵入検知として使用されます。 CSFを使用すると、ブルートフォース攻撃などの多くのセキュリティ攻撃からサーバーを保護できます。 (LFD)ログイン失敗デーモンと呼ばれるサービスが付属しており、IPアドレスによるアクセスを制限して、ネットワークデーモンへのアクセスを防止するために、ユーザーアクティビティを監視して、ネットワークデーモンへの不正アクセスを防止します。そのため、特定のIPから多数の誤った試行が行われると、そのIPはサーバー上のすべてのサービスから即座に一時的にブロックされます。
ConfigServer Security&Firewallには、SSHログイン通知、過度の接続ブロッキング、mod_securityの失敗、疑わしいプロセスのレポートなどを提供する多くの機能が付属しています。
1)前提条件
CSFは任意のLinuxディストリビューションにインストールできますが、このチュートリアルでは、CentOS7.1を使用してCSFをインストールおよび構成します。
rootユーザーでCentos7サーバーにログインし、インターネットに接続してシステムを最新の更新で更新し、CSFに必要な依存パッケージをインストールしていることを確認します。
ログイン後、以下のコマンドを実行してシステムを更新します。
# yum update
次に、Centos 7でcsfを設定するために必要なperlモジュールをインストールするには、以下のコマンドを実行します。
# yum -y install perl perl-libwww-perl perl-LWP-Protocol-https perl-GDGraph wget unzip net-tools
2)CSFインストールパッケージをダウンロード
ConfigServer Security&Firewallパッケージをダウンロードするには、図のように/ usr /src/ディレクトリで次のコマンドを実行します。
# wget https://download.configserver.com/csf.tgz
アーカイブされたパッケージをダウンロードした後、次のコマンドを実行して、同じディレクトリ内にこれを抽出します。
# tar -xzf csf.tgz
次に、ディレクトリを抽出したフォルダに変更し、listコマンドを使用して、図のように内部構成およびインストールスクリプトを表示します。
3)ConfigServerセキュリティファイアウォールのインストール
CentOS 7へのCSFのインストールを開始するには、上記と同じディレクトリ内にあるインストールスクリプトを実行します。
図のように以下のコマンドを実行してみましょう。
# sh install.sh
インストールスクリプトは、基本的なperlモジュールとrootアクセスをチェックし、次に示すように、インストールプロセス中にいくつかのディレクトリを作成し、さまざまな構成ファイルとライブラリをコンパイルします。
*** USE_CONNTRACK Enabled
*** IPV6 Enabled
*** IPV6_SPI set to 1
TCP ports currently listening for incoming connections:
22,5432
UDP ports currently listening for incoming connections:
5353,43539
Note: The port details above are for information only, csf hasn't been auto-configured.
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 172.xx.xx.xx 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’
ln -s '/usr/lib/systemd/system/csf.service' '/etc/systemd/system/multi-user.target.wants/csf.service'
ln -s '/usr/lib/systemd/system/lfd.service' '/etc/systemd/system/multi-user.target.wants/lfd.service'
‘/etc/csf/csfwebmin.tgz’ -> ‘/usr/local/csf/csfwebmin.tgz’
Installation Completed
インストールプロセスが完了する前に、csfはインストール時にSSHポートを含むすでにリッスンしているポートを自動構成し、インストール時に可能な場合は接続されたIPアドレスを自動ホワイトリストに登録することがわかります。
4)CSFIPTableモジュールのテスト
インストールプロセスが完了したら、以下のコマンドを実行して、必要なiptablesモジュールのステータスをテストします。
# perl /usr/local/csf/bin/csftest.pl
5)CSFの構成と使用法
CentOS7およびその他のRedHatEnterprise Linux(RHEL)ベースのディストリビューションでCSFファイアウォールを構成するには、デフォルトの構成ファイルが「/ etc /csf/」の場所にあります
構成ファイルには、画像に示されている次の数のファイルが含まれています。
完全に機能するCSFファイアウォールを有効にするには、次のパラメーターを使用してデフォルトのcsf構成ファイルを構成します。
[root@centos-7 csf]# vim csf.conf
TESTING = "0"
:wq!
次に、次の構成変更を行うことにより、ログイン失敗デーモンからのエラーを報告するための電子メールアドレスを指定します。
構成を変更した後、以下のコマンドを使用してcsfサービスをリロードし、構成の変更を有効にする必要があります。
# csf -r
csfサービスのステータスを確認する場合は、以下のコマンドを実行してください。
# service csf status
次のコマンドを実行して、csfで使用できるすべてのコマンドラインオプションの概要を確認してください。
# csf --help
結論
この記事では、ConfigServer Security and Firewallのインストール、構成、および使用法について学習しました。これらは、Linuxプラットフォームに無料でインストールできる最も広く使用されているオープンソースツールの1つです。このツールを使用すると、その単純な構成とコマンドを使用して、多くの脅威からサーバーを保護できます。そのインストールプロセスは非常にシンプルで使いやすいため、多くの組織がこのツールの使用を好みます。また、利用可能なプラグインを使用してwebminツールをインストールした後にアクセスできるグラフィカルユーザーインターフェイスから使用および管理することもできます。