Linuxサーバーのセキュリティ脆弱性スキャンにOpenVAS (Greenbone) をインストールして使用する方法

Security tutorial - IT technology blog
Security tutorial - IT technology blog

サーバーをサイバー攻撃から保護することは常に最優先事項です。ファイアウォールをインストールし、VPNを使用しデータを暗号化しているとしても、悪意のある人物が悪用できる脆弱性がサーバーに残っているかどうか、本当にご存知でしょうか?

定期的な健康診断が病気の早期発見に役立つように、Linuxサーバーも定期的な「健康チェック」が必要です。ここでセキュリティ脆弱性スキャンツールが不可欠になります。この記事では、強力なオープンソースツールであり、現在では正式にGreenbone Vulnerability Management (GVM) として知られているOpenVASのインストールと使用方法を説明します。

クイックスタート: OpenVAS (GVM) を5分でインストールして実行する (Ubuntu 22.04/20.04の場合)

きっとすぐにでも実践したいと思っていることでしょう。以下に、GVMをインストールし、数分でWebインターフェースにアクセスするための基本的な手順を示します。脆弱性データベース (Feed) の更新プロセスにはかなり時間がかかる場合がありますが、インストールが完了したらすぐに設定を開始できます。

まず、Ubuntuサーバーが最新の状態であることを確認してください。

sudo apt update
sudo apt upgrade -y

次に、GVM (Greenbone Vulnerability Management) パッケージをインストールします。

sudo apt install gvm -y

インストールが完了したら、初期セットアップコマンドを実行する必要があります。このコマンドは、必要なフィードをダウンロードし、管理者アカウントを作成し、GVMの他のコンポーネントを設定する役割を担います。このプロセスは、ネットワーク速度に応じて数分から数十分かかる場合があります。

sudo gvm-setup

このプロセス中に、システムは自動的にデフォルトの管理者 (admin) アカウントを作成し、そのパスワードを表示します。このパスワードを慎重に記録してください! これはGVMのWebインターフェースにアクセスするための重要なログイン情報です。

セキュリティを強化するため、重要なアカウントのパスワードを作成する際にはtoolcraft.app/ja/tools/security/password-generatorのパスワードジェネレーターをよく利用します。このツールは強力で安全なパスワードを生成するのに役立ち、ブラウザ上で100%動作するため、ネットワーク経由でパスワードが漏洩する心配がありません。

gvm-setupが完了したら、GVMサービスを開始できます。

sudo gvm-start

これで、Greenbone Security Assistant (GSA) のWebインターフェースに、ブラウザから次のアドレスでアクセスできます。

https://<IP_SERVER_CUA_BAN>:9392

仮想マシンやGUIを備えたサーバーにインストールし、直接アクセスする場合は、https://127.0.0.1:9392を使用できます。ブラウザにSSL証明書に関する警告が表示されます。これはGVMによって生成された自己署名証明書であり、このケースでは全く正常です。続行するには、Advanced または Proceed anyway (使用しているブラウザによって異なります) を選択するだけです。その後、gvm-setupステップで作成されたadminアカウントとパスワードを使用してログインします。おめでとうございます、GVMのインストールが成功しました!

詳細な解説: OpenVAS (Greenbone) とは何か、なぜそれが必要なのか?

OpenVASとは? (現在はGreenbone Vulnerability Management – GVM)

元々、OpenVAS (Open Vulnerability Assessment System) は、Nessusが商用モデルに移行した後に誕生したNessusのオープンソースのフォークでした。時が経つにつれて、このプロジェクトはGreenbone Networksによって開発・管理され、現在では正式にGreenbone Vulnerability Management (GVM)として知られています。しかし、多くのユーザーは依然としてOpenVASと呼ぶことに慣れています。

