前回、Cohohaに申し込みましたので、今回はVPSの初期設定編です。
初期設定は基本的にはRaspberryPiと同様ですが、firewallの設定が必用なこと、 ブラウザ上のターミナル操作(実質実機上の操作と同じ)とクライアントPCからのターミナル操作の使い分けが必用です。
まずはブラウザ上のターミナルからユーザー追加とssh設定をします。
ユーザーの追加
useradd [name]
ユーザーのパスワード設定
passwd [name]
sshポートの変更
デフォルト22番からsshポート番号を変更します。
ファイアーウォールsshポート変更
CentOS7からファイアーウォールがiptablesからfirewalldに変更になったようで、よく見るiptablesの設定でははく、firewall-cmdを使った変更が必要なようです。
<参考>
一覧表示
firewall-cmd --list-all
この一覧からsshを削除します。
cp /usr/lib/firewalld/services/ssh.xml /etc/firewalld/services/ssh-50.xml
内容を編集します。
ポートの指定22から任意のポート番号に変更します。
<port protocol="tcp" port="50"/>
ファイアーウォールに追加します。
再起動します。
firewall-cmd --reload
最終確認でssh-50(任意のファイル)が認識されていたらOK!
firewall-cmd --list-all
visudo
でユーザーへ権限追加します。
Raspbianはvisudoでnanoが選べましたがCentOSはデフォルトでvimエディタ
「a」キーで編集して、「esc」キーで編集終了
「:w」入力で上書き保存「:q」で終了。「:q!」で保存しないで終了。
デフォルトで
root ALL=(ALL) ALL
とrootには全ての権限が与えられています。
[ユーザー] ALL=(ALL) ALL
とすることで任意のユーザーにsudo権限が与えられますがrootと違うのはsudoコマンドでパスの入力が必要です。
一度再起動して
reboot
///////////////
ここで一旦クライアントPCのターミナルから登録ユーザーでVPSのIPアドレスと任意のポートからログインしてみてsudo操作に問題が無いことを確認します。
///////////////
rootでのsshログイン禁止処置をします。
新しいユーザーでログインしてから
でsshd_congifの項目のPermitRootLogin yesを
PermitRootLogin no
と設定します。
もう一度再起動
sudo reboot
※このようなポートの変更、rootログイン禁止という基本処置をしていてもSSHへの攻撃は容赦なく行なわれます。
↓こういったツールの導入も検討しましょう。
システムをアップデートします。
アップデートがあるか確認します。
sudo yum check-update
あればアップデート、初回起動ではまあ必ずありますよね。
sudo yum update
以降カーネルを外してアップデートする手順
yumでシステムアップデートする(カーネルは除く)|Linux Tips
普通にアップデートしていればカーネルのアップデートも対象になります。
しかし、場合によってはカーネルを何でもかんでもアップデートしてしまうとシステムに不具合を来す場合もあるのでカーネルはアップデートの対象外とすることが望ましいようです。
通常、カーネルを除外するコマンドは
sudo yum -y update --exclude=kernel*
ですが、面倒なので
sudo nano /etc/yum.conf
を編集して
exclude=kernel* ←追加
これで普通にアップデートしてもカーネルは除外されます。
こうするとアップデートにkernelが含まれていれば「kernelがアップデートできないよー!」とOSに文句を言われます。
そしたらVPSを一回バックアップイメージに残しておき、上記コマンドをコメントアウトしてからアップデートをします。
そうすると万が一、カーネルのアップデートによるトラブルが発生してもバックアップイメージからアップデート前のVPSを復元することができます。
////もっと便利に///
「yum-cron」というツールで自動アップデートする方法もあるそうです。
セキュリティーのみ自動アップデートしようかな?そのためには少し弄らないといけないらいいので後ですることにして、こちらに参考ページをメモ。
CentOS7 での yum –security update 事情 « LANCARD.LAB|ランカードコムのスタッフブログ
////////////
カーネルバージョン確認コマンド
CentOSバージョン確認コマンド
ここまでで初期設定は完了。
一度バックアップイメージを作ります。
VPSをシャットダウンします。
sudo poweroff
イメージ保存で保存します。
このように保存されるといつでもこの初期設定後の状態に戻せます。
次は、「不要なサービスはセキュリティー強化の為に停止しましょう。」というお話です。