目 次
syn flood 攻撃対策
TCP 接続が開始する前からサーバがクライアントの SYN パケットによって記憶領域を消費してしまう点にある。
対策
SYN cookies(スィン・クッキーズ)
$ sudo sysctl -w net.ipv4.tcp_syncookies=1
起動時に有効にする
#!/bin/bash
sed -i ‘/net.ipv4.tcp_syncookies/d’ /etc/sysctl.conf
echo “net.ipv4.tcp_syncookies=1” >>/etc/sysctl.conf
参照URL :http://ja.wikipedia.org/wiki/SYN_cookies
Smurf 攻撃対策
Smurf攻撃とは
ターゲットにしたホストに対して、送信元アドレスを偽造したICMP Echo Requestパケットを大量に送り付ける攻撃
対策
ブロードキャストpingに答えない
$ sudo sysctl -w net.ipv4.icmp_echo_ignore_broadcasts=1
起動時に有効にする
#!/bin/bash
sed -i ‘/net.ipv4.icmp_echo_ignore_broadcasts/d’ /etc/sysctl.conf
echo “net.ipv4.icmp_echo_ignore_broadcasts=1” >> /etc/sysctl.conf
ping of death(PoD)攻撃対策
PoDとは
規格外や悪意のあるpingを送りつけることによる、アタックの一つ
対策
pingパケットに応答しない
$ sudo sysctl -w net.ipv4.icmp_echo_ignore_all=1
起動時に有効にする
#!/bin/bash
sed -i ‘/net.ipv4.icmp_echo_ignore_all/d’ /etc/sysctl.conf
echo “net.ipv4.icmp_echo_ignore_all=1” >> /etc/sysctl.conf
参照URL :http://ja.wikipedia.org/wiki/Ping_of_death
IPスプーフィング対策
IP通信において、送信者のIPアドレスを詐称して別のIPアドレスに「なりすまし」(英:spoofing)を行う攻撃
対策
送信元IPアドレスが正しいかどうかを確認する
$ sudo sysctl -w net.ipv4.*.rp_filter=1
起動時に有効にする
#!/bin/bash
sed -i ‘/net.ipv4.conf.*.rp_filter/d’ /etc/sysctl.conf
for dev in `ls /proc/sys/net/ipv4/conf/`
do
echo “net.ipv4.conf.$dev.rp_filter=1” >> /etc/sysctl.conf
done
参照URL :http://ja.wikipedia.org/wiki/IP%E3%82%B9%E3%83%97%E3%83%BC%E3%83%95%E3%82%A3%E3%83%B3%E3%82%B0
DoS攻撃対策
対策
最終 FIN パケットを待つ時間を短くする
$ sudo systel -w net.ipv4.tcp_fin_timeout=15
起動時に有効にする
#!/bin/bash
sed -i ‘/net.ipv4.tcp_fin_timeout/d’ /etc/sysctl.conf
echo “net.ipv4.tcp_fin_timeout=15” >> /etc/sysctl.conf
nmap対策
対策
システムの連続稼働時間(タイムスタンプ)を探られるのを防ぐ
$ sudo sysctl -w net.ipv4.tcp_timestamps=0
起動時に有効にする
#!/bin/bash
sed -i ‘/net.ipv4.tcp_timestamps/d’ /etc/sysctl.conf
echo “net.ipv4.tcp_timestamps=0” >> /etc/sysctl.conf
ICMP Redirectパケットを拒否
対策
$ sudo sysctl -w net.ipv4.conf.*.accept_redirects=0
起動時に有効にする
#!/bin/bash
sed -i ‘/net.ipv4.conf.*.accept_redirects/d’ /etc/sysctl.conf
for dev in `ls /proc/sys/net/ipv4/conf/`
do
echo “net.ipv4.conf.$dev.accept_redirects=0” >> /etc/sysctl.conf
done
ソースルーティングされたパケットを受信しない
対策
$ sudo sysctl -w net.ipv4.conf.*.accept_source_route=0
起動時に有効にする
#!/bin/bash
sed -i ‘/net.ipv4.conf.*.accept_source_route/d’ /etc/sysctl.conf
for dev in `ls /proc/sys/net/ipv4/conf/`
do
echo “net.ipv4.conf.$dev.accept_source_route=0” >> /etc/sysctl.conf
done
偽装、ソースルーティング、リダイレクトされたパケットに関して、全てのログを取得
対策
$ sudo sysctl -w net.ipv4.conf.all.log_martians=1
起動時に有効にする
#!/bin/bash
sed -i ‘/net.ipv4.conf.all.log_martians/d’ /etc/sysctl.conf
echo “net.ipv4.conf.all.log_martians=1” >> /etc/sysctl.conf