#su - 最後の正しいログインの後に 59 回の失敗ログインの試行があります (ブルートフォースの兆候) # netstat -anp (接続している、試みているアクセス ***は非表示IP部分) Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 ***.147.238.***:22 218.92.0.133:43722 ESTABLISHED 28568/sshd: root [p (これが自分じゃない) tcp 0 0 127.0.0.1:36996 127.0.0.1:44210 ESTABLISHED 31121/node tcp 0 0 ***.147.238.***:22 ***.158.230***:49543 ESTABLISHED 27075/sshd: root@pt # kill 28561 (不正なプロセスPIDを強制終了) -bash: kill: (28561) - そのようなプロセスはありません この瞬間にはない。 # who (現在ログインしているユーザー) root pts/1 2019-03-31 04:18 (kd***230009.ppp-bb.dion.ne.jp) 自分しかいない # egrep "Failed|Failure" /var/log/secure (sshのログ パスワードで弾かれている) Mar 31 03:50:04 h***-147-238-*** sshd[23230]: Failed password for root from 218.92.0.133 port 17039 ssh2 Mar 31 03:50:07 h***-147-238-*** sshd[23230]: Failed password for root from 218.92.0.133 port 17039 ssh2 Mar 31 03:50:10 h***-147-238-*** sshd[23230]: Failed password for root from 218.92.0.133 port 17039 ssh2 Mar 31 03:50:12 h***-147-238-*** sshd[23230]: Failed password for root from 218.92.0.133 port 17039 ssh2 Mar 31 03:50:15 h***-147-238-*** sshd[23230]: Failed password for root from 218.92.0.133 port 17039 ssh2 Mar 31 03:50:18 h***-147-238-*** sshd[23230]: Failed password for root from 218.92.0.133 port 17039 ssh2 Mar 31 03:50:22 h***-147-238-*** sshd[23326]: Failed password for root from 218.92.0.133 port 41200 ssh2 Mar 31 03:50:24 h***-147-238-*** sshd[23326]: Failed password for root from 218.92.0.133 port 41200 ssh2 Mar 31 03:50:27 h***-147-238-*** sshd[23326]: Failed password for root from 218.92.0.133 port 41200 ssh2 Mar 31 03:50:30 h***-147-238-*** sshd[23326]: Failed password for root from 218.92.0.133 port 41200 ssh2 Mar 31 03:50:32 h***-147-238-*** sshd[23326]: Failed password for root from 218.92.0.133 port 41200 ssh2 Mar 31 03:50:34 h***-147-238-*** sshd[23326]: Failed password for root from 218.92.0.133 port 41200 ssh2 Mar 31 03:50:39 h***-147-238-*** sshd[23333]: Failed password for root from 218.92.0.133 port 61584 ssh2 Mar 31 03:50:41 h***-147-238-*** sshd[23333]: Failed password for root from 218.92.0.133 port 61584 ssh2 Mar 31 03:50:44 h***-147-238-*** sshd[23333]: Failed password for root from 218.92.0.133 port 61584 ssh2 Mar 31 03:50:46 h***-147-238-*** sshd[23333]: Failed password for root from 218.92.0.133 port 61584 ssh2 Mar 31 03:50:48 h***-147-238-*** sshd[23333]: Failed password for root from 218.92.0.133 port 61584 ssh2 Mar 31 03:50:51 h***-147-238-*** sshd[23333]: Failed password for root from 218.92.0.133 port 61584 ssh2 Mar 31 03:50:56 h***-147-238-*** sshd[23338]: Failed password for root from 218.92.0.133 port 18658 ssh2 Mar 31 03:50:58 h***-147-238-*** sshd[23338]: Failed password for root from 218.92.0.133 port 18658 ssh2 Mar 31 03:51:00 h***-147-238-*** sshd[23338]: Failed password for root from 218.92.0.133 port 18658 ssh2 Mar 31 03:51:03 h***-147-238-*** sshd[23338]: Failed password for root from 218.92.0.133 port 18658 ssh2 Mar 31 03:51:06 h***-147-238-*** sshd[23338]: Failed password for root from 218.92.0.133 port 18658 ssh2 Mar 31 03:51:08 h***-147-238-*** sshd[23338]: Failed password for root from 218.92.0.133 port 18658 ssh2 Mar 31 03:51:12 h***-147-238-*** sshd[23342]: Failed password for root from 218.92.0.133 port 40554 ssh2 Mar 31 03:51:15 h***-147-238-*** sshd[23342]: Failed password for root from 218.92.0.133 port 40554 ssh2 Mar 31 03:51:18 h***-147-238-*** sshd[23342]: Failed password for root from 218.92.0.133 port 40554 ssh2 Mar 31 03:51:20 h***-147-238-*** sshd[23342]: Failed password for root from 218.92.0.133 port 40554 ssh2 Mar 31 03:51:23 h***-147-238-*** sshd[23342]: Failed password for root from 218.92.0.133 port 40554 ssh2 Mar 31 03:51:25 h***-147-238-*** sshd[23349]: Failed password for invalid user guest from ***.146.209.68 port 42988 ssh2 対策1 rootログインの禁止 vim /etc/ssh/sshd_config PermitRootLogin yes →PermitRootLogin no に変える 保存したらsshd再起動 $ sudo systemctl restart sshd 対策2 これをインストール # yum --enablerepo=epel install fail2ban 拒否リストに入った `- Banned IP list: 218.92.0.133 183.146.209.68 アタックは1/10に激減したが 160/dayはある Apr 1 20:25:12 h***-147-238-*** sshd[5736]: Failed password for invalid user admin from 219.149.225.154 port 54177 ssh2 Apr 1 20:25:36 h***-147-238-*** sshd[5744]: Failed password for invalid user zimbra from 201.17.130.197 port 45573 ssh2 Apr 1 20:26:08 h***-147-238-*** sshd[5757]: Failed password for invalid user qun from 118.24.221.190 port 21474 ssh2 Apr 1 20:27:53 h***-147-238-*** sshd[5794]: Failed password for invalid user system from 122.224.203.228 port 47930 ssh2 Apr 1 20:27:54 h***-147-238-*** sshd[5796]: Failed password for invalid user od from 118.89.46.169 port 34138 ssh2 こんどはパスワードスプレー
鍵認証に変える
1. 鍵ペアはローカルマシンで作る
2.公開鍵をサーバーへコピペで保存する
macで鍵を作る
ターミナルで (winならPowerShell )
$ cd Users/ginzo/.ssh ←パーミッションは 700にする $ ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/Users/ginzo/.ssh/id_rsa): hplocal 鍵の名前を打つ Enter passphrase (empty for no passphrase): そのままEnter(パスフレーズはなし) Enter same passphrase again: もう一回Enter Your identification has been saved in hplocal. ←秘密キー Your public key has been saved in hplocal.pub. ←公開鍵
サーバーにログイン
ログインユーザーの/home/ginzo/.ssh/ にauthorized_keysというファイルを作る
cd ~/.ssh $ touch authorized_keys $ vi authorized_keys mac で作った公開鍵の中身をこのファイルの末尾行にコピペ $ chmod 600 authorized_keys exit
macからログイン (ポートも変えているので-pオプション必要)
$ ssh -p 2**** -i ~/.ssh/hplocal ginzo@192.168.0.**
パスワード認証の禁止
vi /etc/ssh/sshd_config
CentOS 7 の sshd の設定は /etc/ssh/sshd_config ファイルに記述されています。
PasswordAuthentication no ←パスワード認証の拒否 PermitEmptyPasswords no ←パスワードなしユーザーの拒否
systemctl restart sshd ssh再起動
アタックは0になった