Confidential
FastNetMonを試してみた
@ishizaghi
(FastNetMon 1.1.3)
FastNetMonとは
パケットキャプチャやNetFlowデータをもとにDDoSを高速検知するオープ
ンソースソフトウェア
RIPE71, NANOG66で紹介された
NANOG66 (Feb, 2016)
Research and Education Track
“An opensource recipe for detecting DDoS and automate mitigation techniques”
[Vicente De Luca, Zendesk]
FastNetMonとは
主な機能
パフォーマンス
FastNetMonとは
アーキテクチャ
FastNetMonとは
アタック検知ロジック
アタック検知時の反応
インストール、基本設定、起動 (Ubuntu16)
$ wget https://raw.githubusercontent.com/pavel-odintsov/fastnetmon/master/src/fastnetmon_install.pl -fastnetmon_install.pl
$ sudo perl fastnetmon_install.pl
 インストール
# vi /etc/networks_list
203.0.113.0/24
198.51.100.0/24
 設定
# systemctl start fastnetmon
 起動
# vi /etc/fastnetmon.conf
後述….
設定
# Different approaches to attack detection
ban_for_pps = on
ban_for_bandwidth = on
ban_for_flows = off
# Limits for Dos/DDoS attacks
threshold_pps = 20000
threshold_mbps = 1000
threshold_flows = 3500
# Per protocol attack thresholds
# We don't implement per protocol flow limits, sorry :(
# These limits should be smaller than global pps/mbps limits
ban_for_tcp_bandwidth = off
ban_for_udp_bandwidth = off
ban_for_icmp_bandwidth = off
threshold_tcp_mbps = 100000
threshold_udp_mbps = 100000
threshold_icmp_mbps = 100000
ban_for_tcp_pps = off
ban_for_udp_pps = off
ban_for_icmp_pps = off
threshold_tcp_pps = 100000
threshold_udp_pps = 100000
threshold_icmp_pps = 100000
 /etc/fastnetmon.conf (抜粋)
つづき..
##
### Actions when attack detected
###
# This script executed for ban, unban and attack detail collection
notify_script_path = /usr/local/bin/notify_about_attack.sh
# announce blocked IPs with BGP protocol with ExaBGP
exabgp = off
exabgp_command_pipe = /var/run/exabgp.cmd
exabgp_community = 65001:666
総トラフィックのしきい値
設定 (pps, mbps,
flows)
プロトコル毎のしきい値
設定 (mbps)
プロトコル毎のしきい値
設定 (pps)
#!/usr/bin/env bash
# This script will get following params:
# $1 client_ip_as_string
# $2 data_direction
# $3 pps_as_string
# $4 action (ban or unban)
email_notify="root, please_fix_this_email@domain "
#
# Please be carefult! You should not remove cat >
#
if [ "$4" = "unban" ]; then
# No details arrived to stdin here
# Unban actions if used
exit 0
fi
if [ "$4" = "ban" ]; then
cat | mail -s "FastNetMon Guard: IP $1 blocked because $2 attack with power $3 pps" $email_notify;
# You can add ban code here!
exit 0
fi
if [ "$4" == "attack_details" ]; then
cat | mail -s "FastNetMon Guard: IP $1 blocked because $2 attack with power $3 pps" $email_notify;
exit 0
fi
アタック検知時に起動するscript
 /usr/local/bin/notify_about_attack.sh
オプションパラメーター例
$1 = IP Address
$2 = incoming / outgoing
$3 = 1000521 (string)
$4 = ban / unban / attack_details
CLIモニタリング
# /opt/fastnetmon/fastnetmon_client
FastNetMon 1.1.3 master git-94f4947e87753b8be193ca54d17dac24cac599fb Pavel Odintsov: stableit.ru
IPs ordered by: packets
Incoming traffic 3167 pps 36 mbps 0 flows
203.0.113.164 3166 pps 36 mbps 0 flows *banned*
203.0.113.165 6 pps 0 mbps 0 flows
Outgoing traffic 1152 pps 0 mbps 0 flows
203.0.113.164 1151 pps 0 mbps 0 flows *banned*
203.0.113.165 4 pps 0 mbps 0 flows
Internal traffic 0 pps 0 mbps
Other traffic 0 pps 0 mbps
Screen updated in: 0 sec 340 microseconds
Traffic calculated in: 0 sec 180 microseconds
Total amount of IPv6 packets related to our own network: 0
Not processed packets: 0 pps
Ban list:
203.0.113.164/4725 pps incoming at 13_01_17_15:28:57
Subnet load:
203.0.113.160/29 pps in: 0 out: 0 mbps in: 0 out: 0
203.0.113.168/29 pps in: 0 out: 0 mbps in: 0 out: 0
203.0.113.174/32 pps in: 0 out: 0 mbps in: 0 out: 0
 /opt/fastnetmon_client
InfluxDBにストアされるテーブル、タグキー
InfluxDBにストアされるレコード
203.0.113
203.0.113
203.0.113
203.0.113
203.0.113
203.0.113
203.0.113
203.0.113
203.0.113
203.0.113
Grafanaで可視化すると
情報量少ない..
203.0.113
203.0.113
203.0.113
203.0.113
203.0.113
203.0.113
203.0.113
203.0.113
redisにストアされるレコード (アタック検知時の情報)
$ redis-cli keys fastnetmon *
fastnetmon_203.0.113.162_packets_dump
fastnetmon_203.0.113.162_information
fastnetmon_203.0.113.174_packets_dump
fastnetmon_203.0.113.174_information
fastnetmon_203.0.113.165_packets_dump
fastnetmon_203.0.113.165_information
$ redis-cli get fastnetmon_203.0.113.165_information
{ "ip": "203.0.113.165", "attack_details": { "attack_type": "udp_flood",
"initial_attack_power": 515, "peak_attack_power": 515, "attack_direction": "incoming",
"attack_protocol": "udp", "total_incoming_traffic": 670292, "total_outgoing_traffic":
26985, "total_incoming_pps": 515, "total_outgoing_pps": 276,
"total_incoming_flows": 0, "total_outgoing_flows": 0, "average_incoming_traffic":
670292, "average_outgoing_traffic": 26985, "average_incoming_pps": 515,
"average_outgoing_pps": 276, "average_incoming_flows": 0,
"average_outgoing_flows": 0, "incoming_ip_fragmented_traffic": 0,
"outgoing_ip_fragmented_traffic": 0, "incoming_ip_fragmented_pps": 0,
"outgoing_ip_fragmented_pps": 0, "incoming_tcp_traffic": 6340,
"outgoing_tcp_traffic": 1277, "incoming_tcp_pps": 8, "outgoing_tcp_pps": 7,
"incoming_syn_tcp_traffic": 2906, "outgoing_syn_tcp_traffic": 159,
"incoming_syn_tcp_pps": 6, "outgoing_syn_tcp_pps": 0, "incoming_udp_traffic":
663951, "outgoing_udp_traffic": 25706, "incoming_udp_pps": 503,
"outgoing_udp_pps": 267, "incoming_icmp_traffic": 0, "outgoing_icmp_traffic": 0,
"incoming_icmp_pps": 0, "outgoing_icmp_pps": 0 }, "network_load": { "incoming
traffic": 3685711, "outgoing traffic": 144473, "incoming pps": 2828, "outgoing pps":
1514 }, "network_average_load": { "incoming traffic": 184833, "outgoing traffic": 8353,
"incoming pps": 137, "outgoing pps": 73 } }
$ redis-cli get fastnetmon_203.0.113.165_packets_dump
IP: 203.0.113.165
Attack type: udp_flood
Initial attack power: 510 packets per second
Peak attack power: 510 packets per second
Attack direction: incoming
Attack protocol: udp
Total incoming traffic: 4 mbps
Total outgoing traffic: 0 mbps
Total incoming pps: 510 packets per second
Total outgoing pps: 310 packets per second
Total incoming flows: 0 flows per second
Total outgoing flows: 0 flows per second
Average incoming traffic: 4 mbps
Average outgoing traffic: 0 mbps
Average incoming pps: 510 packets per second
Average outgoing pps: 310 packets per second
Average incoming flows: 0 flows per second
Average outgoing flows: 0 flows per second
~ 省略 ~
Network: 203.0.113.160/29
Network incoming traffic: 0 mbps
Network outgoing traffic: 0 mbps
Network incoming pps: 21 packets per second
Network outgoing pps: 15 packets per second
Average network incoming traffic: 1 mbps
Average network outgoing traffic: 0 mbps
Average network incoming pps: 151 packets per second
Average network outgoing pps: 103 packets per second
Average packet size for incoming traffic: 1102.8 bytes
Average packet size for outgoing traffic: 124.6 bytes
2017-01-13 12:39:39.000000 216.58.197.193:443 > 203.0.113.165:61325 protocol: udp
frag: 0 packets: 9 size: 11079 bytes ttl: 0 sample ratio: 1
2017-01-13 12:39:39.000000 203.0.113.165:58099 > 172.217.27.66:443 protocol: udp
frag: 0 packets: 6 size: 2542 bytes ttl: 0 sample ratio: 1
2017-01-13 12:39:39.000000 172.217.27.66:443 > 203.0.113.165:58099 protocol: udp
frag: 0 packets: 7 size: 3446 bytes ttl: 0 sample ratio: 1
2017-01-13 12:39:39.000000 203.0.113.165:58411 > 174.129.255.59:443 protocol: tcp
flags: syn,psh,ack frag: 0 packets: 4 size: 1414 bytes ttl: 0 sample ratio: 1
2017-01-13 12:39:39.000000 203.0.113.165:58432 > 52.71.208.179:443 protocol: tcp
flags: syn,psh,ack frag: 0 packets: 11 size: 12203 bytes ttl: 0 sample ratio: 1
つづく
まとめと所感
 よいところ
高パフォーマンス
高速検知
検知時のアクションの作り込みが容易
 もう少しなところ
しきい値ベースの検知のみ
TCP/UDPポート毎でのトラフィックの検知もしてほしいところ
DBへ書き込む情報が少ない
(NetFlow v5 recordぶんかせめてTCP/UDPポート番号情報くらいはデータストアして欲しい)
 使い方としては..
トラフィック可視化のデータ収集
いまいち..
トラフィック異常検知
異常検知のトリガーとしては使えそう
DDoS mitigationさせるためには他のコンポーネントと
併用が良さそう
InfluxDB (Collection)
→ Chronograf (Visualization)
→ Kapacitor/Morgoth (Detection)
Relative value alert, Lossy Counting Algorithm(LSA)
→ BGP FlowSpec (Mitigation)
 Chronograf / Kapacitor

More Related Content

PDF
FastNetMon - ENOG9 speech about DDoS mitigation
PDF
Ripe71 FastNetMon open source DoS / DDoS mitigation
PDF
Protect your edge BGP security made simple
PDF
Distributed Denial of Service Attack - Detection And Mitigation
PDF
Blackholing from a_providers_perspektive_theo_voss
PPTX
DeiC DDoS Prevention System - DDPS
PPT
PDF
Keeping your rack cool
FastNetMon - ENOG9 speech about DDoS mitigation
Ripe71 FastNetMon open source DoS / DDoS mitigation
Protect your edge BGP security made simple
Distributed Denial of Service Attack - Detection And Mitigation
Blackholing from a_providers_perspektive_theo_voss
DeiC DDoS Prevention System - DDPS
Keeping your rack cool

What's hot (20)

PDF
Ultra fast DDoS Detection with FastNetMon at Coloclue (AS 8283)
PDF
Detecting and mitigating DDoS ZenDesk by Vicente De Luca
PDF
Jon Nield FastNetMon
PDF
Nanog66 vicente de luca fast netmon
PPTX
FastNetMon Advanced DDoS detection tool
PPTX
BGP FlowSpec experience and future developments
PDF
Implementing BGP Flowspec at IP transit network
PDF
DDoS Defense Mechanisms for IXP Infrastructures
PDF
DDoS Mitigation Tools and Techniques
PDF
Using MikroTik routers for BGP transit and IX points
PDF
DDoS Challenges in IPv6 environment
PDF
GoBGP : yet another OSS BGPd
PDF
DDoS Attacks - Scenery, Evolution and Mitigation
PDF
Make the internet safe with DNS Firewall
PPTX
redGuardian DP100 large scale DDoS mitigation solution
PDF
An Introduction to BGP Flow Spec
PDF
Network telemetry for DDoS detection presentation
PPTX
Cache aware-server-push in H2O version 1.5
PPTX
Dhcp security #netseckh
PDF
How to bypass an IDS with netcat and linux
Ultra fast DDoS Detection with FastNetMon at Coloclue (AS 8283)
Detecting and mitigating DDoS ZenDesk by Vicente De Luca
Jon Nield FastNetMon
Nanog66 vicente de luca fast netmon
FastNetMon Advanced DDoS detection tool
BGP FlowSpec experience and future developments
Implementing BGP Flowspec at IP transit network
DDoS Defense Mechanisms for IXP Infrastructures
DDoS Mitigation Tools and Techniques
Using MikroTik routers for BGP transit and IX points
DDoS Challenges in IPv6 environment
GoBGP : yet another OSS BGPd
DDoS Attacks - Scenery, Evolution and Mitigation
Make the internet safe with DNS Firewall
redGuardian DP100 large scale DDoS mitigation solution
An Introduction to BGP Flow Spec
Network telemetry for DDoS detection presentation
Cache aware-server-push in H2O version 1.5
Dhcp security #netseckh
How to bypass an IDS with netcat and linux
Ad

