CSFは、Configserverのセキュリティとファイアウォールの略です。 CSFは、サーバーのセキュリティを強化するために構築された構成スクリプトであると同時に、スムーズな操作を保証するための追加のチェックで構成および保護するための多数の構成オプションと機能を提供します。パブリックアクセスをロックダウンし、電子メールのみやWebサイトのみなど、アクセスできるものを制限するのに役立ちます。これにさらに力を加えるために、スキャンするために常に実行されるログイン失敗デーモン(LFD)スクリプトが付属していますbruteforce-attacksを検出するためにサーバーにログインしようとして失敗した場合。サーバーへの変更、潜在的な問題、および考えられる侵害についてサーバー管理者に警告するためにlfdが実行できる一連の広範なチェックがあります。
LFDは、そのIPから大量の失敗したログインが表示されている場合にも、IPをブロックします。ブロックは一時的なものです。また、管理者は電子メールアラートサービスを有効にすることで、ブロックされたIPを表示できます。いくつかの機能は次のとおりです。
- ログイン追跡
- プロセス追跡
- ディレクトリウォッチング
- 高度な許可/拒否機能
- ブロックレポート
- ポートフラッドプロテクション
などなど。この投稿はすべての機能を網羅しているわけではないため、各機能の詳細については、ダウンロードするcsfフォルダーの「readme.txt」ファイルをお読みください。
2ダウンロードとインストール
最初のステップでは、ダウンロードされた可能性のある以前のバージョンのcsfを削除してから、最新バージョンをダウンロードします。これらを実行するには、次の2つのコマンドを使用します。
rm -fv csf.tgz
wget http://www.configserver.com/free/csf.tgz
次に、ホームディレクトリにあるtarファイルを抽出し、csfディレクトリに移動します。
tar -xzf csf.tgz
cd csf
ここまでの手順を下の画像に示します。
これでインストールの準備が整いましたが、インストールする前に、root権限が必要になります。そうしないと、インストールできなくなります。したがって、次のコマンドを使用してroot権限を取得し、要求された場合はパスワードを入力します。
sudo su
次のコマンドを使用してCSFをインストールします。
sh install.sh
インストールが正常に完了すると、出力は次の画像のようになります。
インストールが完了したら、検証を行うことができます。そのために、システムに必要なすべてのiptablesモジュールがあるかどうかをテストします。これを実行すると、すべての機能を実行できない可能性があることを示している可能性がありますが、それは問題ありません。スクリプトが致命的なエラーを報告しない限り、このテストはPASSと見なすことができます。テストするには、次のコマンドを使用します。
perl /usr/local/csf/bin/csftest.pl
このテストを実行した結果を下の画像に示します:
3他のファイアウォールを削除します
サーバーを保護するために、古いファイアウォールまたはその他のファイアウォール設定を削除することが重要です。これは、ファイアウォールの競合が障害やアクセス不能につながる可能性があるためです。また、他のiptablesファイアウォールをインストールしないでください。ファイアウォールがすでに存在する場合は、この段階で削除する必要があります。ほとんどのシステムにはAPF+BFDファイアウォールが搭載されている可能性が高いため、削除する必要があります。したがって、次のコマンドを使用して、それらが存在する場合はそれらを検出して削除します。
sh /usr/local/csf/bin/remove_apf_bfd.sh
プリインストールされていなかったため、システムでのコマンドの出力は次のようになりました。
4CSFとLFDのアンインストール
CSFを完全に削除したい場合は、次の2つのコマンドを使用してください。
cd /etc/csf
sh uninstall.sh
5構成
CSFはcPanelとDirectAdmin用に自動的に事前設定されており、すべての標準ポートが開いている状態で機能します。 CSFはまた、非標準ポートで実行されているインストール時にSSHポートを自動構成します。 CSFは、インストール時に可能な場合、接続されたIPアドレスを自動ホワイトリストに登録します。ただし、管理者は完全な制御を行うことができ、サーバーのタイプのニーズに合わせてcsfを手動で構成できます。
CSFは「/etc/ csf」ディレクトリにインストールされており、ユーザーはディレクトリにアクセスする場合でもroot権限が必要です。このディレクトリは、csfの構成と実行に必要なすべてのファイルで構成されています。まず、「csf.conf」は、csfのすべての可能な使用法と機能の有効化/無効化および管理に役立つファイルです。すべての構成を処理します。このディレクトリには、ログファイルが保存される場所を含む「csf.syslog」、ファイアウォールを通過するIPアドレスを許可するために使用される「csf.allow」ファイルなどのさまざまなファイルも含まれています。
6CSFを使用してIPアドレスを監視する
「-w」または「--watch」オプションを使用して、指定されたソースからのパケットがiptablesチェーンを通過するときにパケットを監視およびログに記録できます。この機能は、そのIPアドレスがiptablesによってドロップまたは受け入れられている場所を追跡するときに非常に役立ちます。いつでも、監視する必要があるIPアドレスはごくわずかであり、短時間であることに注意してください。そうしないと、ログファイルにこれらのエントリが殺到します。時計は再起動後も存続しないため、時計を終了するにはcsfを再起動する必要があります。
注目すべき手順は次のとおりです。
- / etc/csfにある「csf.conf」という設定ファイルに移動します。これは設定ファイルです。 「WATCH_MODE」を検索し、値を「1」にします。これにより可能になります。
- csfとlfdを再起動します
- 次のコマンドを使用してIPを監視します。以下に示すIPを必要なものに変更してください。
csf -w 11.22.33.44
- 監視対象のIPアドレスからのヒットがないかカーネルiptablesログを監視します
完了したら、WATCH_MODEを無効にして、csfとlfdを再起動します。以下は、ポート22に接続している192.168.254.4の縮小されたログウォッチの例です。
Firewall: I:INPUT SRC=192.168.254.4 DST=192.168.254.71 PROTO=TCP DPT=22 Firewall: I:LOCALINPUT SRC=192.168.254.4 DST=192.168.254.71 PROTO=TCP DPT=22 Firewall: I:GDENYIN SRC=192.168.254.4 DST=192.168.254.71 PROTO=TCP DPT=22 Firewall: O:GDENYIN SRC=192.168.254.4 DST=192.168.254.71 PROTO=TCP DPT=22 Firewall: I:DSHIELD SRC=192.168.254.4 DST=192.168.254.71 PROTO=TCP DPT=22 Firewall: O:DSHIELD SRC=192.168.254.4 DST=192.168.254.71 PROTO=TCP DPT=22 Firewall: I:SPAMHAUS SRC=192.168.254.4 DST=192.168.254.71 PROTO=TCP DPT=22 Firewall: O:SPAMHAUS SRC=192.168.254.4 DST=192.168.254.71 PROTO=TCP DPT=22 Firewall: O:LOCALINPUT SRC=192.168.254.4 DST=192.168.254.71 PROTO=TCP DPT=22 Firewall: I:INVALID SRC=192.168.254.4 DST=192.168.254.71 PROTO=TCP DPT=22 Firewall: O:INVALID SRC=192.168.254.4 DST=192.168.254.71 PROTO=TCP DPT=22 Firewall: I:LOGACCEPT SRC=192.168.254.4 DST=192.168.254.71 PROTO=TCP DPT=22
7IPアドレスでのフィルターの許可/拒否
csfは、以下を使用して高度な許可および拒否フィルターを追加するために使用できます
tcp / udp | in / out | s / d =port | s / d =ip | u =uid
この形式の内訳を以下に示します。
tcp/udp : EITHER tcp OR udp OR icmp protocol in/out : EITHER incoming OR outgoing connections s/d=port : EITHER source OR destination port number (or ICMP type) (use a _ for a port range, e.g. 2000_3000) s/d=ip : EITHER source OR destination IP address u/g=UID : EITHER UID or GID of source packet, implies outgoing connections, s/d=IP value is ignored
7.1IPアドレスの許可
IPアドレスは、csf.allowファイルに追加することで、個別に除外することも、範囲内で除外することもできます。ここでは、範囲2.3。*。*を追加したいと仮定します。これは、CIDR表記であり、IP192.168.3.215を許可したいとします。これを行うには、次のコマンドを使用します。
nano /etc/csf/csf.allow
次の行を追加します(必要なIPが異なる場合は、変更します)。
2.3.0.0/16 192.168.3.215
7.2IPアドレスのブロック
許可と同様に、IPまたはIPの範囲をブロックできます。ただし、csf.allowファイルに存在するIPは、ブロッキングファイルに存在する場合でも許可されることに注意してください。 IPをブロックするには、許可する場合と同じプロセスを使用しますが、「csf.allow」ファイルの代わりに、/ etc/csfディレクトリにある「csf.deny」ファイルにIPを入力します。
7.3IPアドレスを無視する
IPアドレスを無視することも可能です。つまり、ファイル「csf.ignore」で提供されるIPはファイアウォールをバイパスしますが、csf.denyファイルにリストされている場合にのみブロックできます。
8結論
上記は、CSFが提供する多くの機能のほんの一部です。これは非常に便利で、攻撃に対するサーバーに非常に優れたセキュリティを提供し、サーバーがスムーズに実行できるように構成を完全に制御します。 CSFの他の多くの機能を学習して使用するには、抽出されたフォルダー内のreadme.txtファイルを参照してください。このファイルには、すべての機能と管理者による使用方法の簡単な説明が記載されています。