netstat かけて、SYN_RECV なコネクションが多い場合、SYN flood - Wikipedia 攻撃を受けてる可能性がある。
% netstat -n | grep SYN_RECV > syn_recv_list.txt
プライベートIPアドレス(参考:IPアドレス - Wikipedia)からのアクセスはないはずなのに、このリストの中にプライベートIPアドレスからの接続要求がある場合は、攻撃を受けてるかもしれない。
プライベートIPアドレスでない場合、リストからリモートのIP引き出して、host かける
% perl -ne 's/^tcp.*:80[ \t]+([0-9.]+):.*$/$1/;system("host $_")' syn_recv_list.txtと、通常は以下のように逆引きできる
xx.xx.xx.xx.in-addr.arpa domain name pointer xx-xx-xx-xx.yyy.zzz.com.
が、
Host xx.xx.xx.xx.in-addr.arpa not found: 3(NXDOMAIN)
のように引けない場合、IPアドレスをスプーフ(詐称)されている可能性がある。まぁ、逆引できないようにして、かつ、pingもブロックして運用しているところもあるかもしれないけど。
SYN floodへの対策としては SYN cookies - Wikipedia とか、 SYN cache (FreeBSDで実装されているようだ) がある。
参考: