$30 off During Our Annual Pro Sale. View Details »

AntiPortscan-20190925

hiro
September 25, 2019

 AntiPortscan-20190925

hiro

September 25, 2019
Tweet

More Decks by hiro

Other Decks in Technology

Transcript

  1. IDS/IPSのお話

    ~ポートスキャンを遮断してみた~

    第31回ゼロから始めるセキュリティ入門 勉強会

    2019/09/25

    hiro(@ctrl_z3r0) a.k.a ねこさん⚡(@catnap707)


    View Slide

  2. 自己紹介


    View Slide

  3. アジェンダ

    1 IDS/IPSとは

    2 IDS/IPSの仕組み

    3 ポートスキャンとは

    4 代表的なOSS(Snort/Suricata/PortSentry)

    5 PortSentryでポートスキャンを遮断

    6 Snortでポートスキャンを遮断

    7 まとめ

    ■参考情報

    ・IDS・IPS(不正侵入検知・防御)とは?違いや仕組みを図解!(2019-03-15)

     https://it-trend.jp/ids-ips/article/explain

    ・IDS・IPSとは?不正侵入検知・防御サービス解説(2019-04-18)

     https://www.kagoya.jp/howto/network/ids-ips/

    ・情報セキュリティ入門 IDSとIPS(2006-09-05)

     https://tech.nikkeibp.co.jp/it/article/COLUMN/20060830/246798/

    ・無料で使えるIDS製品2選!OSSのメリットと注意点も解説!(2019-05-24)

     https://it-trend.jp/ids-ips/article/257-0026

    ・IPSの接続形態(インラインモードとプロミスキャスモード)とその特徴について()

     http://sayacafe.sub.jp/sec/no007.php

    ・侵入防止システム(IPS)を探る(2005-07-14)

    https://japan.zdnet.com/article/20085358/


    View Slide

  4. 4
    1 IDS/IPSとは


    View Slide

  5. IDS/IPSとは(1/3)

    5
    ■IDS/IPSの概要  

    ■参考情報

    ・ハニーポットとは - IT用語

     https://e-works.jp/w/ハニーポット.html

    ・ハニーポット - WikiPedia

     https://ja.wikipedia.org/wiki/ハニーポット

     IDS(Intrusion Detection System)は、不正に侵入しようとする通信を検
    知するシステム、IPS(Intrusion Prevention System)は、不正侵入を防止
    するシステムを指します。

    ネットワーク型

    設置
 ネットワーク上に設置

    (インラインモードと、プロミスキャスモード)

    監視範囲
 ネットワークセグメント

    ホスト型

    設置
 サーバ上にインストール

    監視範囲
 サーバ


    View Slide

  6. 6
    ■設置方法による違い 

       

    IDS/IPSとは(2/3)

    ネットワーク型

    インライン

    モード

    通信路上に設置し、全てのパケットを
    検査する

    プロミスキャス

    モード

    スイッチングHUBのミラーポートに

    設置し、パケットを検査する

    ホスト型
 ー
 ホストに到達したパケットを検査する

    ■参考情報

    ・IPSの接続形態(インラインモードとプロミスキャスモード)とその特徴について()

     http://sayacafe.sub.jp/sec/no007.php

    ・侵入防止システム(IPS)を探る(2005-07-14)

    https://japan.zdnet.com/article/20085358/

    IPアドレスは

    割り当てない。


    View Slide

  7. 7
    IDS/IPSとは(3/3)

    ■FireWall、WAFとの違い

    ■参考情報

    ・WAFとIPS/IDSのちがいとは?(2019-05-08)

     https://www.shadan-kun.com/blog/measure/1390/

    ・IDS・IPSとWAF、ファイアウォールの違いとは?(2019-03-25)

     https://it-trend.jp/ids-ips/article/difference

    ・WAFとは | ファイアウォールやIPS/IDSとの違いと関係性・仕組みや導入方法(2019-03-12)

     https://boxil.jp/mag/a2381/


    View Slide

  8. 8
    2 IDS/IPSの仕組み


    View Slide

  9. IDS/IPSの仕組み(1/2)

    9
    ■IPSはどうやって遮断しているのか

     TCPのコネクションをリセットしている。

     IPSが、それぞれ相手を偽装したRSTパケットを送信している。

    ターゲット
    攻撃者
    攻撃者 ターゲット
    攻撃者
    ターゲット
    RST

    パケット

    RST RST
    RST

    パケット

    IPS
    ■参考情報

    ・RSTパケット 【 reset packet 】 RST packet

     http://e-words.jp/w/RSTパケット.html

    ・第15回 信頼性のある通信を実現するTCPプロトコル(2) (2/3)(2004-01-29)

     https://www.atmarkit.co.jp/ait/articles/0401/29/news080_2.html

     UDPの場合は、ICMPの不達通知パケット(Destination Unreachable)を送信。


    View Slide

  10. IDS/IPSの仕組み(2/2)

    10
     シグネチャ検知(パターンマッチング)と、アノマリ検知(異常通信を検知)が
    ある。ウイルス対策ソフトと同じように、パターンファイルや検索エンジンの
    アップデートが欠かせない。

    ■シグネチャ検知とアノマリ検知

     フォールスポジティブ(FP:False Positive)は、正常なものを異常と誤検知す
    ること。(過検知)

     フォールスネガティブ(FN:False Negative)は、異常なものを正常として見逃
    すこと。(検出漏れ)

    ■フォールスポジティブとフォールスネガティブ

    ■参考情報

    ・フォールスポジティブ(誤検知)やフォールスネガティブ(見逃し)(2018-11-28)

     http://sc.seeeko.com/archives/4559461.html

    ・誤検知 - F5 GLOSSARY

     https://www.f5.com/ja_jp/services/resources/glossary/false-positive

    フォールス ポジティブは、シグネチャの追加時に発生しやすくなる。

    フォールス ネガティブは、新たに発見された攻撃手法のシグネチャを

    継続的に追加していくことで発生頻度を下げていくことが可能。


    View Slide

  11. 11
    3 ポートスキャンとは


    View Slide

  12. 12
    ポートスキャンとは

    ■参考情報

    ・ポートスキャン 【 port scan 】 ポートスキャニング / port scanning

     http://e-words.jp/w/ポートスキャン.html

    ・攻撃はポートスキャンから始まる(上)(2004-04-28)

     https://tech.nikkeibp.co.jp/it/members/NBY/Security/20040415/1/

    ■攻撃はポートスキャンから始まる

    ポートスキャンとは、ネットワークを通じた攻撃手法の一つで、対象のコン
    ピュータのTCPあるいはUDPのポートに接続を試み、機能停止や侵入などの
    攻撃に使えそうな脆弱性がないか調べること。特に、多数あるいは全ての
    ポートに次々に連続的にアクセスし、各ポートの状態を網羅的に調べあげる
    こと。


    View Slide

  13. 13
    4 代表的なOSS

    (Snort/Suricata/PortSentry)


    View Slide

  14. 代表的なOSS(Snort)

    14
    ■ネットワーク型IDS/IPS

    ソフトウェア
 Snort(スノート)

    特徴
 Snortはパケットスニファ/パケットロガーとして開発。

    ポートスキャンや、OSフィンガープリント調査、サーババナー
    探索、バッファオーバーフロー攻撃などを検知可能。

    検知ルールを自作することも可能。

    oinkmasterツールで検知ルールの自動更新が可能。

    リリース
 初期:1998年ごろ ※2013年7月にCiscoが買収

    安定版:2.9.14.1(2019-08-02)

    公式HP
 https://www.snort.org/

    ■参考情報

    ・Snortでつくる不正侵入検知システム(1):不正侵入検知システムを知る (1/3)(2004-08-10)

     https://www.atmarkit.co.jp/ait/articles/0408/10/news087.html

    ・Snort (software) - Wikipedia

     https://en.wikipedia.org/wiki/Snort_%28software%29


    View Slide

  15. 代表的なOSS(Suricata)

    15
    ■ネットワーク型IDS/IPS

    ソフトウェア
 Suricata(スリカタ)※ミーアキャット(マングース科)

    特徴
 マルチスレッド対応のエンジン。ネイティブIPv6サポート、ファ
    イル解凍機能及びその他多くの機能。

    既存のSnortルールを読み込むことができる。

    Snorbyツールで、ログをGUIで表示可能。

    リリース
 初期:1.0(2010-07-01)

    安定版:4.1.4(2019-04-30)

    公式HP
 https://suricata-ids.org/

    ■参考情報

    ・Suricata freecode日本語情報ページ - OSDN(2014-05-21)

     https://ja.osdn.net/projects/freshmeat_suricata/

    ・【初心者向け】オープンソースのIPS「Suricata」をCentOSに構築した話(2016-11-10)

    https://qiita.com/curryperformer-kato/items/60b88418a2c7c22d3a61

    ・趣味でIPSを使ってみた話(2017-12-16)

     https://qiita.com/kouta_hara/items/4229be2ef36e00778a22


    View Slide

  16. 代表的なOSS(PortSentry)

    16
    ■ホスト型IDS/IPS

    ソフトウェア
 PortSentry(ポートセントリー)

    特徴
 設定がシンプルで導入が容易なIPS/IDS。

    設定したポートへのアクセスを検知し、送信元IPアドレスを
    iptablesやhosts.denyに登録しアクセスを拒否する。

    リリース
 初期:1.0(2003-05-03) ※2002年にCiscoが買収

    安定版:1.2(2003-05-23)

    公式HP
 https://sourceforge.net/projects/sentrytools/

    ■参考情報

    ・Sentry Tools(2016-07-16)

     https://sourceforge.net/projects/sentrytools/

    ・PortSentry に関する日本語情報(2010-05-24)

     http://pocketstudio.jp/linux/?PortSentry

    ・Nmap対策Portsentry 不正アクセス撲滅委員会[即BAN]

     https://sys-guard.com/post-2110/

    ・Psionic PortSentry サポートに関する FAQ(2006-01-19)

     https://www.cisco.com/c/ja_jp/support/docs/security/ips-4200-series-sensors/62957-psionic-portsentry.html


    View Slide

  17. 17
    5 PortSentryでポートスキャンを遮断


    View Slide

  18. PortSentryの場合(1/3)

    18
    ■参考情報

    ・Sentry Tools(2016-07-16)

     https://sourceforge.net/projects/sentrytools/

    ・PortSentry に関する日本語情報

     http://pocketstudio.jp/linux/?PortSentry

    ・Nmap対策Portsentry 不正アクセス撲滅委員会[即BAN]

     https://sys-guard.com/post-2110/

    ■PortSentryの構築(Ubuntuの例)

    【aptでインストール】

    $ sudo apt install portsentry


    【設定ファイル】

    /etc/portsentry/portsentry.conf


    【実行】

    $ sudo service portsentry start


    【ログ】

    /var/lib/portsentry/portsentry.blocked.tcp

    /var/lib/portsentry/portsentry.blocked.udp

    /var/lib/portsentry/portsentry.history



    View Slide

  19. TCP_PORTS="21,25,79,80,110,111,119,123,139,143,443,445,1080,3128,3389,8080,12345"
    UDP_PORTS="69,135,137,138"
    ADVANCED_PORTS_TCP="1024"
    ADVANCED_PORTS_UDP="1024"
    ADVANCED_EXCLUDE_TCP="113,139"
    ADVANCED_EXCLUDE_UDP="520,67"
    IGNORE_FILE="/etc/portsentry/portsentry.ignore"
    HISTORY_FILE="/var/lib/portsentry/portsentry.history"
    BLOCKED_FILE="/var/lib/portsentry/portsentry.blocked"
    RESOLVE_HOST = "0"
    BLOCK_UDP="1"
    BLOCK_TCP="1"
    KILL_ROUTE="/sbin/iptables -I INPUT -s $TARGET$ -j DROP"
    KILL_HOSTS_DENY="ALL: $TARGET$ : DENY"
    SCAN_TRIGGER="0"
    PortSentryの場合(2/3)

    19
    “1”にすると、iptablesでDROPできる。

    ・/etc/portsentry/portsentry.conf   

    監視対象のポート番号を設定する。


    View Slide

  20. PortSentryの場合(3/3)

    20
    portsentry[2430]: attackalert: Connect from host: 10.0.0.x/10.0.0.x to TCP port: 21
    portsentry[2430]: attackalert: Host 10.0.0.x has been blocked via wrappers with
    string: "ALL: 10.0.0.x : DENY"
    portsentry[2430]: attackalert: Host 10.0.0.x has been blocked via dropped route
    using command: "/sbin/iptables -I INPUT -s 10.0.0.x -j DROP"
    ALL: 10.0.0.x : DENY
    Chain INPUT (policy ACCEPT)
    target prot opt source destination
    DROP all -- 10.0.0.x 0.0.0.0/0
    Chain FORWARD (policy ACCEPT)
    target prot opt source destination
    Chain OUTPUT (policy ACCEPT)
    target prot opt source destination
    ・/var/log/syslog   

    ・/etc/hosts.deny  

    ・iptables -L -n  

    FTP(21/tcp)へのアクセスを検知
    し、DROP


    View Slide

  21. PortSentryの場合(ログイメージ)

    21

    View Slide

  22. 22
    6 Snortでポートスキャンを遮断


    View Slide

  23. Snortの場合(1/3)

    23
    ■参考情報

    ・Snort - Network Intrusion Detection & Prevention System 

     https://snort.org/

    ・10分で出来る snort インストールと検知テスト(2013-07-16)

     https://www.morihi-soc.net/?p=29

    ■Snortの構築(Ubuntuの例)

    【aptでインストール】

    $ sudo apt install snort


    【設定ファイル】

    /etc/snort/snort.conf


    【実行】

    $ sudo service snort start


    【ログ】

    /var/log/snort/snort.log

    /var/log/snort/snort.alert

    /var/log/syslog




    View Slide

  24. # Portscan detection. For more information, see README.sfportscan
    preprocessor sfportscan: proto { all } memcap { 10000000 } sense_level { low }
    # syslog
    # output alert_syslog: LOG_AUTH LOG_ALERT
    output alert_syslog: LOG_LOCAL0
    Snortの場合(2/3)

    24
    ・/etc/snort/snort.conf   

    portscanのプリプロセッサを有効

    /var/log/syslogへ出力

    ・/etc/rsyslog.conf   

    local0.* /var/log/snort/snort.log
    ・/etc/snort/rules/scan.rules  

    #alert tcp $EXTERNAL_NET any -> $HOME_NET any (msg:"SCAN nmap XMAS"; flow:stateless;
    flags:FPU,12; reference:arachnids,30; classtype:attempted-recon; sid:1228; rev:7;)
    alert tcp $EXTERNAL_NET any -> $HOME_NET any (msg:"SCAN nmap XMAS FlexResp";
    flow:stateless; flags:FPU,12; reference:arachnids,30; classtype:attempted-recon;
    sid:1228; rev:7; resp:rst_all)
    FlexRespでRSTパケットを送るという指定

    ■参考情報

    ・FlexResp で自己防衛を行う (2019-05-18)

     http://safe-linux.homeip.net/security/linux-snort3-12.html


    View Slide

  25. Snortの場合(3/3)

    25
    ■nmapによるポートスキャンを遮断   

    遮断すると空きポートが検知されない。


    ALL 1000 scanned ports on xx are closed


    View Slide

  26. 26
    7 まとめ


    View Slide

  27. ◆攻撃を観察してみよう!

    27
    まとめ

    ◆どんな仕組みか考えてみよう

    ◆ネットワークの知識は役に立つので勉強

     しよう!


    View Slide

  28. ご清聴ありがとうございました。

    28
    フォロー待ってるニャ!

    @catnap707


    View Slide

  29. 29

    View Slide