オープンソース

一覧へ

4. 証明書検査スクリプト

証明書検査スクリプトは、netboxに登録された検査対象のURLに対して HTTPS接続を行い、証明書の検証を実施するスクリプトです。 スクリプトでは次のどちらかの条件で、アラートメールを送信します。

  • curlコマンドによりHTTPS接続ができない
  • 証明書の有効期限日までの日数がEXPIRE_WARN_DAY設定の値を下回っている

4.1. 設定ファイル

証明書検査スクリプトの設定項目は次の通りです。

  • NETBOX_URLPREF: netboxにおける本プラグインのURLにプレフィックス
  • API_ENDPOINT: netboxのapiエンドポイント
  • API_TOKEN: netboxのAPIトークン
  • MAIL_FROM: メールの送信元アドレス
  • MAIL_RECIPIENT: メールの宛先アドレス
  • SMTP_SERVER: SMTPサーバアドレス
  • SMTP_PORT: SMTPサーバポート
  • SMTP_USER: SMTP認証のユーザID
  • SMTP_PASSWORD: SMTP認証のパスワード
  • SUBJECT_PREF: メールの件名
  • EXPIRE_WARN_DAY: アラートメールを送信する閾値となる証明書の有効期限までの日数

次は設定例です。

NETBOX_URLPREF="http://127.0.0.1:8000/plugins/certchecker/certchecker"
API_ENDPOINT="http://127.0.0.1:8000/api/plugins/certchecker/certchecker/?alert=true"
API_TOKEN="your token"
MAIL_FROM="from@example.com"
MAIL_RECIPIENT="to@example.com"
SMTP_SERVER="smtp.example.com"
SMTP_PORT="587"
SMTP_USER="user"
SMTP_PASSWORD="password"
SUBJECT_PREF="[Netbox] Certificate error detected for"
EXPIRE_WARN_DAY=30

4.2. 実行方法

証明書検査スクリプトのコマンド書式は次のとおりです。

$ certchecker.sh [-c config]

オプションは次の通りです。

  • -c
    • 設定ファイルのパスを指定するためのオプションです
    • 引数が存在しない場合「/etc/netbox_certchecker.conf」を利用します。

4.3. アラートメールの例

スクリプトにより送信されるメールは次のとおりです。

Certificate error detected for https://example.com/.

ID: 32
Name: Sample certificate
URL: https://example.com/.

[Netbox resource]
URL: http://127.0.0.1:8001/plugins/certchecker/certchecker/32/

[Expire date]
Mar 3 07:32:24 2024 GMT
一覧へ