固定IPアドレスを利用してKUSANAGIのSSH、WordPressの管理画面にアクセス制限をかける方法を紹介します。
これらの設定を行うことで特定のネットワーク以外からのアクセスを遮断できるため、真正面からの不正なアクセスに対して非常に協力なセキュリティを築くことができます。
固定IPは「インターリンクのマイIP」が安く手軽に利用できるのでおすすめ。
インターリンクのマイIPで固定IPアドレスを取得
インターリンクの「マイIP」はVPNと固定IPが利用できるサービス。
簡単な設定を行えばPC、スマホなどからワンタップで「VPN+固定IP」の通信に切り替えることができ、どこのネットワークからでも固定IPでサーバーやWordPressの管理画面にアクセス可能。
一つの固定IPがあれば手持ちのサイトすべてのセキュリティを高められる上、単純にVPNとして町中の無料WIFI接続時のセキュリティを高めたり、海外から日本でしか利用できないサービスにアクセスしたりできるので、WordPressサイト運営者なら契約しておいて損はありません。
2か月間は無料でお試しができ、初期費用、解約費用も無料なので固定IPに興味がある人はぜひ利用してみてください。
なおウェブサイトは古臭いですが、インターリンクは1995年から続いている古株のIT事業者です。
公式Link:インターリンクのマイIP
SSHを固定IPのみ接続可能にする
SSHを固定IPで制限する方法はいくつかありますが、ここではSSHデーモンで「特定のユーザー+固定IPのみSSHを許可」することにします。
なお、設定を誤るとSSHで接続できなくなる可能性があるため、必ずサーバーと接続したままのターミナルを一つ開いておき、別のウィンドウで作業をすること。
#SSHの設定ファイルを編集 #vim /etc/ssh/sshd_config
ファイルの最後にもう一行「AllowUsers kusanagi@固定IPアドレス」を記述(ここでは例としてaaa.bbb.ccc.ddが固定IPアドレスとする)。
これで「aaa.bbb.ccc.ddから接続してきたkusanagiユーザーのみSSHを許可」する設定になる。
#編集前 最後の行 #ForceCommand cvs server #編集後 一行追加 #ForceCommand cvs server AllowUsers kusanagi@aaa.bbb.ccc.dd
#デーモンを再起動 #service sshd restart
固定IPにつないだ状態でkusanagiユーザーがSSHログインできること、固定IP以外のネットワークからログインできないことを確認。
#固定IP以外でログインできなければOK $ ssh -p 54321 -i ~/.ssh/kusanagi.pem kusanagi@(サーバーの)IPアドレス Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
WordPressの管理画面を固定IPのみ接続可能にする
nginxの設定ファイルを編集する。
#SSL化しているサイトの場合 #vim /etc/nginx/conf.d/プロファイル名_ssl.conf #SSL未対応のhttpサイトの場合 #vim /etc/nginx/conf.d/プロファイル名_http.conf
75行目付近に記述がある。
固定IPアドレスが「aaa.bbb.ccc.dd」のとき、「allow 0.0.0.0/0」を「allow aaa.bbb.ccc.dd」に書き換え。
また「auth_basic “Basic Authentication”」をコメントアウトにしてベーシック認証を不要にしておく。
#編集前 location ~* /wp-login\.php|wp-admin/((?!(admin-ajax\.php|images/)).)*$ { satisfy any; allow 0.0.0.0/0; allow 127.0.0.1; deny all; auth_basic "Basic Authentication"; auth_basic_user_file "/home/kusanagi/.htpasswd"; #編集後 location ~* /wp-login\.php|wp-admin/((?!(admin-ajax\.php|images/)).)*$ { satisfy any; allow aaa.bbb.ccc.dd; allow 127.0.0.1; deny all; #auth_basic "Basic Authentication"; auth_basic_user_file "/home/kusanagi/.htpasswd";
nginxを再起動。
#nginxを再起動 #kusanagi nginx
固定IPアドレス以外で「独自ドメイン/wp-login.php」にアクセスできない(403エラーになる)ことを確認。
- KUSANAGI参考書籍
- ゼロからはじめるLinuxサーバー構築・運用ガイド 動かしながら学ぶWebサーバーの作り方
- 新しいLinuxの教科書
- 入門者のLinux 素朴な疑問を解消しながら学ぶ (ブルーバックス)
- 標準テキスト CentOS 7 構築・運用・管理パーフェクトガイド
- プロに管理してもらえるKUSANAGI搭載サーバー
- カゴヤ・ジャパンの「WordPress専用サーバー」
- CloudGarage(旧エクスクラウド)の「WordPressプラン」