Time4VPS の CentOS のログイン時に以下のように表示された。
There were 109 failed login attempts since the last successful login.
自分がログインしたのは前日なので、1晩で 109 回もの不正ログインが試みられたということだ。
ログインのログは以下で確認できる。
1 |
# cat /var/log/secure* | grep "sshd" | grep "Failed password" |
認証に成功したログは以下のコマンドで確認できる。
1 |
# cat /var/log/secure* | grep "sshd" | grep "Accepted" |
とりあえず自分の IP アドレスだけだったので安心した。
しかし、もしものときに備えて SSH ポート番号を変更しておくことにした。
環境:
・Time4VPS「Linux 8」(CPU: 2 x 2.60 GHz、RAM: 8192 MB、Storage: 80 GB、Bandwidth: 8 TB、Port speed: 100 Mbps、Virtualization: KVM)
・macOS Catalina Version 10.15.6(英語環境) で SSH 接続
(1)/etc/ssh/sshd_config で以下のように編集する。
変更前:
#Port 22
変更後:
Port 6022
(2)sshd を再起動
1 |
# systemctl restart sshd |
(3)ファイアーウォールから SSH を削除。
1 |
# firewall-cmd --permanent --remove-service=ssh |
(4)XMLファイルを作成
1 |
# cp /usr/lib/firewalld/services/ssh.xml /etc/firewalld/services/ssh-6022.xml |
(5)/etc/firewalld/services/ssh-6022.xml を編集する。
変更前:
1 |
<port protocol="tcp" port="22"/> |
変更後:
1 |
<port protocol="tcp" port="6022"/> |
(6)ファイアーウォールに登録。
1 |
# firewall-cmd --permanent --add-service=ssh-6022 |
(7)ファイアーウォールを再起動。
1 |
# firewall-cmd --reload |
(8)現在の設定を確認してみる。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
# firewall-cmd --list-all public (active) target: default icmp-block-inversion: no interfaces: eth0 sources: services: dhcpv6-client ssh-6022 ports: 80/tcp 443/tcp 2399/tcp 5003/tcp 16000/tcp protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules: |
(9)クライアント(私の場合 Mac)からアクセスする際は以下のように -p 6022 オプションを付ける。
1 |
$ ssh [ホスト名(〜.time4vps.cloud)] -l [ユーザー名] -p 6022 |
参考:
不正なSSHログインを確認する方法【CentOS】
https://reiwanet.biz/linux/centos-ssh-failed-access/
SSH待ち受けポートの変更手順【CentOS】
https://reiwanet.biz/linux/centos-ssh-port-change/
sshのポート番号変更方法 – Qiita
https://qiita.com/hana_shin/items/4a90fa66e2d77324912c