
サーバはポートを開放して外部からの接続を許可します。ポートを全く開放しなければ一番安全ですが、外部から接続できないのではサーバとしての役割が果たせないでしょう。
そこで必要なポートだけを許可して、安全に運用する必要があります。CloudGarageでは先日、接続許可設定を細かく設定できる機能を提供開始しました。今回はその使い方を解説します。
接続許可設定は3パターン
接続許可設定は大きく分けて3パターンの設定が用意されています。
- かんたん設定
- 詳細設定
- 全開放
最後の全開放はすべてのポート番号への接続を許可するもので、OS側のファイアウォール設定で制御します。より玄人であったり、自動化を行っている方向けでしょう。かんたん設定はよく使われるポート番号に対する接続許可を設定できます。
- SSH
22 - HTTP
80 - HTTPS
443 - Tomcat
8080 - Rails
3000 - FTP
20/21/990 - SMTP
25/465/587 - POP
110/995 - IMAP
143/993 - MySQL
3306 - PostgreSQL
5432 - DNS
53
簡単設定はチェックするだけでポート番号を開放できる手軽さの一方、接続元が指定できません。そのため、インターネット公開が前提になるであろうSSH/HTTP/HTTPS/FTP/SMPT/POP/IMAP/DNSなどは良いのですが、データベースやTomcat/Railsなどがインターネットから接続されるのは好まれません。
そこで使いたいのが詳細設定です。
詳細設定の使い方
詳細設定では3つのパラメータで設定します。
- プロトコル
- ポート
- 送信元IPアドレス
プロトコルはTCP/UDP/ICMP/ANYがあります。多くの場合はTCPですが、これは接続を許可したいアプリケーションによって変わるでしょう。
ポート番号は数字や範囲で指定します。例えば 8080 または 8080-8081 といった具合です。
IPアドレスはアドレス範囲で指定します。123.123.123.0/24といった具合です。なお、接続を許可しない場合には 0.0.0.0 を指定すれば良いですが、これは元々設定しなければいいだけなので意味がありません。
注意点
詳細設定は許可する条件だけを設定します。拒否設定のDENYはありませんので注意してください。そのため、あるIPアドレスからのアクセスだけを拒否したい場合には、アプリケーション側の設定や、ファイアウォールで設定する必要があります。
HTTP/HTTPSを除けば、アクセス先のポート番号はデフォルトから変えておいた方が安全とされています。外部からハッキングする人たちはデフォルトのポート番号(または類似番号)へのアタックを自動で行っています。そうした悪意を持った人たちにサーバを乗っ取られたりしないよう、ポート番号と接続許可に関する設定を正しく行いましょう。