CentOS 7環境での必要最低限のセキュリティ設定です。すごく簡潔に書いてます
目次
一般ユーザを追加
useradd [ユーザー名]
passwd [ユーザー名]
- wheelに所属させる
usermod -aG wheel [ユーザー名]
sshでルートログインを禁止
vim /etc/ssh/sshd_config
#PermitRootLogin yes
↓
PermitRootLogin no //rootでのログインを禁止
#PermitEmptyPasswords no
↓
PermitEmptyPasswords no //空のパスワードでのログインを禁止
- 一回サーバー再起動しておく
システムアップデート
yum update
SSHに公開鍵認証設定
ローカルで暗号鍵作成
ssh-keygen -t rsa
//Enter file in which to save the key: [暗号鍵ファイルを置く場所を指定]
サーバーで暗号鍵設定
- SFTPなどでユーザーのホームディレクトリにid_rsa.pubを転送
-
一般ユーザーでログインし、ホームディレクトリで
mkdir .ssh
chmod 700 .ssh
cat id_rsa.pub > .ssh/authorized_keys
chmod 600 .ssh/authorized_keys
rm -f id_rsa.pub
SSHのパスワード認証禁止
- suなどでrootに変更
vim /etc/ssh/sshd_config
PubkeyAuthentication yes //確認
AuthorizedKeysFile .ssh/authorized_keys //鍵のファイル場所
PasswordAuthentication yes
↓
PasswordAuthentication no //パスワードでのログインを禁止
- 一回サーバー再起動しておく
暗号鍵でログイン
ssh -i [鍵のファイル名] [ユーザー名]@[サーバーのホスト名]
SSHの設定ファイル作成
vim ~/.ssh/config
Host [設定名]
HostName [サーバーのホスト名]
IdentityFile ~/.ssh/[鍵のファイル名]
User [ユーザー名]
これで
ssh [設定名]
でssh接続できる
ファイアウォールの動作確認
firewall-cmd --state
runningと表示されていれば動いている。
ファイアウォールの設定を表示
firewall-cmd --list-all
ファイアウォールの詳細な設定は別記事にそのうち書くと思います。たぶん。
参考
- https://help.sakura.ad.jp/hc/ja/sections/201976962-セキュリティの設定
- http://blue-goheimochi.hatenablog.com/entry/2013/07/17/サーバを外部にさらすまえに…セキュリティ!
- http://www.server-memo.net/centos-settings/firewalld/firewalld.html
脚注
この記事は、http://qiita.com/Ayame/items/8ac4aedbc18b8c92c414の加筆修正版です。