![見出し画像](https://assets.st-note.com/production/uploads/images/99407900/rectangle_large_type_2_940b768215a4e435f158d7811bb25da7.png?width=1200)
TWSNMP FCのポーリング辞典:TLS(暗号通信)接続をモニターする
最近はほとんどの通信でセキュリティーのためにTLS(暗号化通信)が利用されています。TWSNMP FCでTLSをモニターするポーリングについての説明です。
動画ダイジェスト
TLSをモニターするポイント
まずTLSについては、
です。Webブラウザーでのアクセスやメールの転送などで暗号通信のために使われています。このTLSをモニタするためのポイントは、
・接続可否
・証明書の検証
・証明書の有効期限
・TLSのバージョン
です。TWSNMP FCでは、これらの項目に対応したポーリングがあります。
ちなみに、サーバー証明書の検証ができないサイトにブラウザーでアクセスすると
![](https://assets.st-note.com/img/1677875378402-txS9pIePcU.png?width=1200)
のようなことになります。
ポーリング設定
TLSのポーリングは
![](https://assets.st-note.com/img/1677873618665-phmDts25pw.png?width=1200)
のような設定です。
種別
TLSを設定します。
モード
モードには、
verify
証明書を検証します。証明書が無効なものの場合、接続できても障害とします。
version
TLSのバージョンを指定して接続確認します。判定スクリプトに接続するバージョンを指定します。1.0,1.1,1.2,1.3を指定できます。指定したバージョンで接続できた場合を正常としますが指定するバージョンに!をつけると接続できた場合に障害とします。!1.0とすれば、1.0で接続できた場合は障害です。
expire
証明書の期限切れをモニタするモードです。パラメータに証明書期限までの残り日数を指定います。30を指定すれば、期限まで30日以下になった時に異常と判断します。
パラメータ
ノードのIPアドレスにアクセスする場合は、ポート番号だけ指定します。
証明書の検証のためにホスト名でアクセスするためには、ホスト名:ポート番号を指定します。
lhx98.linkclub.jp:443
のような感じです。
判定スクリプト
verifyモードの場合は不要です。
versionモードで、TLS V1.0で接続での接続を禁止したい場合は、
![](https://assets.st-note.com/img/1677874549250-gk7wz6eDOJ.png?width=1200)
のように設定します。
証明書の期限が30日を切ったことを知りたければ、
![](https://assets.st-note.com/img/1677874790909-56YuL53yrR.png?width=1200)
のように判定スクリプトに30と設定します。
ポーリング結果
ポーリングの結果には、
![](https://assets.st-note.com/img/1677874879731-nHAAsthUSg.png?width=1200)
のようにTLS(暗号通信)の情報が記録されます。
cipherSuite
暗号通信の強度を示す
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
のような値です。この後の安全なTLS暗号通信設定を見てください。
rtt
応答時間
valid
証明書の検証結果です。
version
TLS通信のバージョンです。
issuer
証明書の発行者の情報です。expireモードだけ記録します。
notafter
証明書の有効期限です。expireモードだけ記録します。
subject
証明書の対象です。expireモードだけ記録します。
安全なTLS暗号通信設定
IPAが
という資料を公開してます。この資料に安全な通信のためのTLSのバージョンや暗号強度の設定が記載されています。最近では、TLS1.0,1.1で通信するのは安全ではないとしてTLSv1.2,1.3だけに制限するような風潮になっています。TWSNMP FCでTLSのバージョンや暗号強度をモニターするポーリングに対応した理由には、このような背景があります。
ポーリングテンプレート
この記事あで説明したポーリングのテンプレートは、
![](https://assets.st-note.com/img/1677874939492-bCMUT11arh.png?width=1200)
のようにTLSで検索すれば見つかります。
定義は、
{
"Name": "TLS証明書期限",
"Type": "tls",
"Mode": "expire",
"Params": "ポート番号または、ホスト名:ポート番号を指定",
"Script": "30",
"Level": "low",
"Descr": "サーバー証明書の期限が30日以内を検知",
"AutoMode": "443,2181,8080,8888"
},
{
"Name": "TLS v1.0 接続検知",
"Type": "tls",
"Mode": "version",
"Params": "ポート番号または、ホスト名:ポート番号を指定",
"Script": "!1.0",
"Level": "low",
"Descr": "TLS v1.0で接続できることを検知",
"AutoMode": "443,2181,8080,8888"
},
{
"Name": "TLS証明書検証",
"Type": "tls",
"Mode": "verify",
"Params": "ポート番号または、ホスト名:ポート番号を指定",
"Level": "low",
"Descr": "サーバー証明書を検証",
"AutoMode": "443,2181,8080,8888"
},
です。
開発のための諸経費(機材、Appleの開発者、サーバー運用)に利用します。 ソフトウェアのマニュアルをnoteの記事で提供しています。 サポートによりnoteの運営にも貢献できるのでよろしくお願います。