GVMは単一のスキャンツールではなく、複数のコンポーネントからなる包括的なフレームワークです。

  • Greenbone Security Assistant (GSA): スキャンタスクの管理、設定、レポートの閲覧を行うためのWebユーザーインターフェース。
  • OpenVAS Scanner: 実際のスキャンを実行し、プラグイン (NVT) を使用して脆弱性を検出するコンポーネント。
  • Greenbone Vulnerability Manager (GVMd): スキャンタスクを調整し、データを保存する中央マネージャー。
  • Greenbone Security Feed: 脆弱性情報 (NVT, SCAP, CERT) を継続的に更新するデータベース。

なぜLinuxサーバーには脆弱性スキャンが必要なのか?

あなたは、サーバーを非常に注意深く設定し、常に最新のソフトウェアを使用しているのだから、脆弱性などないはずだ、と考えるかもしれません。しかし、現実はそう単純ではありません。セキュリティ脆弱性は、さまざまな理由で発生する可能性があります。

  • ソフトウェアのバグ: 完璧なソフトウェアは存在しません。開発者は継続的にバグを発見し修正していますが、ハッカーもまたそれらを常に探しています。
  • 設定ミス: 時として、脆弱性はソフトウェア自体ではなく、その設定方法にあります (例: 不要なポートを開放する、弱いパスワードを使用する、広すぎるアクセス権限)。
  • 古いソフトウェア: 特定のソフトウェアパッケージの更新を忘れると、既知の公開された脆弱性への扉を開く可能性があります。
  • ゼロデイエクスプロイト: 公には知られていないが、ハッカーが既に悪用している可能性のある脆弱性です。GVMはゼロデイを即座に検出することはできませんが、定期的なスキャンは、公開された最新の脆弱性に関する情報を更新するのに役立ちます。

定期的な脆弱性スキャンは、攻撃者が悪用する**前に**、弱点を能動的に発見し修正するのに役立ちます。これは、家のドアや窓の鍵を定期的にチェックして安全を確保する行動と同じです。

OpenVASと他のツール (Lynis, Suricata) の違い

実際には、多くの人が異なるセキュリティツールの機能を混同しがちです。GVMは、以前に紹介したツールとは異なる役割を持っています。

  • Lynis: システムの監査ツールです。システム設定、ソフトウェアインストール、カーネル、ファイル権限などをチェックし、設定上の弱点を探します。Lynisは、システムがセキュリティ標準に正しく設定されているかに焦点を当てています。
  • Suricata: 侵入検知・防御システム (IDS/IPS) です。ネットワークトラフィックをリアルタイムで監視し、不審な活動や進行中の攻撃を検出します。Suricataは、脅威を即座に検知し対応することに焦点を当てています。
  • OpenVAS (GVM): 脆弱性スキャンツールです。ターゲットサーバーに能動的にリクエストを送信し、応答を分析して、実行中のソフトウェアやサービス内の既知の脆弱性を探します。GVMは、悪用される前に存在する弱点を見つけることに焦点を当てています。

要するに、これらは互いに補完し合うツールであり、それぞれがサーバーセキュリティの異なる側面を解決します。

詳細なインストールと初期設定 (Ubuntu 22.04/20.04)

システム要件

GVMは、Feedのサイズが大きいため、特にRAMとディスク容量をかなり消費するシステムリソースを必要とするツールです。以下の構成をお勧めします。

  • RAM: 最小4GB、推奨8GB以上。
  • CPU: 2コア以上。
  • ディスク容量: 最小50GB、推奨100GB以上 (Feedとスキャン結果用)。

性能への影響を避けるため、GVMは他の重要なサービスを実行しているサーバーとは別の専用サーバーにインストールすることをお勧めします。

ステップ1: システムの更新とGVMのインストール

これらの手順はクイックスタートセクションで説明しました。重要なのは、gvm-setupが何をするのかを理解することです。

  • Greenbone Feed (NVT, SCAP, CERT) をダウンロードして更新します。これは初回で最も時間がかかるステップです。
  • データベースを初期化します。
  • デフォルトの管理者アカウントを作成し、パスワードを表示します。
  • GVMのコンポーネントが互いに通信できるように設定します。

ステップ2: フィード (NVT, SCAP, CERT) の更新

Share: