名前が示すように、ポートスキャン攻撃検出(PSAD)ツールは、サーバー上のポートスキャンをブロックするために使用されます。よく知られているツールであるNmapは、主にポートスキャンを起動して開いている/閉じているポートを検出するために使用されます。 PSADツールは、ファイアウォール(Linuxプラットフォームの場合はiptables)ログを継続的に監視して、ポートスキャンまたはその他の攻撃が発生したかどうかを判断します。サーバーへの攻撃が成功した場合、PSADは脅威を阻止するための措置も講じます。
この記事では、Ubuntu15.04VMにPSADをインストールして構成します。現在、VMで次のサービスを実行しています。
- Webサーバー(ポート80)
- FTPサーバー(ポート21)
- sshサーバー(ポート22)
Netstatおよびtelnetコマンドは、上記のサービスに対してポートのステータスを確認するために使用されます。
Webサービス(Apache)

Ftpサービス(vsftpd)

Sshサービス(セキュアシェル)

インストール
VM設定の詳細を図1に示し、IPアドレスは192.168.1.111です。

IPtables(Linuxファイアウォールと呼ばれる)パッケージは、すべてのLinuxプラットフォームにプリインストールされています。したがって、PSADパッケージをVMにインストールします。ソースコードまたはバイナリパッケージからインストールできます。この記事では、UbuntuリポジトリからPSADパッケージをインストールします。まず、package updateコマンドを実行してから、次のコマンドを使用してPSADパッケージをインストールします。
$sudo apt-get update

$sudo apt-get install psad

PSADパッケージには、Ubuntuリポジトリからインストールした場合に自動的に解決される多くの依存関係が必要でした。ただし、ソースタラからのPSADのインストールには、いくつかのperlパッケージが必要でした。
パッケージのインストール中に、PSADは以下に示すメールサーバー構成の入力を求めます。この記事では、電子メールアラート用のSMTPサーバーを設定していません。

構成
PSADは、ファイアウォール(iptables)ログを使用して、マシン上の悪意のあるアクティビティを検出します。次のコマンドを使用すると、iptablesの入力チェーンと転送チェーンでパケットをログに記録できます。
$sudo iptables -A INPUT -j LOG
$sudo iptables -A FORWARD -j LOG
両方のチェーンのログを有効にした後、次のコマンドを実行して、iptablesの現在の構成を一覧表示します。
$sudo iptables -L
上記のコマンドの出力は、以下のようになります。
Chain INPUT (policy ACCEPT)
target prot opt source destination
LOG all -- anywhere anywhere LOG level warning
Chain FORWARD (policy ACCEPT)
target prot opt source destination
LOG all -- anywhere anywhere LOG level warning
Chain OUTPUT (policy ACCEPT)
target prot opt source destination

PSAD構成ファイル、snortルール、および署名は、 / etc / psadの下にあります。 Ubuntuプラットフォームのディレクトリ。 PSAD構成ファイルは/etc/psad/psad.conf また、運用サーバーへのデプロイ中に変更する多くのパラメーターがあります。ただし、この記事では、PSADのいくつかの設定を変更して、iptablesログを検出し、攻撃を阻止するために必要なアクションを実行します。

EMAIL_ADDRESSES root@localhost; ##change it to get psad alerts
HOSTNAME test-machine; #set host name
HOME_NET 192.168.1.0/24; # Set LAN network
EXTERNAL_NET any; # Set Wan network
ENABLE_SYSLOG_FILE Y; #by default set yes
PSADの重要な構成の1つは、 IPT_SYSLOG_FILE
の設定です。 パラメータ。デフォルトでは、 / var / log/messagesでログを検索します。 ただし、Ubuntuのsyslogは / var / log / syslog したがって、PSADが悪意のあるアクティビティを検出するようにパスを変更してください。
IPT_SYSLOG_FILE /var/log/syslog;
PSADをIDS/IPSとして使用しているため、 ENABLE_AUTO_IDS を有効にする必要があります psad.confのパラメータ ファイル。 iptablesルールを自動的に変更して、攻撃者からのスキャンをブロックします。
ENABLE_AUTO_IDS Y; # disable by default
AUTO_IDS_DANGER_LEVEL 1; #By default level is 5
PSADの基本設定が完了しました。次に、既知の攻撃タイプを正しく認識できるようにシグネチャを更新します。
sudo psad --sig-update

マシンでPSADを起動する前に、Nmapツールを使用してサーバーをスキャンします。スキャナーの出力は、マシンで次のポートが開いていることを示しています。

次のコマンドを使用してPSADツールを起動し、次の図に示すステータスも確認します。
# /etc/init.d/psad start
#psad -S

PSADを有効にした後、次の図にも示されているNmapスキャナーによって開いているポートが検出されませんでした。

攻撃者(IPアドレスは192.168.1.102)は、iptablesにドロップルールを追加することでPSADによってブロックされます。

192.168.1.102アドレスに対するIptablesルールを次の図に示します。

PSADの詳細な出力を次の図に示します。

攻撃者によるポートスキャンはPSAD出力に表示されます。

攻撃者のIPは、次のPSADの出力に表示されます。
結論
この記事では、サーバーのポートスキャンをブロックするための有名なオープンソースツールPSADについて説明しました。 PSADは完全なIDS/IPSであり、ファイアウォールルールに攻撃者のIPアドレスを自動的に追加します。攻撃者はポートスキャナーを使用してサーバーに関する予備情報を取得し、さらに攻撃を開始するため、ポートスキャンを自動的にブロックすることが非常に重要です。