CentOS7の仮想サーバー構築にチャレンジ その5

CentOS7の仮想サーバー構築にチャレンジ その4 の続きです。iptablesの設定が完了後、さらにセキュリティを固めていきます。

もくじ

  • CentOS7 ISOファイルの入手(その1)
  • VMwareの準備(その1)
  • 仮想マシンの作成(その1)
  • CentOS7のセットアップ(その2)
  • 初回ログイン(その3)
  • ファイアウォール(iptables)(その4)
  • sudoの有効化(その5)
  • リモートからのrootログインの禁止設定(SSH)とセキュリティ強化(その5)
  • Apacheのインストール(その6)
  • WEBサーバーとして運用するための設定(その7)
  • SFTPによるファイルのアップロード(その7)
  • PHPのインストール(その8)
  • ユーザーディレクトリでWEBサイトを公開する(その8)
  • PHPをCGIモードで(ユーザー権限で)動かす(その8)
  • デフォルトパーミッションの変更(その9)
  • php.iniと.user.ini(その9)
  • MySQLの導入(その10)
  • phpMyAdminのインストール(その11)
  • WordPressのインストール(その12)

sudoの有効化

ここまではrootでログインして作業を行ってきました。サーバー構築初期はroot権限が必要な作業も多いので、rootでログインしたほうが便利なことも多々ありますが、日常的なサーバー運用でrootログインするのは自殺行為です。通常は、sudoコマンドを用いて、必要なときだけ通常ユーザーがroot権限を貰って作業します。手順解説は当サイトのCentOSでSudoを使えるようにする | 自由とテクノロジーを愛す者のサイトで行います。root以外のユーザーを新規に作成する場合は、こちらを参考にして下さい。

sudoが使えるようになった後、ユーザーを切り替える場合は [VIM] #ユーザー名hoge su – hoge #切り替えたユーザーからログアウトするコマンド exit #元のユーザーに復帰 [/VIM]

リモートからのrootログインの禁止設定(SSH)とセキュリティ強化

さて、sudoが使えるようになったところで、SSH経由でのrootログインを禁止しましょう。これもセキュリティ強化のためです。同時に他のセキュリティ強化設定も行います。コマンドは以下(ここからはrootでないsudoできるユーザーでログインしている前提でコマンドを記載) [VIM] sudo vim /etc/ssh/sshd_config #ログインしているユーザーのパスワードの入力を要求される #きちんと入力できればroot権限を得てファイル変更へ移る #17行目付近のこの記述のコメントアウトを外す(頭の#(井桁)を消す)→更にセキュリティを強化するなら #ここの番号を1024以上の適当な数字(6万あたりまでなら大丈夫)に変更するとSSHのポート番号を変更できる #(3306(MySQLで使用)などは避ける) #ポート番号の変更を行う際はきちんとiptablesの設定を変更してそのポート番号を開けておくこと #Port 22 #変更後の記述例 Port 22 #ポート番号を変更 Port 22004 #23行目付近のこの記述のコメントアウトを外す(何もしなくてもOK) #Protocol 2 #変更後の記述 Protocol 2 #49行目付近のこの記述のコメントアウトを外す→yes を no に書き換える(rootでのログインを禁止) #PermitRootLogin yes #変更後の記述 PermitRootLogin no [/VIM] 設定ファイルの書き換えが終わったら保存します。ポート番号を変更する場合は下記を参考にSELinuxの設定を変更して下さい。そうでない場合は「SSH 設定ファイル書き換え後の操作」に飛んで下さい。

SELinuxとポート番号

ポート番号の設定をいじるときには、SELinuxの設定をいろいろと弄る必要が出てきます。SSHのポート番号を変更する際SELinux関連のコマンドは以下(参考サイト→CentOS 7 で sshd のポートを変更する(firewalld, SELinuxの設定) | CentOS | daily memorandum 3.0.0) [VIM] sudo yum install policycoreutils-python #数字のところは任意のポート番号に置き換えること sudo semanage port -a -t ssh_port_t -p tcp 2222 #ポート番号の設定を確認 semanage port -l| grep ssh #応答結果例 ssh_port_t tcp 2222, 22 [/VIM]

SSH 設定ファイル書き換え後の操作

[VIM] which sshd #結果は多分こんな感じ /usr/sbin/sshd #設定ファイルの記述エラーをチェック sudo /usr/sbin/sshd -t #大丈夫なら何も表示されない #ポート番号を変更した場合はiptablesの設定を書き換えてポートを開けておくこと(iptablesの再起動まで済ませておく) #sshdを再起動 sudo systemctl restart sshd [/VIM] ここまで終わったら、試しにSSHでrootログインしてみましょう。拒絶されれば設定が有効化されています。

iptablesの設定、sudoの有効化、SSHでのrootログイン禁止まで終われば、とりあえずセキュリティはそこそこのレベルに達すると思います。が、セキュリティに終わりはありません。常に最新の情報を仕入れて対策を施す必要がありますし、ソフトのアップデートも欠かせません。今回はCentOSでのソフトのアップデートに使うコマンドを解説して終わりたいと思います。 [VIM] sudo yum update #インストールされているソフトにアップデートがあればそれを適用するかどうかを訊かれる。yと入力して適用すればアップデートされる [/VIM]

このブログを応援する・寄付する

当ブログでは暗号通貨による寄付を募っております。

モナゲボタン モナゲボタン

Bitcoin:

Monacoin:

Litecoin: