LinuCレベル3 303試験の例題と解説

328.2ネットワークの侵入検知

LinuCレベル3 303試験の出題範囲から「328.2 ネットワークの侵入検知」についての例題を解いてみます。
このテーマは、ネットワークにおけるセキュリティスキャンや侵入検知などセキュアな環境を構築するためのソフトウェアに関する内容が含まれます。システムに対する新しい攻撃手法が公開された場合には、攻撃に対する対策を反映させる必要がある為、しっかりと理解しておきましょう。各ソフトウェアを実際に使ってみるのがおすすめの学習法です。

Linucレベル3 303試験 出題範囲


例題

以下の条件に合うSnortルールのヘッダー記載方法として正しいものを選択せよ。

・TCP通信
・送信元ネットワーク:変数HOME_NETで定義
・送信元ポート番号:any
・宛先ネットワーク:変数EXTERNAL_NETで定義
・宛先ポート番号:変数HTTP_PORTで定義

  1. alert tcp $HOME_NET any -> $EXTERNAL_NET $HTTP_PORT
  2. alert udp $HOME_NET any -> $EXTERNAL_NET $HTTP_PORT
  3. alert tcp $HOME_NET $HTTP_PORT -> $EXTERNAL_NET any
  4. alert tcp $HOME_NET any > $EXTERNAL_NET $HTTP_PORT

※この例題は実際の試験問題とは異なります。


解答と解説

正解は、「1.alert tcp $HOME_NET any -> $EXTERNAL_NET $HTTP_PORT」です。

Snortルールのヘッダーは、
"Action" "Protocol" "Networks" "Ports" "Direction Operator" "Networks" "Ports"という順で記載します。

各項目は、以下を指定します。

Actionalert(通知する)・log(記録する)・pass(無視する)など
Protocoltcp・udpなど
Networks対象ネットワークを変数で定義など
Ports対象ポート番号を変数で定義など
Direction Operator"->"などで通信方法を表現

今回の条件の場合、alert tcp $HOME_NET any -> $EXTERNAL_NET $HTTP_PORT となります。

以下に、Snortルール(ルールファイル一覧とその一部)を示します。

ubuntu@ubuntu:~$ ls /etc/snort/rules/
attack-responses.rules         community-mail-client.rules    community-web-iis.rules   imap.rules        pop3.rules         web-cgi.rules
backdoor.rules                 community-misc.rules           community-web-misc.rules  info.rules        porn.rules         web-client.rules
bad-traffic.rules              community-nntp.rules           community-web-php.rules   local.rules       rpc.rules          web-coldfusion.rules
chat.rules                     community-oracle.rules         ddos.rules                misc.rules        rservices.rules    web-frontpage.rules
community-bot.rules            community-policy.rules         deleted.rules             multimedia.rules  scan.rules         web-iis.rules
community-deleted.rules        community-sip.rules            dns.rules                 mysql.rules       shellcode.rules    web-misc.rules
community-dos.rules            community-smtp.rules           dos.rules                 netbios.rules     smtp.rules         web-php.rules
community-exploit.rules        community-sql-injection.rules  experimental.rules        nntp.rules        snmp.rules         x11.rules
community-ftp.rules            community-virus.rules          exploit.rules             oracle.rules      sql.rules
community-game.rules           community-web-attacks.rules    finger.rules              other-ids.rules   telnet.rules
community-icmp.rules           community-web-cgi.rules        ftp.rules                 p2p.rules         tftp.rules
community-imap.rules           community-web-client.rules     icmp-info.rules           policy.rules      virus.rules
community-inappropriate.rules  community-web-dos.rules        icmp.rules                pop2.rules        web-attacks.rules

ubuntu@ubuntu:~$ cat /etc/snort/rules/web-attacks.rules 
# Copyright 2001-2005 Sourcefire, Inc. All Rights Reserved
#
# This file may contain proprietary rules that were created, tested and
# certified by Sourcefire, Inc. (the "VRT Certified Rules") as well as
# rules that were created by Sourcefire and other third parties and
# distributed under the GNU General Public License (the "GPL Rules").  The
# VRT Certified Rules contained in this file are the property of
# Sourcefire, Inc. Copyright 2005 Sourcefire, Inc. All Rights Reserved.
# The GPL Rules created by Sourcefire, Inc. are the property of
# Sourcefire, Inc. Copyright 2002-2005 Sourcefire, Inc. All Rights
# Reserved.  All other GPL Rules are owned and copyrighted by their
# respective owners (please see www.snort.org/contributors for a list of
# owners and their respective copyrights).  In order to determine what
# rules are VRT Certified Rules or GPL Rules, please refer to the VRT
# Certified Rules License Agreement.
#
#
# $Id: web-attacks.rules,v 1.18.2.2.2.1 2005/05/16 22:17:52 mwatchinski Exp $
# ----------------
# WEB ATTACKS
# ----------------
# These signatures are generic signatures that will catch common commands
# used to exploit form variable vulnerabilities.  These signatures should
# not false very often.
#
# Please email example PCAP log dumps to snort-sigs@lists.sourceforge.net
# if you find one of these signatures to be too false possitive.

alert tcp $EXTERNAL_NET any -> $HTTP_SERVERS $HTTP_PORTS (msg:"WEB-ATTACKS /bin/ps command attempt"; flow:to_server,established; uricontent:"/bin/ps"; nocase; classtype:web-application-attack; sid:1328; rev:6;)
alert tcp $EXTERNAL_NET any -> $HTTP_SERVERS $HTTP_PORTS (msg:"WEB-ATTACKS ps command attempt"; flow:to_server,established; uricontent:"ps%20"; nocase; classtype:web-application-attack; sid:1329; rev:6;)
.
.
.

Snortやそのルールの詳細については、以下で確認することが出来ます。
https://www.snort.org/

なお、Snortのバージョン(version2 or version3)によって、ルールの記載方法が異なるため、注意が必要です。


例題作成者

鯨井 貴博 (LinuCエヴァンジェリスト/登録インストラクター、LPI-Japanアカデミック認定校 ゼウスITトレーニングセンター)

ページトップへ