Lynisで始めるセキュリティ監査(Kali Linux・Ubuntu対応)

Linux/Unix系OS向けのセキュリティ監査ツール
- Lynis -

Lynisの特徴からインストール手順、監査コマンドの実行方法までを完全網羅!
検証サーバーでの実行例を交えながら監査結果の見方も解説しており、初めての方でも円滑にセキュリティ監査を開始できる内容となっています。

OpenVASやOpenSCAP、chkrootkitとの違いも解説しています。

目次

Lynisとは

Lynisは、Linux/UNIX系OSを対象としたホストベースのセキュリティ監査ツールです。主にOSやミドルウェアの設定状況を体系的にチェックし、セキュリティ上の弱点や改善ポイントを可視化する目的で利用されます。

オランダのセキュリティ企業「CISOfy」によって2007年に開発され、現在も継続的に更新されています。

最新バージョンは、2025年10月22日リリースの3.1.6です。(2026年1月5日時点)

脆弱性スキャン(CVEベース)を主目的とするツールとは異なり、Lynisは以下のような観点で監査を行います。

  • OS・カーネルの設定
  • アカウント・認証・認可設定
  • ログ・監査設定
  • 暗号化設定
  • サービス・デーモンの起動状態
  • ファイルパーミッション・所有権

200以上の監査項目を実装しており、各チェック結果に対して、「Warning(警告)」「Suggestion(改善提案)」という形で改善ポイントを提示します。これにより、単なる問題検出に留まらず、どの設定を、なぜ見直すべきかを具体的に把握できます。

Lynisの特徴

Lynisは、システム設定・運用状態を対象としたセキュリティ監査に特化したツールで、実務で扱いやすい特徴を複数備えています。ここでは、Lynisの代表的な特徴を解説します。

代表的な特徴
  • セキュリティ監査に特化
  • Linux/UNIX系OSに幅広く対応
  • 法規制やセキュリティ規格への対応状況の評価をサポート
  • コマンドライン・インタフェース(CLI)
  • エージェントレス
  • 軽量で依存関係が少ない
  • オープンソース

セキュリティ監査に特化

Lynisは、ホストベースのセキュリティ監査に特化したツールです。一般的な脆弱性スキャナが既知の脆弱性(CVE)の検出を目的とするのに対し、LynisはOSやミドルウェアの設定不備・運用上の弱点を洗い出す点に強みがあります。

チェック対象のカテゴリ(一例)
  • ユーザー/認証設定
  • カーネル設定
  • ファイアウォール・ネットワーク設定
  • ログ設定
  • ファイル権限・所有者設定 など

Lynisは200以上の監査テストを実施し、その結果をもとにHardening Index(0-100)という定量指標を算出します。このスコアは、システムの堅牢化レベルを客観的に把握するための目安として有用で、診断前後の比較や継続的な改善状況の可視化に適しています。

Linux/UNIX系OSに幅広く対応

Linuxだけでなく、複数のUNIX系OSに対応している点も特徴です。

主なサポートOS
  • Linux(CentOS、Debian、Fedora、openSUSE、Oracle Linux、RHEL、Ubuntu など)
  • FreeBSD、NetBSD、OpenBSD
  • macOS
  • AIX、HP-UX、Solaris

OS固有の設定ファイルやサービス構成を認識した上でテストが実行されるため、OS差異を意識せずに監査を実施できます。これは、複数OSが混在するオンプレミス環境やクラウド基盤(IaaS)において、監査手法を標準化したい場合に特に有効です。

法規制やセキュリティ規格への対応状況の評価をサポート

さまざまな国際的なセキュリティ基準や法令準拠(コンプライアンス)への適合状況を評価するための補助ツールとしても活用できます。

例えば、以下の規格に関して評価対象となるチェック項目が含まれています。

  • HIPAA(医療保険の携行性と責任に関する法律)
  • ISO/IEC 27001(情報セキュリティマネジメントシステム)
  • PCI DSS(クレジットカード業界の国際セキュリティ基準)

