初心者がconohaでVPSを借りてnginxでphpページを公開するまで-初期セキュリティ編-


セキュリティ対策を行う

1:root以外のユーザーを追加する

rootユーザーのパスワードはkonohaサーバーのパスワードと同じなので
サーバー攻撃されてkonohaアカウントがバレるし
konoha側が攻撃されてサーバーのrootがバレるし
いろいろ不味いので新たにユーザーを作成する。

#ユーザーの作成とパスワード設定
adduser ユーザー名

#sudoグループへ加入する
gpasswd -a ユーザー名 sudo

#ログインできるか確認する
su ユーザー名

#sudoできるか確認する
sudo echo "test"

#sshにログインできるか確認する
ssh -l ユーザー名 接続先

ここまで完了できたらユーザーはちゃんと追加できている。
もし追加ユーザーがsshに接続できない場合はkonohaの管理画面でsshkeyを設定している可能性が高い。
そのときはsshkeyを削除してサーバーを再構築リセットして最初から手順踏む。

2:rootでのssh接続を遮断する

追加したユーザーで今後の作業を行うので
パンドラの箱であるrootは封印する。

#rootでログイン出来ないように設定ファイルを書き換える
sudo vi /etc/ssh/sshd_config
→PermitRootLoginをyesからnoに書き換える

#設定ファイルを反映させる
service sshd restart

#sshにrootでのログインを試みる(失敗するのが正しい)
ssh -l root 接続先

これでrootは無事封印された。

3:sshkeyの設定をする。

さらにセキュリティを高めるために公開鍵認証でのssh接続ができるようにする。

#ホームディレクトリに移動して「.ssh」というフォルダを作って権限を設定する。
cd ~/
mkdir .ssh
chmod 700 .ssh

#「.ssh」に移動してsshkeyの生成して権限を設定する。
cd .ssh
ssh-keygen -t rsa -b 4096 -f 鍵ファイル名
chmod 600 鍵ファイル名

#catで表示させた鍵ファイルの中身をローカルにコピペする
cat 鍵ファイル名

#公開鍵の登録
ssh-copy-id -i 鍵ファイル名 ユーザー名@接続先

#以上完了したら秘密鍵でのログインを試す。
#うまく行ったなら秘密鍵と公開鍵(.pub)を削除する。
#秘密鍵は必ずバックアップに保存すること!
rm 鍵ファイル名
rm 鍵ファイル名.pub

今回は自分以外にサーバーを触る人がいないので、configファイルは作成しなかった。

4:パスワード認証によるログインを遮断する

秘密鍵でログインできることを確認したら、パスワード認証でのログインは遮断したほうが良い。

#パスワード認証でログイン出来ないように設定ファイルを書き換える
sudo vi /etc/ssh/sshd_config
→PasswordAuthenticationをyesからnoに書き換える

#設定ファイルを反映させる
service sshd restart

#sshにパスワード認証でのログインを試みる(失敗するのが正しい)
ssh -l ユーザー名 接続先

5:sshポートを変更する

sshのデフォルトポートは22番であるのは常識なので、だいたい22番を狙ってくる。
なのでポート番号を変更することで攻撃されにくくする。

#設定ファイルを書き換えてポート番号を変更する
sudo vi /etc/ssh/sshd_config
→「#Port 22」を「Port 番号」に書き換える

#設定ファイルを反映させる
service sshd restart

これでsshに接続するときは変更した番号でしか接続できなくなる。
…番号を忘れてはいけないよ?

6:ファイアウォールの設定

設定することでアクセスを制限できて攻撃方法を狭めることができる。

#ファイアウォールを有効に
sudo ufw enable

#標準はアクセスを全て制限に
sudo ufw default deny

#例外でアクセスを許可する
sudo ufw allow https/tcp
sudo ufw allow http/tcp
sudo ufw allow ftp
sudo ufw allow sshポート番号

#設定を反映させる
sudo ufw reload

7:パッケージの更新

古いverはセキュリティホールがある場合があるので更新する。

#パッケージ一覧の更新
sudo apt-get update

#インストール済みパッケージの更新
sudo apt-get upgrade

ここまでやれば大丈夫

…なハズ。
初心者が初めてvps借りてやった手順をまとめてみました。
これやったほうが良いよってのがあったら教えて欲しいです!