CentOS6.9の初期設定

いまさらCentOS6.9!?

個人で借りているVPSの契約解除を忘れてしまい、自動で契約が更新されてしまいました・・・
後半年くらい契約が残っているので、Git & ファイルサーバーとして活用することにしました

で、今レンタルしているGMOクラウドのVPS、どうやらOSの変更はできないそうで、やむなく当初レンタルしたCentOS6.9を使い続けることにしました
今は同じGMO系列のConohaに乗り換えたので、GMO Cloudは解約の方向で・・・
同じVPSをレンタルするなら、かわいい女の子に貢ぐほうがいいので!

初期設定内容

以下のページを参考に実施しました
https://qiita.com/narumi_/items/179048afb48f64f45c6e

今後紹介するコマンドは、「# 始まりはrootユーザー」「$ 始まりは通常ユーザー」となります

ログイン方法の変更

rootログインの禁止、sshポート変更、鍵認証でのみログインを設定します

# vi /etc/ssh/sshd_config

以下の設定に変更
PermitRootLogin no
PermitEmptyPasswords no

普段使うユーザーを作成

# useradd ユーザー名
# usermod -G wheel ユーザー名

# passwd ユーザー名
新しいパスワード
もう一度新しいパスワード

sudo設定

# visudo

## Allows people in group wheel to run all commands
%wheel        ALL=(ALL)       ALL  ←コメントアウト解除

この時点で、一度sshdサービスを再起動

# /etc/init.d/sshd restart

この時点で、rootの直接ログインができなくなります

鍵認証方式でログインできるようにする

今回は、すでに秘密鍵が作成済みのため、Linux側の設定のみ紹介します
ログイン元のPC(自分の場合Windows)での鍵作成方法は以下が参考になるかと思います
https://qiita.com/sugar_15678/items/55cb79d427b9ec21bac2

$ cd 
$ mkdir .ssh ←存在しない場合作る
$ vi id_rsa.pub ← puttyで作成した「id_rsa.pub」の内容を貼り付け
$ ssh-keygen -i -f id_rsa.pub >> authorized_keys
$ chmod 600 authorized_keys
$ rm id_rsa.pub
$ cd ..
$ chmod 700 .ssh

sshdの設定を変更し、パスワードを利用したログインを禁止します
ついでにsshポートを変更することで、よりセキュリティを高めます

以下の設定を行うことで、パスワードでのログインが行えなくなります
設定を失敗していると、 サーバーにログインできなくなる可能性もあるため、ターミナルは閉じないように作業してください

# vi /etc/ssh/sshd_config

#Port 22
Port 22222 ← 任意のポートに変更

#PasswordAuthentication yes
PasswordAuthentication no ← noに変更

サービスリスタート
# /etc/init.d/sshd restart

puttyの設定を変更し、鍵認証でのログインが可能か確認します

ユーザー名を入力後、「Authenticating with public key」と、公開鍵でのログインを求められると成功
rootユーザーにも問題なくスイッチできるか確認します

iptablesの設定

最後にiptablesを変更して、接続を制限します
今回はhttp(80), https(443), sshログイン(変更したポート)のみ許可するようにします
設定内容は以下の通り
iptablesの設定も、 失敗するとサーバーにつながらなくなります
以下の設定ではsshの22番ポートを塞いでいますが、接続確認が取れた後に22番ポートを塞ぐことをお勧めします

# vi /etc/sysconfig/iptables

# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter

#:INPUT ACCEPT [0:0]
#:FORWARD ACCEPT [0:0]
#:OUTPUT ACCEPT [0:0]
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]

-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
# -A INPUT -p icmp -j DROP
-A INPUT -i lo -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

# -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 任意のポート -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited

COMMIT

設定を有効化します

# /etc/init.d/iptables restart

これで、iptablesの設定変更も終了です

以上

ひとまず最低限の設定は終了です
今後はGitサーバーとして使用したいと思います