ウェブサイト検索

Linuxシステム上でLynisを使用したセキュリティ監査の自動化


Linux管理の重要な側面はシステムのセキュリティです。システムに特定の数のソフトウェアパッケージ、設定、およびユーザーアカウントがあると、一つ一つの側面を保護する作業はすぐに圧倒的なものになります。このため、Lynisのようなスクリプトを利用することが重要で、これはシステムのさまざまな領域でセキュリティの欠陥や悪意のあるプログラムやユーザーが利用できる可能性のある攻撃面をチェックします。

このチュートリアルでは、Linuxシステム上でLynisを使用してセキュリティ監査を自動化する方法について説明します。既知の脆弱性やセキュリティホールの手動チェックに代わって、Lynisはドキュメント化された脆弱性とセキュリティ推奨リストに基づいてシステムをチェックします。

このチュートリアルでは、あなたは学びます:

  • Lynisの最新バージョンをダウンロードする方法
  • 通常のユーザーとルート権限でLynisセキュリティ監査を実行する方法
  • Lynisセキュリティ監査をcronとcron安全なコマンドオプションで自動化する方法

Lynisのインストールと実行方法

私たちはLynisをダウンロードし、次にプログラムを実行してセキュリティ監査を行い、システムのさらなる強化のために講じるべき対策に関する推奨事項を得ることから始めます。Lynisは本質的に強化されたBashスクリプトなので、ユーティリティを実行するのはシェルスクリプトを実行するのと同じくらい簡単です。

  1. コマンドラインターミナルで、次のgitコマンドを実行して、公式のLynis GitHubリポジトリをクローンしてください:

    
    git clone https://github.com/CISOfy/lynis
    

    注意
    LynisをLinuxにインストールする方法は数多くあります。公式のソフトウェアリポジトリを使ってシステムパッケージマネージャー経由でのインストールが含まれます。しかし、Lynisプロジェクトは頻繁に更新されるため、常に最新の発覚した脆弱性や攻撃ベクターを検出するために、GitHubから最新のコンテンツをクローンすることを推奨します。

  2. ファイルのダウンロードが完了したら、ディレクトリを変更してスクリプトを実行してください:

    
    cd lynis && ./lynis audit system
    
  3. Lynisが緊急のセキュリティ上の欠陥を見つけた場合、それは「警告」として考慮され、提案の前に表示されます。

    
      -[ Lynis 3.1.2 Results ]-
    
      Great, no warnings
    

    上記に示されている出力が得られることを願っています。そうでない場合は、警告の原因をできるだけ早く解消することを検討してください。

  4. スキャンが完了すると、ターミナルの出力にはシステムを強化するための推奨事項のリストも含まれます。ほとんどの説明には、推奨内容の詳細を確認できるリンクも付いています。

    これらはすべて「提案」セクションに表示されており、そのセクションは警告の後にあります。また、Lynisの出力の上にさらにスクロールして、実行されたセキュリティチェックの種類と各チェックの結果を確認するのも良いアイデアです。これにより、システムのセキュリティを向上させるための他の方法が見えてくるかもしれません。

  5. セキュリティ監査をより徹底するために、ルート権限でLynisスクリプトを実行することができます。その前に、開発者はスクリプトファイルの所有者をrootユーザーに変更することを推奨しています。これにより、警告が表示されるのを防ぐことができます。

    
    sudo chown -R 0:0 lynis
    

    このコマンドは、上記のステップでの git clone コマンドによって作成された lynis ディレクトリで実行されます。

  6. さて、ルート権限でLynisセキュリティ監査を実行してみましょう。これにより、通常のユーザーアカウントの権限では不可能な追加のセキュリティチェックをスクリプトが実行できるようになります。

    
    cd lynis && sudo ./lynis audit system
    

    続く出力を確認して、以前のLynisセキュリティ監査で存在しなかった新しい警告や提案がないか確認してください。下のスクリーンショットは、Lynisからiptablesの警告を受け取ったことを示していますが、iptablesコマンドはルートユーザーのみが利用できるため、以前はチェックできませんでした。

Lynisの自動化

Lynisは、システムを監査するためのツールだけでなく、セキュリティの推奨事項を実装し、システムを強化するために必要なツールも提供する商業バージョンであるLynis Enterpriseを提供しています。また、Lynis Enterpriseには、セキュリティ監査を自動化する機能も含まれています。ただし、商業ソフトウェアにお金を払いたくない場合は、Linuxツールを使用してLynisのセキュリティ監査を自動化することができます。

Lynisは、定期的にセキュリティ監査を実行し、警告のみを受け取りたい人のために、2つの便利なオプションを提供しています。この2つのオプションは --cronjob と --quiet です:


sudo ./lynis audit system --cronjob --quiet

--cronjobオプションは、色、改行、そしてcronの実行に干渉する可能性のあるその他の美的要素を無効にすることで、よりcronフレンドリーなテストを実行します。加えて、--quietオプションは、画面に出力を表示しません。

これをcronに設定しましょう。私たちはrootユーザーとしてLynisを実行するので、通常のユーザーのcrontabではなく、rootユーザーのcrontabを編集していることを確認する必要があります。


sudo crontab -e

次に、Lynisを定期的に実行するように設定します。この例では、cronを設定してLynisを毎日深夜に実行します。結果は/root/lynis-audit.logファイルに保存されます。もちろん、これはあなたのニーズに合わせて設定してください:


0 0 * * * /root/lynis/lynis audit system --cronjob --quiet > /root/lynis-audit.log

締めくくりの考え

このチュートリアルでは、LinuxシステムでLynisを使ってセキュリティ監査を自動化する方法を見ました。最初にLynisの最新バージョンをダウンロードし、その後、通常の権限とroot権限を使用してセキュリティ監査を実施し、Lynisが発する警告や提案に注意を払いながら進めました。その後、必要なコマンドオプションをLynisで使用してcronを併用し、セキュリティ監査を自動化する方法を学びました。

関連記事: