Linux
CentOS
初期設定

CentOS6.6の初期設定まとめ

More than 3 years have passed since last update.


CentOS6.6の初期設定まとめ

今までフロント畑で仕事してきがそろそろサーバサイドの知識が無いと本気でヤバいと思ったのでとりあえずVPS借りて色々作ってみることにしました。

ユーザの設定とかセキュリティ面での初期設定したのでその時のメモ。

(サーバにはroot権限でssh接続でログイン出来る状態と仮定します)

サーバ環境

OS
Version

CentOS
6.6


rootユーザのパスワードを変更


sshでサーバにログイン


local

$ ssh root@xxx.xxx.xxx.xxx -p 22

root@xxx.xxx.xxx.xxx's password:[ルートのパスワードを入力]


パスワードを変更する

(入力しても何も表示されませんが実際には入力されています)

$ passwd

New password:[新しいルートのパスワードを入力]
Retype new password:[パスワードを再入力]

passwd: all authentication tokens updated successfully.と表示されたらパスワードの変更は成功


一般ユーザの追加

root権限を持ったユーザでログイン後以下の設定を進める


ユーザの追加

$ useradd [追加するユーザ名を入力]


追加したユーザにパスワードを設定

$ passwd [追加したユーザ名を入力]

Changing password for user [USERNAME]
New password:[設定するパスワードを入力]
Retype new password:[パスワードを再入力]

passwd: all authentication tokens updated successfully.と表示されたらパスワードの変更は成功


sudoの設定

※root権限を持ったユーザでログイン後以下手順で設定


sudoを利用したいユーザを追加する

$ usermod -G wheel [sudoを利用するユーザを入力]


wheelグループに所属するユーザがsudoを利用できるように設定を変更

$ visudo

以下の行のコメントアウトをはずす


visudo

# %wheel ALL=(ALL) ALL


%wheel ALL=(ALL) ALL

以上で設定は完了


設定したユーザでsudoが使えるか確認する

$ sudo shutdown -h now

[sudo] passwrod for:[ログインしているユーザのパスワードを入力]

パスワードが正しいとコマンド通りシャットダウンする


SSH接続の設定

少しでもセキュリティの質を上げるためにSSHの設定を変更する

rootでログイン後以下の設定を進める


/etc/ssh/sshd_configを書き換える

$ vi /etc/ssh/sshd_config


/etc/ssh/sshd_config

# Port 22


Port [任意の数字に変更] ←ポート番号を変更する

#PermitRootLogin yes

PermitRootLogin no ←rootでのログインを無効にする



設定の読み込み

$ /etc/rc.d/init.d/sshd reload

次回以降は変更したポート番号を指定してログインする


local

$ USERNAME@xxx.xxx.xxx.xxx -p [設定したポート番号]



ファイヤーウォールの設定

root権限を持ったユーザでログイン


サーバに対する攻撃の対策

$ iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP

(データを持たないパケットの接続を破棄)
$ iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
(SYNflood攻撃と思われる接続を破棄)
$ iptables -A INPUT -p tcp --tcp-flags ALL ALL -j DROP
(ステルススキャンと思われる接続を破棄)


許可する通信の設定

localhostからの通信とpingを許可に設定

$ iptables -A INPUT -i lo -j ACCEPT

$ iptables -A INPUT -p icmp -j ACCEPT


許可するポート番号を設定

$ iptables -A INPUT -p tcp -m tcp --dport [許可するポート番号] -j ACCEPT

主なポート番号

プロトコル
ポート番号

HTTP
80

HTTP(SSL)
443

SMTP
25

SMTP(SSL)
465

POP3
110

POP3(SSL)
995

IMAP
143

IMAP(SSL)
993

SSH
変更したポート番号

※各プロトコルのポート番号を変更していない場合


確立している接続を許可

$ iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT


許可した通信以外のサーバに受信するパケットを拒否し、サーバから送信するパケットを許可に設定

$ iptables -P INPUT DROP

$ iptables -P OUTPUT ACCEPT


iptablesの設定を設定ファイルに保存

$ service iptables save

以下で設定の確認をする

$ iptables -L

以上で設定は終了

サーバサイド初心者なのでツッコミ頂けるとありがたいです。

参考: さくらのVPS サーバの初期設定ガイド