以下に例が記載されています。
https://archives2011-2018.fortinet.co.jp/security_blog/141016-poodle-faq.html

HTTPの通信ヘッダを見ると、ブラウザの情報などがわかると思います。それをみて、IEからは通信させないとか、Windows7のOSからは通信させないなどのカスタムシグネチャが作成できるはずです。

では、カスタムシグネチャを作ってみましょう。

(1)カスタムシグネチャの作成
「カスタムシグネチャ」のメニューから作成する。
たとえば、「seeeko.com」のサイトへの通信をブロックする。

以下、マニュアルではあるが、日本語化するといいだろう

https://help.fortinet.com/fos60hlp/60/Content/FortiOS/fortigate-security-profiles/IPS/Creating%20a%20custom%20signature%20to%20block%20access%20to%20example.com.htm?Highlight=F-SBID

ただし、「(」が全角だったり「--」が怪しいので、以下をどうぞ
※大文字小文字は区別する。

①カスタムシグネチャの作成
セキュリティプロファイル>カスタムシグネチャ
新規作成>IPSシグネチャ

シグネチャ名:Block.seeeko.com

F-SBID( --name "Block.seeeko.com"; --pattern "seeeko.com"; --service HTTP;-- no_case; --flow from_client; --context host; )

②defaultのシグネチャに適用する
セキュリティプロファイル>侵入防止>「IPSシグネチャ」の「シグネチャ追加」
作成したカスタムシグネチャを追加し、アクションの欄で、「デフォルト」になっているところを右クリックで「ブロック」にする。

(2)特定のOSやブラウザの通信を止める。
たとえば、古いブラウザやOSはインターネットに接続すると攻撃を受けるリスクがある。
たとえば、以下のように、「Internet Explorer」に未修正の脆弱性、すでに悪用した攻撃を確認」という記事が出ることがある。未修整の脆弱性であるから、カスタムシグネチャというのが対策の一つになりえる。
https://internet.watch.impress.co.jp/docs/news/1230236.html

どうやって作るか。実際に通信させてみて、その通信の中にある固有の情報をつかもう。たとえば、パケットキャプチャでHTTPヘッダを見るとWindows10の場合、以下のように表示される。

Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko

※余談であるが、Mozillaとなっているが、実際に使ったブラウザはIEである。

ちなみに、Windows NTに続き表記は以下のようにOSのバージョンを表す。
Windows NT 10.0 →Windows10やWindows Server2016
Windows NT 6.3 →Windows8.1など
Windows NT 6.1 →Windows7など

情報は以下
https://ja.wikipedia.org/wiki/Windows_NT%E7%B3%BB

なので、サポートが終了したWindows7のPCからの通信を止める場合には、このキーワードを入れればよい。
→もちろん、誤検知もあるので、しばらくはモニターして、問題がなさそうであればBlockがいいだろう。

シグネチャ名:Block.Windows7

F-SBID( --name "Block.Windows7"; --pattern "Windows NT 6.1"; --service HTTP;-- no_case; --flow from_client; --context header; )

テストとしてはわかりにくいので、自分が使っているバージョンのChromeのみを拒否してみよう。IEは許可されるので違いを見てみる。
注意点はSSLのサイトはヘッダ部分が暗号化されているのでスルーされる点である。SSLフルインスペクションをすればいいのだが、テストとしてはわかりにくい。
http://www.pref.shizuoka.jp/などの暗号化されていないサイトでテストがいいだろう。
※最後の「--context」部分は、先ほどの「host」ではなく、「header」である。

F-SBID( --name "Chrome/79.0"; --service HTTP; --protocol tcp; --pattern "Chrome/79.0"; --no_case; --context header; )

※ --flow from_client は、サーバではなくクライアントに限定する場合に使う。

スポンサードリンク