いまさら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サーバーとして使用したいと思います