Viewers also liked (12)

PDF
DDoS detection at small ISP by Wardner Maia
PPTX
GoSF Jan 2016 - Go Write a Plugin for Snap!
PDF
Snap Telemetry Framework & Plugin Architecture at GrafanaCon 2016
PDF
Janog 39: speech about FastNetMon by Yutaka Ishizaki
PDF
03 estrategia-ddos
PDF
Борьба с DDoS в хостинге - по обе стороны баррикад / Константин Новаковский (...
PPTX
Prometheus on AWS
PDF
Prometheus Storage
PDF
Prometheus – a next-gen Monitoring System
PDF
promgen - prometheus managemnet tool / simpleclient_java hacks @ Prometheus c...
PDF
Prometheus casual talk1
PDF
Monitoring Kafka w/ Prometheus
DDoS detection at small ISP by Wardner Maia
GoSF Jan 2016 - Go Write a Plugin for Snap!
Snap Telemetry Framework & Plugin Architecture at GrafanaCon 2016
Janog 39: speech about FastNetMon by Yutaka Ishizaki
03 estrategia-ddos
Борьба с DDoS в хостинге - по обе стороны баррикад / Константин Новаковский (...
Prometheus on AWS
Prometheus Storage
Prometheus – a next-gen Monitoring System
promgen - prometheus managemnet tool / simpleclient_java hacks @ Prometheus c...
Prometheus casual talk1
Monitoring Kafka w/ Prometheus
Ad

Similar to FastNetMonを試してみた (20)

PDF
Velocity 2011 - Our first DDoS attack
PDF
Thotcon 0x5 - Retroactive Wiretapping VPN over DNS
PPTX
Incident Response: SIEM
PDF
DIY Internet: Snappy, Secure Networking with MinimaLT (JSConf EU 2013)
PPTX
Open source network forensics and advanced pcap analysis
PPTX
DDoS: practical survival
PPTX
Appsec 2013-krehel-ondrej-forensic-investigations-of-web-exploitations
PPT
Honeypots - Tracking the Blackhat Community
PPTX
Building an Automated Behavioral Malware Analysis Environment using Free and ...
PPTX
Incident response: Advanced Network Forensics
PPTX
Tcpdump hunter
PDF
Adversary Pattern Analysis - A Journey with APNIC Honeypot
PPTX
lightning talk proposal
PDF
Handy Networking Tools and How to Use Them
PDF
Introduzione ai network penetration test secondo osstmm
PDF
Having Honeypot for Better Network Security Analysis
PPT
PDF
IPv6 Performance Revisited
PDF
38th TWNIC OPM: Observations and mitigation of Mozi botnet
Velocity 2011 - Our first DDoS attack
Thotcon 0x5 - Retroactive Wiretapping VPN over DNS
Incident Response: SIEM
DIY Internet: Snappy, Secure Networking with MinimaLT (JSConf EU 2013)
Open source network forensics and advanced pcap analysis
DDoS: practical survival
Appsec 2013-krehel-ondrej-forensic-investigations-of-web-exploitations
Honeypots - Tracking the Blackhat Community
Building an Automated Behavioral Malware Analysis Environment using Free and ...
Incident response: Advanced Network Forensics
Tcpdump hunter
Adversary Pattern Analysis - A Journey with APNIC Honeypot
lightning talk proposal
Handy Networking Tools and How to Use Them
Introduzione ai network penetration test secondo osstmm
Having Honeypot for Better Network Security Analysis
IPv6 Performance Revisited
38th TWNIC OPM: Observations and mitigation of Mozi botnet

Recently uploaded (20)

PPTX
最新版美国埃默里大学毕业证(Emory毕业证书)原版定制文凭学历认证
PDF
Virtual Guard Technology Provider_ Remote Security Service Solutions.pdf
PPTX
10.2981-wlb.2004.021Figurewlb3bf00068fig0001.pptx
PPTX
Edit gdasgdkhagfhgfgfasdghhdgfhdgfj.pptx
PPTX
Top Website Bugs That Hurt User Experience – And How Expert Web Design Fixes
PPTX
MY PRESENTATION66666666666666666666.pptx
PPTX
Cyber Hygine IN organizations in MSME or
PPTX
Tìm hiểu về dịch vụ FTTH - Fiber Optic Access Node
PDF
Computer Networking, Internet, Casting in Network
PDF
BIOCHEM CH2 OVERVIEW OF MICROBIOLOGY.pdf
PPTX
Basic understanding of cloud computing one need
PDF
KEY COB2 UNIT 1: The Business of businessĐH KInh tế TP.HCM
PPTX
在线订购名古屋艺术大学毕业证, buy NUA diploma学历认证失败怎么办
PPTX
Partner to Customer - Sales Presentation_V23.01.pptx
PPTX
Reading as a good Form of Recreation
PDF
Lean-Manufacturing-Tools-Techniques-and-How-To-Use-Them.pdf
PDF
Paper PDF The World Game (s) Great Redesign.pdf
PPTX
curriculumandpedagogyinearlychildhoodcurriculum-171021103104 - Copy.pptx
PPT
12 Things That Make People Trust a Website Instantly
PPTX
Artificial_Intelligence_Basics use in our daily life
最新版美国埃默里大学毕业证(Emory毕业证书)原版定制文凭学历认证
Virtual Guard Technology Provider_ Remote Security Service Solutions.pdf
10.2981-wlb.2004.021Figurewlb3bf00068fig0001.pptx
Edit gdasgdkhagfhgfgfasdghhdgfhdgfj.pptx
Top Website Bugs That Hurt User Experience – And How Expert Web Design Fixes
MY PRESENTATION66666666666666666666.pptx
Cyber Hygine IN organizations in MSME or
Tìm hiểu về dịch vụ FTTH - Fiber Optic Access Node
Computer Networking, Internet, Casting in Network
BIOCHEM CH2 OVERVIEW OF MICROBIOLOGY.pdf
Basic understanding of cloud computing one need
KEY COB2 UNIT 1: The Business of businessĐH KInh tế TP.HCM
在线订购名古屋艺术大学毕业证, buy NUA diploma学历认证失败怎么办
Partner to Customer - Sales Presentation_V23.01.pptx
Reading as a good Form of Recreation
Lean-Manufacturing-Tools-Techniques-and-How-To-Use-Them.pdf
Paper PDF The World Game (s) Great Redesign.pdf
curriculumandpedagogyinearlychildhoodcurriculum-171021103104 - Copy.pptx
12 Things That Make People Trust a Website Instantly
Artificial_Intelligence_Basics use in our daily life

FastNetMonを試してみた

  • 2. FastNetMonとは パケットキャプチャやNetFlowデータをもとにDDoSを高速検知するオープ ンソースソフトウェア RIPE71, NANOG66で紹介された NANOG66 (Feb, 2016) Research and Education Track “An opensource recipe for detecting DDoS and automate mitigation techniques” [Vicente De Luca, Zendesk]
  • 6. インストール、基本設定、起動 (Ubuntu16) $ wget https://raw.githubusercontent.com/pavel-odintsov/fastnetmon/master/src/fastnetmon_install.pl -fastnetmon_install.pl $ sudo perl fastnetmon_install.pl  インストール # vi /etc/networks_list 203.0.113.0/24 198.51.100.0/24  設定 # systemctl start fastnetmon  起動 # vi /etc/fastnetmon.conf 後述….
  • 7. 設定 # Different approaches to attack detection ban_for_pps = on ban_for_bandwidth = on ban_for_flows = off # Limits for Dos/DDoS attacks threshold_pps = 20000 threshold_mbps = 1000 threshold_flows = 3500 # Per protocol attack thresholds # We don't implement per protocol flow limits, sorry :( # These limits should be smaller than global pps/mbps limits ban_for_tcp_bandwidth = off ban_for_udp_bandwidth = off ban_for_icmp_bandwidth = off threshold_tcp_mbps = 100000 threshold_udp_mbps = 100000 threshold_icmp_mbps = 100000 ban_for_tcp_pps = off ban_for_udp_pps = off ban_for_icmp_pps = off threshold_tcp_pps = 100000 threshold_udp_pps = 100000 threshold_icmp_pps = 100000  /etc/fastnetmon.conf (抜粋) つづき.. ## ### Actions when attack detected ### # This script executed for ban, unban and attack detail collection notify_script_path = /usr/local/bin/notify_about_attack.sh # announce blocked IPs with BGP protocol with ExaBGP exabgp = off exabgp_command_pipe = /var/run/exabgp.cmd exabgp_community = 65001:666 総トラフィックのしきい値 設定 (pps, mbps, flows) プロトコル毎のしきい値 設定 (mbps) プロトコル毎のしきい値 設定 (pps)
  • 8. #!/usr/bin/env bash # This script will get following params: # $1 client_ip_as_string # $2 data_direction # $3 pps_as_string # $4 action (ban or unban) email_notify="root, please_fix_this_email@domain " # # Please be carefult! You should not remove cat > # if [ "$4" = "unban" ]; then # No details arrived to stdin here # Unban actions if used exit 0 fi if [ "$4" = "ban" ]; then cat | mail -s "FastNetMon Guard: IP $1 blocked because $2 attack with power $3 pps" $email_notify; # You can add ban code here! exit 0 fi if [ "$4" == "attack_details" ]; then cat | mail -s "FastNetMon Guard: IP $1 blocked because $2 attack with power $3 pps" $email_notify; exit 0 fi アタック検知時に起動するscript  /usr/local/bin/notify_about_attack.sh オプションパラメーター例 $1 = IP Address $2 = incoming / outgoing $3 = 1000521 (string) $4 = ban / unban / attack_details
  • 9. CLIモニタリング # /opt/fastnetmon/fastnetmon_client FastNetMon 1.1.3 master git-94f4947e87753b8be193ca54d17dac24cac599fb Pavel Odintsov: stableit.ru IPs ordered by: packets Incoming traffic 3167 pps 36 mbps 0 flows 203.0.113.164 3166 pps 36 mbps 0 flows *banned* 203.0.113.165 6 pps 0 mbps 0 flows Outgoing traffic 1152 pps 0 mbps 0 flows 203.0.113.164 1151 pps 0 mbps 0 flows *banned* 203.0.113.165 4 pps 0 mbps 0 flows Internal traffic 0 pps 0 mbps Other traffic 0 pps 0 mbps Screen updated in: 0 sec 340 microseconds Traffic calculated in: 0 sec 180 microseconds Total amount of IPv6 packets related to our own network: 0 Not processed packets: 0 pps Ban list: 203.0.113.164/4725 pps incoming at 13_01_17_15:28:57 Subnet load: 203.0.113.160/29 pps in: 0 out: 0 mbps in: 0 out: 0 203.0.113.168/29 pps in: 0 out: 0 mbps in: 0 out: 0 203.0.113.174/32 pps in: 0 out: 0 mbps in: 0 out: 0  /opt/fastnetmon_client
  • 13. redisにストアされるレコード (アタック検知時の情報) $ redis-cli keys fastnetmon * fastnetmon_203.0.113.162_packets_dump fastnetmon_203.0.113.162_information fastnetmon_203.0.113.174_packets_dump fastnetmon_203.0.113.174_information fastnetmon_203.0.113.165_packets_dump fastnetmon_203.0.113.165_information $ redis-cli get fastnetmon_203.0.113.165_information { "ip": "203.0.113.165", "attack_details": { "attack_type": "udp_flood", "initial_attack_power": 515, "peak_attack_power": 515, "attack_direction": "incoming", "attack_protocol": "udp", "total_incoming_traffic": 670292, "total_outgoing_traffic": 26985, "total_incoming_pps": 515, "total_outgoing_pps": 276, "total_incoming_flows": 0, "total_outgoing_flows": 0, "average_incoming_traffic": 670292, "average_outgoing_traffic": 26985, "average_incoming_pps": 515, "average_outgoing_pps": 276, "average_incoming_flows": 0, "average_outgoing_flows": 0, "incoming_ip_fragmented_traffic": 0, "outgoing_ip_fragmented_traffic": 0, "incoming_ip_fragmented_pps": 0, "outgoing_ip_fragmented_pps": 0, "incoming_tcp_traffic": 6340, "outgoing_tcp_traffic": 1277, "incoming_tcp_pps": 8, "outgoing_tcp_pps": 7, "incoming_syn_tcp_traffic": 2906, "outgoing_syn_tcp_traffic": 159, "incoming_syn_tcp_pps": 6, "outgoing_syn_tcp_pps": 0, "incoming_udp_traffic": 663951, "outgoing_udp_traffic": 25706, "incoming_udp_pps": 503, "outgoing_udp_pps": 267, "incoming_icmp_traffic": 0, "outgoing_icmp_traffic": 0, "incoming_icmp_pps": 0, "outgoing_icmp_pps": 0 }, "network_load": { "incoming traffic": 3685711, "outgoing traffic": 144473, "incoming pps": 2828, "outgoing pps": 1514 }, "network_average_load": { "incoming traffic": 184833, "outgoing traffic": 8353, "incoming pps": 137, "outgoing pps": 73 } } $ redis-cli get fastnetmon_203.0.113.165_packets_dump IP: 203.0.113.165 Attack type: udp_flood Initial attack power: 510 packets per second Peak attack power: 510 packets per second Attack direction: incoming Attack protocol: udp Total incoming traffic: 4 mbps Total outgoing traffic: 0 mbps Total incoming pps: 510 packets per second Total outgoing pps: 310 packets per second Total incoming flows: 0 flows per second Total outgoing flows: 0 flows per second Average incoming traffic: 4 mbps Average outgoing traffic: 0 mbps Average incoming pps: 510 packets per second Average outgoing pps: 310 packets per second Average incoming flows: 0 flows per second Average outgoing flows: 0 flows per second ~ 省略 ~ Network: 203.0.113.160/29 Network incoming traffic: 0 mbps Network outgoing traffic: 0 mbps Network incoming pps: 21 packets per second Network outgoing pps: 15 packets per second Average network incoming traffic: 1 mbps Average network outgoing traffic: 0 mbps Average network incoming pps: 151 packets per second Average network outgoing pps: 103 packets per second Average packet size for incoming traffic: 1102.8 bytes Average packet size for outgoing traffic: 124.6 bytes 2017-01-13 12:39:39.000000 216.58.197.193:443 > 203.0.113.165:61325 protocol: udp frag: 0 packets: 9 size: 11079 bytes ttl: 0 sample ratio: 1 2017-01-13 12:39:39.000000 203.0.113.165:58099 > 172.217.27.66:443 protocol: udp frag: 0 packets: 6 size: 2542 bytes ttl: 0 sample ratio: 1 2017-01-13 12:39:39.000000 172.217.27.66:443 > 203.0.113.165:58099 protocol: udp frag: 0 packets: 7 size: 3446 bytes ttl: 0 sample ratio: 1 2017-01-13 12:39:39.000000 203.0.113.165:58411 > 174.129.255.59:443 protocol: tcp flags: syn,psh,ack frag: 0 packets: 4 size: 1414 bytes ttl: 0 sample ratio: 1 2017-01-13 12:39:39.000000 203.0.113.165:58432 > 52.71.208.179:443 protocol: tcp flags: syn,psh,ack frag: 0 packets: 11 size: 12203 bytes ttl: 0 sample ratio: 1 つづく
  • 14. まとめと所感  よいところ 高パフォーマンス 高速検知 検知時のアクションの作り込みが容易  もう少しなところ しきい値ベースの検知のみ TCP/UDPポート毎でのトラフィックの検知もしてほしいところ DBへ書き込む情報が少ない (NetFlow v5 recordぶんかせめてTCP/UDPポート番号情報くらいはデータストアして欲しい)  使い方としては.. トラフィック可視化のデータ収集 いまいち.. トラフィック異常検知 異常検知のトリガーとしては使えそう DDoS mitigationさせるためには他のコンポーネントと 併用が良さそう InfluxDB (Collection) → Chronograf (Visualization) → Kapacitor/Morgoth (Detection) Relative value alert, Lossy Counting Algorithm(LSA) → BGP FlowSpec (Mitigation)  Chronograf / Kapacitor