Conoha+KUSANAGIのセキュリティ対策第4弾。
セキュリティ対策の大詰めとして、ファイアーウォールの設定を行います。
今回はConohaのサーバー管理ページから設定を行うため、コンソールでのSSHやらFTP接続やらは不要ッ!
設定自体は無料で行えるので、コピペでサクサクっとやっちゃいましょう。
- 外部からの不正なアクセスを防げる
- 無料で使える
ファイアーウォールの重要性と確認
ファイアウォール(firewalld)は外部からの通信を監視し、攻撃性の疑われる不正なアクセスをブロックしてくれる役割を持ちます。
Conohaのファイアーウォールは無料で設定可能
サーバーだけでなく、WindowsやMacなどのOSにも標準で搭載されているので、耳にする機会は多いはず。
パケットフィルタリング型やアプリケーションゲートウェイ型など、様々なタイプがありますが、今回は詳しい説明は割愛。特別に料金が掛かる事も無いので、とにかく設定して攻撃に備えましょう。
また、ConohaにはWAF(Web Application Firewall)というクラウド型Webアプリケーションファイアウォールがありますが、こちらは有料です。今回は無料で導入できる方の紹介になります。
既に設定がされていないか確認する
ConohaVPSでサーバーを新構築した場合、基本的にはファイアウォール設定はオフになっています。
他サイトで色々と行い、現在ファイアーウォールが設定されているかどうか怪しい場合は、一度SSH接続を行い、rootユーザーになった後、下記のコマンドを打って確認しましょう。
firewall-cmd --list-all
正しく設定がされている方は、最初の方に”active”という表示があるはずです。
”FirewallD is not running” という表示がされたら、ファイアーウォールは設定がされていない状態。下記の手順でサクッと設定していきましょう。
ファイアーウォール導入手順
ConohaGMOの公式ページから『サーバー』をクリックし、任意のネームタグを選択します。
サーバーの詳細画面に遷移したら『コンソール』を選択。
コンソールの起動が終わったら、まずはログインしましょう。
デフォルトの入力画面ではコピペが出来ないので、以下の作業はメニュー左上にある『テキスト入力』を選択して、送信していきましょう。
※この時、環境によっては文字の前に『^[』という謎の文字列が現れて上手く入力出来なくなります。解決方法、原因は不明です。僕の場合はコマンド+shiftを押したり、caps lockをONにしてみたり出鱈目に入力して直してます。
root
Enterキーを押すと、Passwordを聞かれるのでConohaのルートパスワードを入力します。
ファイアーウォールの起動
まずは下記コマンドでファイアーウォールを起動。
systemctl start firewalld.service
systemctl 〇〇: systemdを操作するコマンド。
startで起動し、stopで停止し、enableで自動起動化し、restartで再起動できる。
次に、起動したファイアーウォールを自動起動化させます。
systemctl enable firewalld.service
このままではSSH接続が出来なくなるので、以下のコマンドを入力して制限を解除します。
firewall-cmd --remove-service=ssh
こちらの制限解除も自動化するために、下記コマンドも追加。
firewall-cmd --permanent --zone=public --remove-service=ssh
次に指定ポートを解放します。
firewall-cmd --add-port=ポート番号/tcp
ポート番号はセキュリティ対策第二弾で変更したものです。
筆者の場合、ポート番号は29870に変更しているので、「firewall-cmd –add-port=29870/tcp」と入力。
加えて、下記コマンドで自動化。
firewall-cmd --permanent --add-port=ポート番号/tcp
ブログを見れるように設定
デフォルトではhttpやhttps通信も弾くため、こちらも解放していきます。
firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
これで接続可能に変更されます。
設定の確認
全て終えたら、下記コマンドでファイアーウォールの再起動を掛けましょう。
firewall-cmd --reload
これで終わりっ!簡単ですね。
念の為、きちんと設定が出来ているかどうか確認します。
firewall-cmd --list-all
activeになっていたらOK。
注目する箇所はportsとservicesの項目。
httpやhttps、自分のポート番号に変更されているかどうかを必ず確認しておきましょう。
最後に
ここまで終わればVPSの最低限のセキュリティ対策はバッチリ!なはず。
セキュリティ対策を何もせずに放置していた当時は、rootログインをする度に「最後の正しいログインの後に 16000 回の失敗ログインの試行があります」と怒られていたんですが、今ではぱったりと消えてます。
2年前はSSHやらFTPやらとVPS童貞には訳が分からない事だらけで、セキュリティ対策を行うとサーバーに接続できなくなる、画面が固まるなど、不具合のオンパレード。
そんな事もあり敬遠していたんですが、今になると色々な事が理解でき始め、かなり成長を感じてます。
何事も経験ですねぇ。
コメント