ネットワークエンジニア系ブログ。健康、エンターテイメント、映画・ドラマ、本、キッズ系、FXまで!お役立ち情報を紹介!

GOISBLOG

サーバー技術

DNSで攻撃元のソースIPを調べる方法

更新日:

DNSサーバーから以下のようなエラーログが出まくりました。

general: error: socket: file descriptor exceeds limit (4096/4096)

原因は同じアドレスからあるドメインへの問い合わせを何度もしていたことが原因みたいでした。


TVでも話題になった自宅で無料でオンラインブートキャンプが体験できるようになりました!
プログラミングのオンラインスクールCodeCamp

※資料ダウンロード(無料)はこちらから!
【CodeCamp(コードキャンプ)】公式案内

DNSで送信元のIPを追跡する

一体、どこから攻撃されているのか全く分からないので、一つずつ順を追って確認をしていきます。
じぶんもすぐに忘れてしまうので、メモっちまいます。


まずはどこ向けのIPアドレスが大量に来ているのかを確認

まずは、どこへの問い合わせが大量に来ているのかを探る為に、以下のコマンドで確認します。

# netstat -an | more

これでは、まったくわからないので、”ESTABLISHED”になっているIPだけを抽出します。

# netstat -an | grep ESTABLISHED

なおかつ、送信先のアドレスをまとめて確認したいので、出力結果の”Foreign Address”をソートして検索します。

# netstat -an | grep ESTABLISHED | sort -k5

さらに、いくつあるのかをカウントします。

# netstat -an | grep ESTABLISHED | sort -k5 | grep  (問い合わせ先のIPアドレス) | wc -l
476

大量に来ていたアドレスのドメインを調べます。

# tcpdump host X.X.X.X(問い合わせ先のIPアドレス)

ここで、悪さしているドメイン(xxx.com)を確認できるんですが、よくやりますね。お隣の大国は。
大体、中か韓なんだよね。

困ります。仲良くしましょう。

送信元のアドレスを突き止める

まずは、以下の階層へ移動します。

# cd /var/named/chroot/var/log/

この階層で”queries.log”があります

# ls
queries.log

そこで、中身を確認。

# grep "xxx.com" queries.log | more

これも大量にあるので、送信元のIPを頭に持ってきて見えやすくしましょう。
※出力結果で送信元のアドレスは左から6つ目にあるので”awk '{print $6}'”のコマンドを叩きます。

# grep "xxx.com" queries.log | awk '{print $6}' | more

同じ、アドレスはまとめるようにします。
※たとえば、1.1.1.1が5つあるとしたら出力結果に

5 1.1.1.1

って感じで表示させる

# grep "xxx.com" queries.log | awk '{print $6}' | sort -k1 | uniq -c | more

最後に以下コマンドを叩けば、最後尾に一番多く問い合わせをしている送信元IPが何か突き止められます。

# grep "xxx.com" queries.log | awk '{print $6}' | sort -k1 | uniq -c | sort -k1 

以上です。
悪いことするのはやめましょう。

○エンジニアの道を目指すならこちらもおすすめです!
⇒ネットワークエンジニアへの技術手順書
⇒サーバーエンジニアへの構築手順書

Linuxアカデミーの資料が無料請求できます!
リナックスアカデミー【公式サイト】



この記事が気に入ったら
いいね!しよう

Twitter で



  • この記事を書いた人
  • 最新記事

ネットワークエンジニアとしてまた一児の父として仕事とブログ作成に奮闘中! 自分の身の回りにある興味、趣味をひたすらブログで書きまとめています! 私の子供も発達障害のこともあるので色々調べたことなどアップして少しはお役に立てたらと思っております!

-サーバー技術
-,

Copyright© GOISBLOG , 2017 All Rights Reserved.