ただし、Lynis自体にはコンプライアンス遵守を保証する仕組みを備えていません。そのため、他の監査ツールや手動による確認と併用する運用が一般的です。とはいえ、初期段階における自己診断や継続的なセキュリティ監査においては、非常に有効なツールであると言えます。

コマンドライン・インタフェース(CLI)

CLIベースで動作するため、GUIに対応していないサーバー環境でも利用可能です。

lynis audit systemコマンドを実行するだけで監査を開始でき、結果は標準出力に加え、レポートファイル(/var/log/lynis-report.dat)にも出力されます。

この仕組みにより、cronによる定期実行や、JenkinsなどのCI/CDパイプラインへの組み込みが可能となり、監査プロセスの自動化が実現できます。

エージェントレス

エージェントレス方式を採用しており、対象ホストに常駐プロセスやデーモンをインストールする必要がありません。実行時にローカルシステム上の設定ファイル、カーネルパラメータ、インストール済みパッケージ、ログ設定などを直接参照し、監査を完結させます。

軽量で依存関係が少ない

シェルスクリプトで構築しており、動作に必要な依存関係が極めて少ない点も特徴です。基本的なUNIXコマンド(例:grep、awk、sedなど)だけで実装されているため、環境差異の影響を受けにくく、追加設定なしで動作します。

オープンソース

GPLv3ライセンスのもとで公開されており、ソースコードはGitHub上で誰でも閲覧・取得・改変することが可能です。商用ライセンスを必要としないため、コスト面でも非常に導入しやすく、中小企業やスタートアップにも適しています。

他のセキュリティツールとの違い

Lynisはホストベースのセキュリティ監査に特化したツールであり、同じオープンソース系のセキュリティツールであっても、目的・適用範囲・運用モデルが異なります。

以下では、代表的なツールとの違いを整理します。

代表的なセキュリティツール
  • OpenVAS(脆弱性スキャナ)
  • OpenSCAP(SCAP準拠のセキュリティ監査・評価ツール)
  • chkrootkit(ルートキット検出ツール)

OpenVASとの違い

OpenVAS(現:GVM/Greenbone Community Edition)は、既知の脆弱性(CVE)を対象とした脆弱性スキャナです。外部から対象システムに対してリモートスキャンを行い、脆弱性を検出します。

一方、Lynisは内部視点のセキュリティ監査に特化しており、OS内部の構成設定(例:ログの設定、ファイル権限、カーネルパラメータ)やセキュリティ対策の実装状況をチェックします。

OpenSCAPとの違い

OpenSCAPは、SCAP(Security Content Automation Protocol)に準拠したポリシーベースの検証ツールで、NIST(米国国立標準技術研究所)が定めたセキュリティ標準に基づいた監査を自動化することができます。

Lynisも類似の目的(ポリシー準拠の検証)を持ちますが、SCAP形式に依存せず、独自ロジックによる柔軟な監査項目を備えた軽量ツールです。

chkrootkitとの違い

chkrootkitは、UNIX系システムにおける既知のルートキットを検出することに特化したツールです。具体的には、プロセスの異常挙動やシステムコマンドの改ざんを検出し、マルウェアの痕跡を調査します。

Lynisにもマルウェア検出機能は含まれていますが、より広範な観点でシステム全体のセキュリティ状態を監査する目的で設計されています。

Lynisのインストール

このセクションでは、代表的な導入方法として、

  • APTでパッケージをインストールする方法
  • GitHubからソースコードをクローンする方法

をそれぞれ解説します。

インストール対象のOS・バージョン
  • Kali Linux 2025.3
  • Ubuntu 24.04

APTでパッケージをインストールする場合

Kali Linux、およびUbuntuの場合、APTリポジトリでLynisが管理されているためaptコマンドでインストールすることができます。

2026年1月5日現在、UbuntuのAPTリポジトリで管理しているLynisのバージョンが古い(3.0.9)ため、後述するGitHubからの取得を推奨します。

$ apt show lynis
Package: lynis
Version: 3.0.9-1
〜 以下、省略 〜

そのため、aptコマンドの実行結果は、Kali Linux 2025.3で実行した内容を掲載しています。

STEP

パッケージリストの更新

まず、パッケージリストを最新の状態に更新します。

$ sudo apt update
STEP

パッケージ情報を確認

次に、apt showコマンドでLynisのパッケージ情報を確認します。

$ apt show lynis
Package: lynis
Version: 3.1.6-1
Priority: optional
Section: utils
Maintainer: Marc Dequènes (Duck) <Duck@DuckCorp.org>
Installed-Size: 1,763 kB
Depends: e2fsprogs
Recommends: menu
Suggests: bind9-dnsutils, apt-listbugs, debsecan, debsums, tripwire, samhain, aide, fail2ban
Homepage: https://cisofy.com/lynis/
Tag: interface::commandline, role::program, scope::utility,
 security::integrity, security::log-analyzer, use::checking,
 use::monitor
Download-Size: 276 kB
APT-Sources: http://http.kali.org/kali kali-rolling/main amd64 Packages
Description: security auditing tool for Unix based systems
 Lynis is an auditing tool for hardening GNU/Linux and Unix based systems.
 It scans the system configuration and creates an overview of system information
 and security issues usable by professional auditors.
 It can assist in automated audits.
 .
 Lynis can be used in addition to other software, like security
 scanners, system benchmarking and fine-tuning tools.
STEP

Lynisパッケージをインストール

バージョンなどパッケージ情報に問題がなければ、Lynisをインストールします。

$ sudo apt install lynis

この操作により、Lynis本体と必要な依存パッケージが自動的にインストールされます。

STEP

インストール後の確認

最後に、バージョン情報を表示してインストールが正常に完了していることを確認します。

# コマンドパスの確認
$ which lynis
/usr/sbin/lynis

# バージョン確認
$ lynis --version
3.1.6

GitHubからソースコードをクローンする場合

GitHubのLynisリポジトリをローカル環境に取得(クローン)します。Lynisはパッケージマネージャ経由でもインストール可能ですが、最新バージョンを利用したい場合はGitHubリポジトリから直接ダウンロードする方法が推奨されます。

STEP

GitHubからLynisをダウンロード

まず、GitHubリポジトリからLynisをクローンします。

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

バージョン確認

次に、正常にクローンできたかを確認するため、バージョンをチェックします。

$ cd lynis
$ ./lynis --version

Lynisは追加のビルド作業が不要で、展開したディレクトリ内から直接実行する構成になっています。

STEP

所有者の変更

最後にLynisのディレクトリ所有者をrootに変更します。

$ sudo chown -R 0:0 lynis

0:0は、rootユーザーとrootグループを意味します。

一般ユーザーがsudo ./lynisコマンドを実行すると、ユーザー所有のファイルがroot権限で実行されることになります。これにより、Lynisのセキュリティ保護機能が作動し、以下の警告が表示されます。

[!] Change ownership of /home/test-user/tools/lynis/include/functions to 'root' or similar (found: test-user with UID 1000).

    Command:
      # chown 0:0 /home/test-user/tools/lynis/include/functions

[X] Security check failed

    Why do I see this error?
    -------------------------------
    This is a protection mechanism to prevent the root user from executing user created files. The files may be altered, or including malicious pieces of script.

    What can I do?
    ---------------------
    Option 1) Check if a trusted user created the files (e.g. due to using Git, Homebrew or similar).
              If you trust these files, you can decide to continue this run by pressing ENTER.

    Option 2) Change ownership of the related files (or full directory).

       Commands (full directory):
         # cd ..
         # chown -R 0:0 lynis
         # cd lynis
         # ./lynis audit system

[ Press ENTER to continue, or CTRL+C to cancel ]

セキュリティ監査は原則、root権限で実行するため、あらかじめ所有者を変更しておきましょう。

Lynisの使い方

ここでは、Lynisの基本的な使い方について、APTパッケージマネージャからLynisをインストールした環境を前提に解説します。

構築方法によるコマンドの違い

