Help us understand the problem. What is going on with this article?

不正アクセスにイライラする編

More than 1 year has passed since last update.

サーバを運用していると、不正アクセスに頻繁に遭遇します。

# last -f /var/log/btmp

こんな感じで、ログインに失敗したアクセスの一覧を見ることができます。件数を限定するために、 | head を付けると良いかもしれません。

# last -f /var/log/btmp | head
masayuki ssh:notty    114.200.199.45   Tue Jan  2 13:52    gone - no logout
masayuki ssh:notty    114.200.199.45   Tue Jan  2 13:52 - 13:52  (00:00)
centos   ssh:notty    c-67-168-83-230. Tue Jan  2 13:23 - 13:52  (00:28)
centos   ssh:notty    c-67-168-83-230. Tue Jan  2 13:23 - 13:23  (00:00)
root     ssh:notty    14.116.171.251   Tue Jan  2 13:23 - 13:23  (00:00)
root     ssh:notty    14.116.171.251   Tue Jan  2 13:23 - 13:23  (00:00)
root     ssh:notty    14.116.171.251   Tue Jan  2 13:23 - 13:23  (00:00)
root     ssh:notty    14.116.171.251   Tue Jan  2 13:23 - 13:23  (00:00)
root     ssh:notty    14.116.171.251   Tue Jan  2 13:23 - 13:23  (00:00)
root     ssh:notty    14.116.171.251   Tue Jan  2 13:23 - 13:23  (00:00)

リアルタイムにアタックをかけられている最中だと、なんとなくイライラします。

IPアドレスベースで見るためには、-i オプションを使います。

# last -i -f /var/log/btmp | awk '{print $3}' | sort | uniq -c | sort -rn | head

こんな感じにすると、過去の一覧をランキング形式で見ることができます。

# last -f /var/log/btmp | awk '{print $3}' | sort | uniq -c | sort -rn | head
 215737 58.242.83.34
 163529 58.242.83.17
 134798 58.242.83.18
 130636 58.242.83.38
 111747 58.242.83.27
 100762 58.242.83.36
  98506 58.242.83.24
  88019 42.7.26.15
  86996 182.100.67.120
  86298 113.195.145.80

左がログイン試行回数、右がアクセス元のIPアドレスです。
58.242.83.17~38が物凄いですね。悪の巣窟なんでしょうか。

どこのIPセグメントかは whois で見ることができます。(一部略)

# whois 58.242.83.17

% Information related to '58.242.81.0 - 58.242.86.255'

% Abuse contact for '58.242.81.0 - 58.242.86.255' is 'hqs-ipabuse@chinaunicom.cn'

inetnum:        58.242.81.0 - 58.242.86.255
netname:        HUAIBEIBASIP
country:        CN

ちなみに、不正アクセス元は9割近くが中国からです。続いてロシア。

iptablesを使っている場合は、特定のセグメントからのアクセスを遮断(パケットをドロップ)できます。

# vi /etc/sysconfig/iptables
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
(略)
-A INPUT -s 58.242.83.0/24 -j DROP
(略)
COMMIT
# systemctl restart iptables

で再読込。

# iptables -nL

で確認ができます。

まぁ、sshのリッスンポートを22から他に移す のが、お手軽ですけどね。

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away