TONY0922のブログ

学んだことを適当に記録していくブログです。主にRubyで仕事してます。最近はJavaScriptとObjectibe-C始めました。Titanium関連もちょいちょい触ってます。更新頻度はそんなに高くないので、ご了承下さい。

VPSを契約時に必ずやっておきたいセキュリティ設定

■作業用&鍵認証用ログインユーザ&パスワード作成

(1) rootユーザでサーバーログイン

 

(2)作業用ユーザの作成

# useradd user

# passwd user

 

ユーザ:user

passwd:user

※ パスワードは適当に置き換えること。

 

■認証用鍵の作成と設定

 

(1)認証用のユーザディレクトリに「.ssh」ディレクトリを作成

# cd /home/user

# mkdir .ssh

 

(2)作業用ユーザのみの実行できるように権限を管理

# chmod 700 .ssh

 

(3)sshフォルダ直下にauthorized_keysを作成し、

# vi /home/user/.ssh/authorized_keys

 

PuTTYより秘密鍵から生成した文字列をauthorized_keysに書き込む。

 

他のユーザが読み取れないようにパーミッションを設定する。

# chmod 600 /home/user/.ssh/authorized_keys

 

以上で鍵認証によるログインの設定は完了。

念のために鍵認証でログインできるかを確認する。

 

(参考URL)

http://www.studio-kingdom.com/centos/486

http://blog.xliner.net/linux/580/

http://www.atmarkit.co.jp/flinux/rensai/linuxtips/432makesshkey.html

 

■パスワードのログインを禁止する。

※必ず鍵認証のログインが成功することを確認すべし。

ミスると、鍵認証もパスワードでもログインできなくなる可能性があり。

(1)root権限でログイン

$ su -

 

(2)sshd_configで下記の設定を行う。

# vi /etc/ssh/sshd_config

 

rootによるsshでのログイン禁止

PermitRootLogin no

 

パスワードの禁止

PasswordAuthentication no

 

空パスワードによるログイン禁止

PermitEmptyPasswords no

 

以上の設定が完了したら、再起動。

# /etc/init.d/sshd restart

 

これでパスワード認証のログインを禁止し、

鍵認証のみのログインに変更されました。

 

※秘密鍵のバックアップを取らずに、HDD故障するとアウトなので、

 必ずバックアップを取っておくこと。

 

■作業用グループのみsudoできるようにする。

(1)「wheel」というグループを作成する。

# grpupadd wheel

 

(2)鍵認証用ログインユーザを作成したグループに所属させる。

# usermod -g wheel user

(su -を利用して、パスを通しておくこと。)

 

(3)visudoでwheelグループがsudoを使用できる権限を付与。

# visudo

%wheel ALL=(ALL) ALLを最下行に追加。

 

(4)rootで通っていたパスを作業用ユーザにも通しておく。

$ cd $HOME

$ vi .bash_profile

 

// 以下を追加

PATH=$PATH:/sbin

PATH=$PATH:/usr/sbin

PATH=$PATH:/usr/local/sbin

 

$ source .bash_profile

 

(5)再ログインを行い、root権限でしか

実行できないコマンドをsudoで試してみる。

 

$ sudo cat /etc/ssh/sshd_config

 

上記が実行できれば、OK