Raspberry PiとVALUE-DOMAINのDDNSで安価にVPN環境を構築する(セキリティの設定)
Raspberry PiでOpenVPNサーバを構築するシリーズ。 前回まででSSHでヘッドレスで繋げるまでの最低限の設定ができたので 次はセキュリティ関連の設定をする。 目次はこちら
ユーザ名の変更
ユーザ名はデフォルトでpi
となっているので
これを変更する。
変更手順はこちらの記事を参考にした。
仮ユーザの作成
仮のユーザを作成する。
$ sudo useradd -M tmp
作成した仮ユーザをsudoグループに追加する。
$ sudo gpasswd -a tmp sudo
仮ユーザのパスワードを設定。
$ sudo passwd tmp
一旦ログアウトする。
$ exit
ログアウトしたら仮のユーザ名で入り直しておく。
piユーザのユーザ名を変更する
ユーザ名を変更。この際、GUIにpiでログインしていると変更できないので注意。
$ sudo usermod -l newuser pi
ホームディレクトリの変更。
$ sudo usermod -d /home/newpi -m newpi
piグループを新しいグループ名に変更。
$ sudo groupmod -n newuser pi
仮ユーザからログアウト。
exit
新しいユーザのパスワードを変更
まず、仮ユーザを削除する。
$ sudo userdel tmp
次に新ユーザのパスワードを変更。
$ sudo passwd newuser
SSH設定の変更
デフォルトのままだとセキュリティガバガバなので、必ず外部からアクセスできるようにする前に設定を変更する。
rootへのログインを不可にし、鍵認証のみ許可する
まず、クライアント側で鍵を生成し、公開鍵を~/.ssh/authorized_keys
にコピペで登録する。
$ sudo vi /etc/ssh/sshd_config
下記部分をコメント解除して追記。
PermitRootLogin no
PasswordAuthentication no
ChallengeResponseAuthentication no
必ずSSHを繋いだままで別セッションを立ち上げてSSHでログインできるか試すこと。
SSHのポートを変更する
上記設定をしていてばほぼ不正ログインされることはないので、 ポート変更はセキュリティ担保には本質的ではない気がするが 外部からの無用なアクセスを予防する意味で設定する。
$ sudo vi /etc/ssh/sshd_config
以下の部分をコメントアウトし、任意のポート番号(1024-65535の間)を設定。 基本的には22を含むポート番号は避けるべき。(10022とか) 結局攻撃される。 また、11111とか12345とかも微妙そう。
port 22