VPSを借りて最初にやった設定① ユーザー作成~SELinuxのモード変更

 Linuxエンジニアを本気で目指すため、金を払った方が良いだろうということで、さくらのVPSを借りた(自宅にもサーバーを買ったのだが)。お金を払って30分くらいで使えるようになるのだが、起動するとすぐに公開した状態になるため、セキュリティを考えて色々設定を行った。今回やった設定をまとめておく。なお、サーバーを起動した時点でSSHは使えるようなっていた。

CentOS7を入れなおす

初期ではCentOS6.9がインストールされる。せっかくなので最新版を入れようということで、CentOS7.4を入れなおすことにした。コンソール画面の右上にある【各種設定】=>【OSインストール】=>【カスタムOS】からインストールできる。また、Dockerなどを使いたい場合、出来るだけ最新版を入れた方が設定が楽だったりする。

ユーザーを作成してSUDOユーザーへ

 WindowsServerだとそういう慣習は無いような気もするのだが(少なくとも僕が関わってきた業務では)、Linuxのサーバーでは普通、root(管理者)とは別にユーザーを作成するようだ。確かに、SSHなどで接続する際に、分けておいた方がセキュリティ面でも操作面でも安心感があると思う。

# 一般ユーザーの作成
$ useradd <userName> 
$ passwd  <password>

# ユーザーをsudoユーザーへ 
$ usermod -aG wheel <userName>

Wheelはsudoユーザーのグループで、入るだけでsudoできるようになる。なお、usermodでグループへユーザーを加えるときは-Gオプションだけでなく-aも指定すること。CentOSなどのディストリビューションでは、ユーザーを作成した直後に同じ名前のグループが作成され、プライマリグループとして設定される。ユーザーはプライマリ以外の複数のグループに参加できるのだが、これらのグループをサブグループという。-Gだけだと所属するサブグループが置き換わってしまい、それまで所属していたサブグループを抜けてしまう。aを付けると、参加するサブグループが新たに増え、それまでのグループには所属し続ける。

SELinuxをPassiveモードへ

 SELinuxは強力なセキュリティソフトのようだが、何かとエラーを出して大変なので、Passiveモードにすることにした。Passiveモードは警告を感知するが、ログ出力するだけで、ほかの操作を中断することは無い。代わりにFireWallのほうはガッチガチにする。

# 状態を確認する => enforcingになってるはず
$ getenforce

# passiveモードにする
$ setenforce 0

# 再度状態を確認する => passiveになってるはず
$ getenforce

# 再起動時もPassiveになるように設定ファイルを書き換える
$ vi /etc/sysconfig/selinux
       :  
SELINUX=enforcing  <= これを SELINUX=passive に書き換える 
       :

次回に続く... ※セキュリティ面の設定が終わるまで、VPSは都度落としておいた方がいいと思われる