GNU/Linux >> Linux の 問題 >  >> Linux

Lynis セキュリティ監査の開始

ハッカーは常にそこにいて、次の犠牲者を探していますか? Linux デバイスのセキュリティは心配なトピックであり、改善したいと考えていますか?もう見ないで。この記事では、脆弱性スキャンを実行して問題が発生する前に発見するのに役立つ CISOfy の Lynis というツールについて説明します。

さまざまなセキュリティ監査スキャンを実行する方法と、Lynis ツールが提供するレポートに飛び込む方法を学びます。続きを読んで監査を始めましょう!

前提条件

Lynis を使用し、このチュートリアルのデモを実行するには、次のものがあることを確認してください:

  • Debian Linux ディストリビューション – このチュートリアルでは Ubuntu 20.04 LTS を使用します。
  • Lynis ホストからすべてのリモート監査可能ホストへの受信 SSH および ICMP トラフィックが許可されます。
  • sudo を持つ root 以外のユーザー 特権。

Lynis のインストール

このチュートリアルを開始するには、Lynis にある程度慣れ、ツールのインストール方法を学習してください。

Lynis は、Unix/Linux に似たシステム用のオープンソースのセキュリティ監査ツールであり、ほぼすべての UNIX ベースのシステムで詳細な脆弱性スキャンを実行し、以下を提供します。

  • セキュリティ監査: SSL 証明書、パスワードなしのユーザー アカウントなどのテスト
  • システム強化: ソフトウェアのパッチ適用、ネットワーク構成の微調整、ファイル権限の不一致
  • 脆弱性スキャン: CVE などのデータベースからの既知の脆弱性に対してパッケージを検証する
  • 構成コンプライアンスのレポートと修正: 定義済みのポリシー ドキュメントに対してエンドポイントの現在の状態を検証する

Lynis は潜在的なセキュリティの問題のみを表示します。マシンを強化することはありません。

Lynis の機能を利用できるように、Lynis をインストールします。 sudo 権限を持つ root 以外のユーザーとして Ubuntu または Debian ベースの Linux ホストにログインし、以下に従って Lynis をインストールします。

1. まず、apt パッケージ リポジトリを更新して、リポジトリに必要な Lynis パッケージが含まれるようにします。

apt-get 経由で Lynis をインストールできます 、ソース tarball、または GitHub リポジトリのクローンを作成します。このチュートリアルでは apt-get 経由で Lynis をインストールします .

# Downloads the package lists from the repositories and "updates" them 
# to get information on the newest versions of packages and their dependencies
sudo apt-get -y update

# Fetches new versions of packages existing on the machine and handle
# the dependencies so it might remove obsolete packages or add new ones
sudo apt-get -y dist-upgrade

# Download (wget) and install apt-transport-https. The apt-transport-https 
# is an APT transport method. This APT transport method allows APT to use 
# HTTPS certificates when downloading repository metadata and packages from servers.
sudo apt install apt-transport-https wget -y

次に、wget 経由で公式リポジトリ署名鍵から公開鍵をダウンロードします ユーティリティを開き、apt-key でキーを APT に追加します 指図。

公開鍵は、信頼できるエンティティがソフトウェアに署名していることを確認する方法を提供します。この場合、apt-get Debian のパッケージ マネージャー

wget -O - https://packages.cisofy.com/keys/cisofy-software-public.key | sudo apt-key add -

OK が表示されます キーが正しく追加されたことを示すメッセージ。

3. 次に、Lynis リポジトリ (cisofy-lynis) を追加します。 ) を次のコマンドでシステム パッケージ リポジトリ リストに追加します

echo "deb https://packages.cisofy.com/community/lynis/deb/ stable main" | sudo tee /etc/apt/sources.list.d/cisofy-lynis.list

4. 次に、以下のコマンドを update に実行します パッケージリストを開き、apt で Lynis をインストールします パッケージマネージャー。

sudo apt-get -y update # Update the package list
sudo apt install lynis -y # Install Lynis

最後に、以下のコマンドを実行して、インストールされている Lynis のバージョンを確認します。以下に示すように、コマンドはインストールされている Lynis のバージョンを返します。

執筆時点で、Lynis の現在の安定版/最新リリース バージョンは 3.0.6 です。

sudo lynis show version

以下に示すように、コマンドはインストールされている Lynis のバージョンを返します。

Lynis コマンドと設定の確認

Lynis をインストールしたら、コマンドと構成オプションのいくつかを確認します。 show を実行します commands を使用したコマンド 引数を使用して、さまざまな Lynis コマンドをすべて表示します。

sudo lynis show commands

Lynis には、その動作をカスタマイズするためのさまざまな設定があります。 lynis show settings を実行 Lynis 構成ファイルで定義されている複数の設定を検査します。通常、構成ファイルは /etc/audit にあります。 ディレクトリ。