APTでLynisパッケージをインストールした場合lynisコマンド
GitHubからLynisを取得した場合./lynisコマンド
※ダウンロード先のディレクトリで実行

GitHubからLynisを取得した場合、ダウンロード先のディレクトリで./lynisコマンドを実行します。

セキュリティ監査の実行

$ sudo lynis audit system

Lynisによるセキュリティ監査は、上記のコマンドで実行します。

Lynisは、原則として管理者権限で実行する必要があります。一般ユーザーでLynisを実行すると、非特権モードで動作し、管理者権限を必要とするテストはスキップされます。

進行状況はターミナルにリアルタイム表示され、監査結果はファイルにも出力されます。

  • /var/log/lynis.log:時系列に記録したログ
  • /var/log/lynis-report.dat:監査結果のレポートデータ

※一般ユーザーでLynisを実行した場合、実行ユーザーのホームディレクトリに保存されます。

ヘルプ

# ヘルプ
$ lynis --help

# 特定コマンドに関するヘルプ
$ lynis show help <command>

バージョン確認

$ lynis --version
$ lynis -V
$ lynis show version

アップデート情報

Lynisのアップデート情報は、lynis update infoコマンドで確認できます。

実行結果(最新バージョンの場合)

$ lynis update info

 == Lynis ==

  Version            : 3.1.6
  Status             : Up-to-date
  Release date       : 2025-10-22
  Project page       : https://cisofy.com/lynis/
  Source code        : https://github.com/CISOfy/lynis
  Latest package     : https://packages.cisofy.com/

実行結果(バージョンが古い場合)

$ lynis update info

 == Lynis ==

  Version            : 3.0.9
  Status             : Outdated
  Installed version  : 309
  Latest version     : 316
  Release date       : 2023-08-03
  Project page       : https://cisofy.com/lynis/
  Source code        : https://github.com/CISOfy/lynis
  Latest package     : https://packages.cisofy.com/

【実行例】Kali LinuxでLynisを実行してみた

このセクションでは、Kali LinuxでLynisを実行し、実際にどのような監査結果が得られるのかを確認します。

STEP

実行環境の概要

今回使用する検証環境は、以下の通りです。

項目内容
OSKali Linux 2025.3
カーネルバージョン6.16.8+kali-amd64
Lynisバージョン3.1.6(APTパッケージ版)
実行ユーザーroot(sudo使用)
STEP

Lynisの実行

$ sudo lynis audit system

上記コマンドを実行すると、システム構成情報の収集、サービス設定、ログ監視、脆弱性の兆候など多岐にわたるチェックを開始します。

LynisをGitHubから取得した場合、ダウンロード先のディレクトリにてsudo ./lynis audit systemコマンドを実行して下さい。

STEP

実行中のチェック内容

Lynisでは、以下のカテゴリごとにチェックが行われます。

  • システムツール
  • Plugins (フェーズ 1)
  • Debian Tests
  • 起動とサービス
  • カーネル
  • メモリーとプロセス
  • ユーザー、グループ、認証
  • ケルベロス認証
  • シェル
  • ファイルシステム
  • USBデバイス
  • ストレージ
  • NFS
  • DNS
  • ポートとパッケージ
  • ネットワーク
  • プリンターとスプール
  • ソフトウェア: メールとメッセージ
  • ソフトウェア: ファイアウォール
  • ソフトウェア: ウェブサーバー
  • SSHサポート
  • SNMPサポート
  • データベース
  • LDAPサービス
  • PHP
  • Squidサポート
  • ログと削除されたファイル
  • 危険なサービス
  • バナー
  • 定期実行
  • 監査
  • 時刻同期
  • 暗号
  • 仮想化
  • コンテナー
  • セキュリティーフレームワーク
  • ソフトウェア: ファイル改ざん防止
  • ソフトウェア: システム管理
  • マルウェア
  • ファイルの権限
  • ホームディレクトリ
  • カーネルの堅牢化
  • 堅牢化
  • カスタムテスト
  • Plugins (フェーズ 2)
STEP

