Computeインスタンスのsshポート変更(2日目)

Oracle Cloud always free Advent Calendar 2019の二日目です。

always freeのcomputeインスタンスですが、基本起動しっぱなしです。
SSH接続は秘密鍵での認証されていますが、それだけでは心元ないので、SSH接続のポートを変えることにします。


以前ポート22のままサーバを運用していた時に猛烈にアタックを受けたことがあり、軽くトラウマになっています。

 

今回はssh の待ち受けポートを22から54222に変更するために必要なセキュリティ設定を行い、その後、ssh待ち受けポートを変更します。

失敗するとコンソール接続しか出来なくなるので注意してください。

 

Firewalledの設定変更

#firewalldの受信ポート(54222)追加
sudo cp /usr/lib/firewalld/services/ssh.xml /etc/firewalld/services/ssh-54222.xml
sudo vi /etc/firewalld/services/ssh-54222.xml

#<port protocol="tcp" port="22"/>
<port protocol="tcp" port="54222"/>

sudo firewall-cmd --permanent --add-service=ssh-54222
#設定のリロード
sudo firewall-cmd --reload

#変更の状態確認
sudo firewall-cmd --list-all

#servicesにssh-54222があればOK

#sshdのポート番号変更
sudo vi /etc/ssh/sshd_config
# Port 22
Port 54222

#sshdのリロード
sudo systemctl restart sshd

 

 

#セキュリティリストの追加
oracle cloudコンソールから
ネットワーキング-仮想クラウド・ネットワーク-VirtualCloudNetwork-XXXXXXXを選択
パブリック・パブリックサブネットをクリック
Default Security List for VirtualCloudNetwork-XXXXXXXXXをクリック

 

#イングレス・ルールに以下を追加
ソース 0.0.0.0/0
IPプロトコル TCP
宛先ポート範囲 54222

 

#変更したポートで接続できることを確認
#別のコンソールから接続する。

 

ssh -i <接続用のキー> -P 54222 opc@<インスタンスのIP>

 

#firewalldの設定からポート22を削除
sudo firewall-cmd --permanent --remove-service=ssh

#設定のリロード
sudo firewall-cmd --reload

#変更の状態確認
sudo firewall-cmd --list-all

#servicesにsshがなければOK

 

ポートを変えるだけでアタックの頻度はかなり下がります。

 

<参考文献>
https://qiita.com/fk_2000/items/019b62818e34be973227