WordPressお試し環境構築が完了し、気になるテーマや、使用しているテーマのバージョンアップ、パーマリンク設定や記事本文中への広告表示を試したり、インターネット接続ができない場所での投稿の下書きなど、やっぱりお試し環境構築して良かったと思うことが増えてきました。
そして、いつかは自宅サーバでWordPressブログを公開するという目標に向かって、自宅サーバー公開に向けて、実施するセキュリティ設定とはどんなものなのかを調べてみました。
インターネット上にサーバーを公開すると、ローカル環境で使用していた時とは違い、たくさんの人がサーバーにアクセスできるようになります。大切なサーバーを守るためにセキュリティ対策は必ず実施するようにしましょう!!
色んな方のサイトの情報を基に調べたことをまとめておきます。ただし、ここにまとめた設定をすれば絶対にセキュリティを突破されない事を保障するものではありません。あくまで、自己責任でお願いします。
- 特権ユーザーに関する設定
- sshに関する設定
- サービスに関する設定
- ポートに関する設定
- ファイル改竄の検知
- アンチウィルス
- rootkit検出
今回は、1.特権ユーザに関する設定についてです。
1.特権ユーザーに関する設定
1.1.特権ユーザーになれるユーザーを限定する
wheelというグループに属するユーザーのみ、特権ユーザーになれるように設定します。
usermod -G wheel testuser
vi /etc/pam.d/su
#auth required pam_wheel.so use_uid ↓ auth required pam_wheel.so use_uid
1.2.passpromptを変更する
sudoコマンドで、コマンドを実施する際にパスワード入力を促すプロンプトが表示されますが、偽物のプロンプトを表示しパスワードを盗んだりする攻撃も存在しているので、オリジナルのプロンプトに変更してしまうという設定です。
Defaults passprompt = “%u@%h Password: “
1.3.sudoパスワードキャッシュタイムアウトを変更する
sudoコマンド実行後、一定の時間内はパスワードを再入力することなく続けて特権ユーザー権限のコマンドが実行できてしまいます。この時間を変更(短く)してしまうという設定です。ディストリビューションによって異なるかも知れませんが、デフォルトで5分…結構長い時間が設定されていますので短い時間に変更しましょう。
短い時間に設定すると、メンテナンス時に何度もパスワード入力をしなければならなくなりますが、それだけ攻撃を仕掛ける人にとっても面倒なことになるということです。
Defaults timestamp_timeout =
300→30など
コメント