Lynis が実行されると、最初に /etc/audit ディレクトリで構成ファイルが検索されます。見つからない場合は、ホーム ディレクトリで見つけようとします。

sudo lynis show settings

Lynis のオプションと構文の完全なリストについては、man lynis を実行してください コマンド

監査の呼び出し

Lynis は監査ツールなので、最初のセキュリティ監査を実行しましょう。セキュリティ監査を実行すると、Lynis はシステムとソフトウェアの構成にセキュリティの問題がないかチェックします。

lynis audit system を実行します 以下に示すようにコマンドを実行して、システムの監査を実行します。

Lynis を root (または完全な権限を持つ別のユーザー) として実行して、システムで利用可能なすべてのものをテストすることをお勧めします。スキャンは改善のための推奨事項を提供し、システムのどの部分にセキュリティ強化が欠けているかを示します。

sudo lynis audit system

コマンドの結果は詳細なレポートであり、次のセクションで詳しく説明します。したがって、次のスクリーンショットは lynis audit system を実行した結果であることを覚えておいてください。 報告してください。

監査レポートについて

system 監査は、以下を含むさまざまな分野の広範なレポートを提供します:

  • ロギングと監査に関連するディレクトリとファイル
  • SSH デーモン、Apache ウェブサーバー、MySQL データベースなどのサービス
  • パスワードの強度、ファイル システムのクォータ、メモリ使用量 (ヒープ) などのセキュリティ面

重大度を分類するために、Lynis にはいくつかのステータス状態と、見つかった各問題の重大度を示す色分けされた結果があります。

  • わかりました – 必要なすべてのテストが正常に完了しました。
  • 警告 – 可能であればチェックして修正する必要がある問題
  • 不合格 – システムのセキュリティに影響を与える可能性のあるテストに失敗しました。
  • 見つかりました – Lynis は要求されたオブジェクトを見つけました。通常、特定のファイルを見つけるために使用されます。
  • 見つかりません – Lynis は要求されたオブジェクトを見つけることができませんでした.
  • 提案 – アクションを評価する必要がある重要でない提案
  • 完了 – 通常、データのクエリなど、タスクが完了したことを示すために使用されます。

カーネル」の結果を理解する

カーネル監査のサポートは、最新の Linux ディストリビューションのほとんどでデフォルトで有効になっています。 Lynis は、SELinux、AppArmor、GRSecurity などのカーネル セキュリティ機能を使用しているかどうかをチェックします。

「記憶とプロセス」の結果の評価

Lynis は多くのテストを実行して、使用中のメモリ量とその他の関連するプロセスの問題を確認します。たとえば、アプリケーションが大量のメモリを使用すると、サービス拒否 (DoS) ベクトルになる可能性があります。 Lynis は、httpd や sshd などのサービスが情報を漏らしているかどうかをチェックします。

「ソフトウェア:ファイアウォール」の結果の確認

このテストでは、Lynis は iptables カーネル モジュールをチェックします。 FireHOL、FireQoS、IPCop、IPTables (Netfilter)、Kerio Control などのソフトウェア ファイアウォールについても、ファイアウォール設定が適切かどうかを確認できます。

「安全でないサービス」の結果の評価

Lynis は、FTP や Telnet などの安全でないサービスもスキャンします。これらのサービスは重大なセキュリティ リスクにつながる可能性があり、特に最初の 2 つは、インターネットに接続されたシステムを介して公開された場合です。

さらに、Lynis は、SSH ポート設定、BIND ネーム サーバー設定など、セキュリティを強化したいサービスのチェックも実行します。

リニスのファイルを見つける

レポートはコンソールで生成されますが、Lynis はログ ファイルとレポート ファイルも作成します。レポートのパスは /var/log/lynis-report.dat です .テストとデバッグのログ情報を含むより詳細なログ レポートは、/var/log/lynis.log にあります。

情報ログ ファイルはスキャンごとにログに記録されますが、レポート ファイルの情報は監査の終了後にのみ保存されます。

ログファイルに入る情報:

  • 監査情報: 構成アイテム、改善のための提案、およびセキュリティ リスクを発見しました。
  • テスト (およびその他) の結果: チェックの種類とテストを実施する理由
  • デバッグ情報: 問題や何かがどのように機能したかを調べるために使用されます。詳細には、完全なコマンド ラインや、問題のトラブルシューティングに役立つ追加情報が含まれる場合があります。

警告と提案から特定のテストを調べる

レポートを生成したので、次のステップは、Lynis が報告した脆弱性を解決する方法を調べることです。

Lynis がスキャンを終了すると、結果のリストが表示されます。これらの結果の一部は、警告または提案である可能性があります。各警告または提案には、簡単な説明と、メッセージの詳細と警告の修正方法を確認できるコントロール グループへのリンクがあります。

たとえば、以下の警告は、Lynis がシステム スキャンを実行したことを示しており、カーネル アップグレードの可能性があるため、ホストを再起動する必要があります。各警告にはテスト ID が関連付けられていることがわかります。この場合、ID は KRL-5830 です . ID で警告の詳細を確認できます。

