OpenVASを使用してUbuntu12.04のリモートシステムのセキュリティを監査する方法
ステータス:非推奨
この記事では、サポートされなくなったバージョンのUbuntuについて説明します。 現在Ubuntu12.04を実行しているサーバーを運用している場合は、サポートされているバージョンのUbuntuにアップグレードまたは移行することを強くお勧めします。
理由:
Ubuntu 12.04は2017年4月28日に保守終了(EOL)に達しました and no longer receives security patches or updates. This guide is no longer maintained.
代わりに参照してください:このガイドは参照として役立つ場合がありますが、他のUbuntuリリースでは機能しない場合があります。 可能な場合は、使用しているUbuntuのバージョン用に作成されたガイドを使用することを強くお勧めします。 ページ上部の検索機能を使用して、より新しいバージョンを見つけることができます。
序章
サーバーセキュリティの重要な側面は、セキュリティスクリーニングについて積極的に取り組むことです。 サービスをインターネットに公開する場合、既知の脅威に対して脆弱でないことを確認するために侵入テストが不可欠です。
Open Vulnerability Assessment Systemは、より一般的には OpenVAS として知られ、既知のエクスプロイトと弱点のデータベースを使用してクライアントコンピューターに対してテストを実行するために連携して動作するツールスイートです。 目標は、サーバーが既知の攻撃ベクトルからどの程度保護されているかを知ることです。
このガイドでは、OpenVASスイートをUbuntu12.04VPSにインストールします。 その後、このシステムを使用して、それ自体と他のサーバーをスキャンできます。
OpenVAS PPAを追加し、ソフトウェアをインストールします
UbuntuのデフォルトリポジトリにはいくつかのOpenVASコンポーネントがありますが、パッケージの更新バージョンを維持するPPAを使用します。
まず、python-software-properties
パッケージをインストールする必要があります。これにより、PPAを簡単に操作できるようになります。
sudo apt-get update
sudo apt-get install python-software-properties
次に、最新の安定バージョンをシステムに追加できます。
sudo add-apt-repository ppa:openvas/openvas6
新しいPPAを通じて利用可能なパッケージに関する情報を収集するには、aptデータベースを再構築する必要があります。 その後、必要なソフトウェアをインストールできます。
sudo apt-get update
sudo apt-get install openvas-manager openvas-scanner openvas-administrator openvas-cli greenbone-security-assistant sqlite3 xsltproc texlive-latex-base texlive-latex-extra texlive-latex-recommended htmldoc alien rpm nsis fakeroot
これにより、開始に必要なコンポーネントがダウンロードおよびインストールされます。
初期構成
デフォルトで含まれているラッパーユーティリティを使用して、OpenVASのSSL証明書を作成できます。 これを管理者権限で呼び出して、ファイルシステムの制限された部分に配置できるようにする必要があります。
sudo openvas-mkcert
このサーバーで使用する証明書ファイルを作成するのに役立ついくつかの質問が表示されます。
ほとんどの質問では、Enterキーを押すだけで、デフォルト値を受け入れることができます。 これは主に自分で使用するためのものなので、使用したい値を入力してください。
次に、別の証明書を作成します。 今回は、OpenVASManagerの略である「om」という名前のユーザーのクライアント証明書を作成します。 クライアント部分に関する特定の情報は必要ないため、自動的に構成し、必要な場所に証明書をインストールするように指示します。
sudo openvas-mkcert-client -n om -i
データベース情報を構築する
証明書がインストールされたので、データベースの構築を開始して、ローカルツールがさまざまな種類の脅威や脆弱性を認識できるようにします。
次のコマンドを発行して、ネットワーク脆弱性テストデータベースを更新します。
sudo openvas-nvt-sync
これにより、最新の定義がローカルマシンにダウンロードされます。
続行するには、マネージャーとスキャナーのアプリケーションを停止して、一時的に競合することなくコマンドを呼び出すことができるようにする必要があります。
次のように入力して、これらのサービスの両方を停止します。
sudo service openvas-manager stop
sudo service openvas-scanner stop
これで、通常呼び出されるinitファイルにあるパラメーターなしでスキャナーアプリケーションを起動できます。 この最初の実行中に、OpenVASは大量のデータをダウンロードして同期する必要があります。 これにはかなり時間がかかります。
sudo openvassd
これが完了したら、次のように入力して、スキャナーによって生成されたデータベースを再構築する必要があります。
sudo openvasmd --rebuild
次に、セキュリティコンテンツ自動化プロトコルデータをダウンロードして更新します。 これは「SCAP」データとして知られています。 これは、OpenVASがセキュリティテストのためにチェックするもう1つのデータベースです。
sudo openvas-scapdata-sync
これはまた長い待ち時間になります。 いくつかの一般的なファイルをダウンロードしてから、データベースで更新します。
次に、証明書データに対して同様の同期操作を実行します。
sudo openvas-certdata-sync
このコマンドを初めて実行すると、エラーが発生する場合があります。 それらは次のようになります。
Error: no such table: meta
これは、Ubuntuパッケージに、他のバージョンでパッケージ化されているファイルが実際に欠落しているためです。
これらは、マネージャーコンポーネントのRPMパッケージから取得できます。 これを入力して、ホームディレクトリにダウンロードします。
cd
wget http://www6.atomicorp.com/channels/atomic/fedora/18/i386/RPMS/openvas-manager-4.0.2-11.fc18.art.i686.rpm
ファイルがダウンロードされたので、RPM内に存在するディレクトリ構造を抽出して展開できます。 これを行うには、次のように入力します。
rpm2cpio openvas* | cpio -div
OpenVASが見つける場所に新しいファイル用のディレクトリを作成します。 次に、ファイルをそのディレクトリに移動します。
sudo mkdir /usr/share/openvas/cert
sudo cp ./usr/share/openvas/cert/* /usr/share/openvas/cert
これで、cert syncingコマンドを再び安全に実行できるようになり、今回は期待どおりに完了するはずです。
sudo openvas-certdata-sync
その後、抽出したRPMデータとディレクトリをホームディレクトリから削除できます。
rm -rf ~/openvas* ~/usr ~/etc
OpenVASユーザーとポートを設定する
サービスにサインインするには、ユーザーが必要です。 OpenVAS管理者コンポーネントで作成できます。
ここでは、管理者の役割を持つ「admin」というユーザーを作成します。 新しいアカウントに使用するパスワードを入力するように求められます。
sudo openvasad -c add_user -n admin -r Admin
ユーザーに無制限のアクセスが許可されたことが通知されます。
次に、コンポーネントの1つを起動する方法を変更する必要があります。 Greenbone Security Assistantコンポーネントは、インストールしたツールへのWebベースのインターフェイスです。
デフォルトでは、インターフェイスにはローカルコンピューターからのみアクセスできます。 OpenVASスイートをリモートサーバーにインストールしているため、これらの設定でWebインターフェイスにアクセスすることはできません。 インターネットからアクセスできるようにする必要があります。
好みのテキストエディタでroot権限で次のファイルを開きます。
sudo nano /etc/default/greenbone-security-assistant
上部の近くに、Webインターフェイスがリッスンするアドレスを指定するパラメーターが表示されます。 値を127.0.0.1
からVPSのパブリックIPアドレスに変更する必要があります。 これにより、インターネットからの接続をリッスンできるようになり、次の接続が可能になります。
GSA_ADDRESS = your_server_IP_address
上記の変更を行ったら、ファイルを保存して閉じます。
サービスを開始する
設定していたサービスを起動します。 それらのほとんどはすでにある程度の容量で実行されていますが、収集した新しい情報を確実に使用するために、それらを再起動する必要があります。
実行中のすべてのOpenVASスキャナープロセスを強制終了することから始めます。
sudo killall openvassd
プロセスが実際に強制終了されるまで、最大15秒または20秒かかる場合があります。 次のコマンドを発行して、まだ実行中のプロセスがあるかどうかを確認できます。
ps aux | grep openvassd | grep -v grep
何かが返された場合、プロセスはまだ終了していないため、引き続き待機する必要があります。
プロセスが完全に終了したら、すべてのサービスの開始を再開できます。
sudo service openvas-scanner start
sudo service openvas-manager start
sudo service openvas-administrator restart
sudo service greenbone-security-assistant restart
これらのそれぞれは、起動するのに少し時間がかかる場合があります。
Webインターフェイスにアクセスし、いくつかのテストを実行します
サービスがすべて開始されたら、Webブラウザを使用してGreenbone SecurityAssistantWebインターフェイスにアクセスします。
これにアクセスするには、サーバーのアドレスの前にhttps://
を付ける必要があります。 次に、サーバーのドメイン名またはIPアドレスのいずれかを入力し、その後に:9392
を入力します。
https:// server_domain_or_IP :9392
ブラウザがデフォルトで信頼している誰かによって証明書が署名されていないことを示す恐ろしい警告画面が表示されます。
これは予想されることであり、問題ではありません。 続行するには、[続行]ボタンをクリックしてください。
次に、ログイン画面が表示されます。
以前に構成したユーザー名とパスワードを入力する必要があります。 このガイドでは、ユーザー名は「admin」でした。
サインインすると、すぐにクイックスタートウィザードが表示されます。これにより、ターゲットコンピューターに対してデフォルトのスキャンをすぐに実行できます。
自分が所有する別のサーバーに対して実行することをお勧めします。 他のユーザーへの潜在的な攻撃のように見える可能性があるため、管理下にないターゲットに対してこれらのスキャンを実行しないことが重要です。
テストするコンピューターのIPアドレスを入力し、[スキャンの開始]ボタンをクリックして開始します。
スキャンが進行するとページが更新されます。また、ページを手動で更新して進行状況を追跡することもできます。
スキャンが完了したら(または、入ってくる情報を確認したい場合でも)、紫色の虫眼鏡アイコンをクリックしてスキャンの結果を確認できます。 スキャンが98% fまたは完了する前にしばらく停止するのは正常です。
スキャン結果の概要が表示されます。 完了した即時スキャンは、利用可能な最も詳細なスキャンではないことに注意してください。
下部には、OpenVASが作成したレポートがあり、スキャンしたシステムの潜在的な脆弱性を示しています。 「脅威」レベルが「中」に分類されていることがわかります。
これは、「中」の評価のシステムで少なくとも1つの脆弱性が見つかったことを意味します。 虫眼鏡をもう一度クリックすると、詳細を確認できます。
これにより、調査結果の完全なレポートが表示されます。 上部には、さまざまな形式で結果をダウンロードするオプションがあります。
中央のセクションでは、結果をフィルタリングできます。 デフォルトでは、インターフェースには「高」または「中」とマークされた脅威のみが表示されます。 初めての場合は、「脅威」カテゴリのすべてのチェックボックスをオンにする必要があります。 これを実装するには、[適用]をクリックします。
下のセクションでは、見つかった特定のアイテムについて説明しています。 上記のすべてのボックスを選択した場合は、開いているポートと同様の結果に関する情報メッセージが表示されます。
脅威は、ボタンの色と一致するように色分けされます。 たとえば、これは中程度の脅威です。
この警告は、ターゲットがタイムスタンプ要求に応答することを示しています。 これらのリクエストにより、攻撃者はホストが継続的にオンラインになっている時間を知ることができます。 これにより、攻撃者は、ホストが最近のエクスプロイトに対して脆弱であることを知ることができます。
ご覧のとおり、レポートには問題への対処方法に関する情報も含まれています。
結論
これで、ホストをスキャンするために完全に機能するOpenVASサーバーがセットアップされているはずです。 これは、脆弱性を特定し、セキュリティを強化するときに焦点を当てる領域を強調するのに役立ちます。
ここでは、OpenVASセキュリティスイートの最低限の機能のみを示しました。 他のタスクの中でも、スキャンを簡単にスケジュールし、レポートを自動的に生成し、特定の脅威レベルが生成されたときにアラートを電子メールで送信できます。 Greenbone Security Assistantインターフェースを調べ、優れた組み込みのヘルプシステムを利用して、オプションの詳細を確認してください。