
【前編】初心者でも仮想マシンでサーバ構築~VMwareインストール&CentOS7で作成編~
こんにちは、いっしーです。
サーバを扱う上でほぼ確実に使うことになるssh。 しかし、それゆえに攻撃の対象になりやすいものでもあります。
今回は、より安全にsshを使うための方法の一つとして、sshのポート番号を変更する方法についてご紹介したいと思います。
sshは、デフォルトで22番ポートを使用する仕様。
そのため、22番ポートは世界中の攻撃者から、ブルートフォースアタック(ID, PASS 総当たり攻撃)の対象になっています。
つまり、ポート番号を変更することによって、こういった攻撃を防ぐことができるというわけです。
では実際に、sshのポート番号を変更していきたいと思います。
「vi /etc/ssh/sshd_config」で設定ファイルを開いて、「#Port 22」の部分を任意のポート番号に変更します。
※ウェルノウンポート番号(特定のサービスのために使用されるポート番号)である「0~1023」は避けて、「1024~65535」の範囲の中で指定します。
本稿では一例として54321番ポートに変更します。
1 |
[root@j-cloud ~]# vi /etc/ssh/sshd_config |
#Port 22
↓
Port 54321
sshのポート変更に合わせて、firewallのポートを開放します。
CentOS7では、「/usr/lib/firewalld/services/」にSSHやHTTPなどの主要なサービスの定義ファイルがあらかじめ用意されていますが、これらの定義ファイルは編集してはいけません。
設定をカスタマイズする場合は、「/etc/firewalld/services/」に定義ファイルをコピーしてから編集を行います。
sshの定義ファイルをコピー
1 |
[root@j-cloud ~]# cp /usr/lib/firewalld/services/ssh.xml /etc/firewalld/services/ssh.xml |
sshのポート番号を修正
1 |
[root@j-cloud ~]# vi /etc/firewalld/services/ssh.xml |
<port protocol=”tcp” port=”22″/>
↓
<port protocol=”tcp” port=”54321″/>
1 2 3 4 5 6 |
<?xml version="1.0" encoding="utf-8"?> <service> <short>SSH</short> <description>Secure Shell (SSH) is a protocol for logging into and executing commands on remote machines. It provides secure encrypted communications. If you plan on accessing your machine remotely via SSH over a firewalled interface, enable this option. You need the openssh-server package installed for this option to be useful.</description> <port protocol="tcp" port="54321"/> </service> |
それでは、変更した設定を反映していきます。(※)
※設定をミスった場合、サーバに接続できなくなってしまうので、設定を反映する前によーく確認しましょう!
sshdの再起動
1 |
[root@j-cloud ~]# systemctl restart sshd.service |
firewallの設定を反映
1 2 |
[root@j-cloud ~]# firewall-cmd --reload success |
ポート番号変更後、クライアントからssh接続できれば完了です。
ぜひ、お試しください。
▼ジョイントメディアのホスティングサービス『J CLOUD』のWEBサイトはこちら▼
安心・安全のクラウドサーバー
【J CLOUD】