指摘事項

各カテゴリごとのチェックが完了すると、検出された指摘事項が表示されます。今回の検証では、Warningsが1件、Suggestionsが48件でした。

指摘事項(抜粋)

-[ Lynis 3.1.6 Results ]-

Warnings (1):
----------------------------
! iptables module(s) loaded, but no rules active [FIRE-4512]
    https://cisofy.com/lynis/controls/FIRE-4512/

Suggestions (48):
----------------------------
* Install libpam-tmpdir to set $TMP and $TMPDIR for PAM sessions [DEB-0280]
  - Related resources
    * Website: https://cisofy.com/lynis/controls/DEB-0280/

* Install apt-listbugs to display a list of critical bugs prior to each APT installation. [DEB-0810]
  - Related resources
    * Website: https://cisofy.com/lynis/controls/DEB-0810/

* Install apt-listchanges to display any significant changes prior to any upgrade via APT. [DEB-0811]
  - Related resources
    * Website: https://cisofy.com/lynis/controls/DEB-0811/

〜 以下、省略 〜

Warnings(警告)

Warnings(警告)は、すぐに修正すべき重要なセキュリティ上の問題 を示しています。

識別子指摘内容
FIRE-4512iptablesのカーネルモジュールはロードされているが、実際に有効なファイアウォールルールが設定されていない。

Suggestions(改善提案)

Suggestions(改善提案)は、セキュリティ強化のための推奨事項 を示しています。警告ほど緊急ではありませんが、セキュリティレベルを向上させるために検討すべき項目です。

識別子指摘内容
DEB-0280PAMセッションごとに専用の一時ディレクトリ($TMP、$TMPDIR)を設定するためにlibpam-tmpdirの導入を推奨。
DEB-0810apt-listbugsのインストールを推奨。(APTでパッケージをインストールする前に、重大な既知バグを警告表示する)
DEB-0811apt-listchangesのインストールを推奨。(APTによるアップグレードを行う前に、パッケージに加えられた重要な変更点を表示する)
STEP

監査結果のサマリ

セキュリティ監査が終了すると、以下のようなサマリが表示されます。

Lynis security scan details:

Scan mode:
Normal [▆]  Forensics [ ]  Integration [ ]  Pentest [ ]

Lynis modules:
- Compliance status      [?]
- Security audit         [V]
- Vulnerability scan     [V]

Details:
Hardening index : 62 [############        ]
Tests performed : 272
Plugins enabled : 1

Software components:
- Firewall               [V]
- Intrusion software     [X]
- Malware scanner        [X]

Files:
- Test and debug information      : /var/log/lynis.log
- Report data                     : /var/log/lynis-report.dat

今回のスコア(Hardening Index)は「62/100」でした。Lynisはセキュリティの強化度をこのスコアで可視化します。

Lynisの実行結果は、以下のファイルにも出力されます。

  • /var/log/lynis.log:時系列に記録したログ
  • /var/log/lynis-report.dat:監査結果のレポートデータ

まとめ

Lynisは、Linux/UNIX系OSにおけるセキュリティ監査を自動化するための強力なツールです。エージェントレスかつ軽量でありながら、200項目以上のチェックを自動実行し、システムの設定不備や運用上のリスクを定量的に可視化できる点は、他のセキュリティツールと比較しても大きな強みと言えます。

特に、

  • 監査スコア(Hardening Index) により、セキュリティ状態を数値で把握できる
  • ISO/IEC 27001、PCI DSS、HIPAAなど、主要なセキュリティ規格・法規制への対応状況を評価する観点が組み込まれている
  • cronやCI/CDに組み込みやすく、継続的なセキュリティチェックを低コストで実現できる

といった点は、企業システムの運用管理や内部監査、ISMS運用において、高い有用性を発揮します。

一方で、Lynisはネットワーク経由の脆弱性スキャンを主目的としたツールではありません。そのため、OpenVASなどの脆弱性スキャナと併用することで、ホスト内外のリスクを網羅的に評価することができます。

デフォラボ

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
目次