特定の警告を掘り下げてみましょう。これを行うには、show details を実行します 詳細を知りたいテスト ID を提供するコマンド。同じ KRL-5830 たとえば、以前のように。完全なコマンドは次のとおりです。

sudo lynis show details KRNL-5830

show details を実行したら

警告の場合とまったく同じように、提案のテスト ID を見つけることができます。

Lynis スキャン プロファイルのカスタマイズ

テストをグループ化して、テストを有効または無効にして、テストの範囲を定義できるようにするなど、Lynis にはスキャン プロファイルが /etc/lynis に保存されています。 ディレクトリ。スキャン プロファイルにはさまざまな構成があり、一度に 1 つずつ管理することを心配するのではなく、同様のテストをまとめて管理する便利な方法を提供します。

Lynis には、default という名前のスキャン プロファイルが 1 つだけ付属しています。 show profiles を実行するとわかるように、デフォルトでは 指図。デフォルトのプロファイルは可能な限り一般的です。

sudo lynis show profiles 

すべてのテストを実行したくない場合、何らかの方法で出力を変更したり、何らかの方法で動作を変更したりしたい場合は、プロファイルを作成または編集できます。たとえば、/etc/lynis/default.prf を開きます。 お気に入りのエディターでプロファイルをスキャンします。 デフォルトの内容を以下に示します プロファイルをスキャンします。

デフォルトのスキャン プロファイルを変更することも、独自のスキャン プロファイルを作成することもできます。たとえば、スキップしたいテストがあるとします。 skip-test を設定することで、スキップするテストを Lynis に伝えることができます。 スキャン プロファイルの属性

カスタム プロファイルを作成するには、default.prf をコピーします。 プロファイルをスキャンして、custom.prf のような特定の名前を付けます .テキスト エディターでスキャン プロファイルを開き、次の属性を追加します。 Lynis は、このスキャン プロファイルを呼び出すときに、以下で指定した ID を持つ 2 つのテストを常にスキップします。

# Skip checking password set for single mode.

skip-test=AUTH-9308

# Skip checking the PKGS-7392 package.

skip-test=PKGS-7392

必要に応じて多くのカスタム プロファイルを作成できます。ただし、一度に実行できるカスタム プロファイルは 1 つだけです。

カスタム プロファイルの作成

Lynis テストをカスタマイズしたい場合は、カスタム プロファイルを作成してください。方法については、以下をご覧ください。

1. custom.prf を作成します /etc/lynis/ のファイル nano を使用したディレクトリ 編集者。

sudo nano /etc/lynis/custom.prf

2. ファイル custom.prf. に入力します。 この例では、次の 2 つの警告をスキップしようとします:AUTH-9308 そしてPKGS-7392

テストをスキップするには、次の内容をファイルに追加します。

# Skip checking password set for single mode.

skip-test=AUTH-9308

# Skip checking the PKGS-7392 package.

skip-test=PKGS-7392

3. Ctrl + O を押して、ファイルを保存して終了します。 次に Ctrl + X それが終わったら。次に Lynis 監査チェックを実行すると、以下に示すように、指定されたテスト ID がスキップされます。

sudo lynis audit system

ご覧のとおり、上記の 2 つの警告はなくなりました。

Lynis Hardening Index の解釈

スキャンが完了すると、Lynis が概要を提供します。その要約には、Hardening Index と呼ばれる興味深い指標があります。 . Hardening Index は、最新のスキャンに基づいてスキャンされたホストに対する全体的な脅威に基づいて計算された数値です。

Hardening index は、システムの安全性を示します。たとえば、システムに通常よりも重大な脆弱性がある場合、インデックスは低くなります。警告を修正したり提案を実装したりすると、それに応じてこの強化指数が増加します。

以下の出力は、Lynis によって実行されたテストの数と、この監査ツールの実行によって検出された強化インデックス値を示しています。 239 という数字は、239 回のテストを実行したことを意味し、スコアは強化されるまでの 60% です。

結論

ここまでで、Lynis 脆弱性スキャン ツールと、それがホストを安全に保つのにどのように役立つかについて十分に理解しているはずです。 Lynis を使用すると、システムを定期的にスキャンして最新の脆弱性を検出し、ホストを安全に保つことができます!

このチュートリアルに従った場合、返された Hardening インデックスに満足していますか?改善するためにどのような変更を行いますか?


Linux
  1. LynisでLinuxセキュリティをスキャンする

  2. Zshの使用を開始する

  3. Linuxサーバーのセキュリティを開始するための5つのヒント

  1. lsの使用を開始する

  2. 相互運用性のためのSambaの使用開始

  3. LinuxでPostgreSQLを使い始める

  1. GnuCashの使用を開始する

  2. Etcher.ioを使い始める

  3. 正規表現を使い始める