あいしんくいっと

ありきたりだけど、少しだけ役に立つことをありのままに書こうと思う。

EC2でCENTOS7の初期設定でやっておきたい7つの大罪

time 2015/04/21

ども。あいしんくいっと(@ithinkitnet)です。

EC2でCENTOS7のAMIを使って起動した場合、SSHで接続は出来るものの、ホスト名がIPベースでおかしかったり、トラブルの元でしか無いSELINUXが動いていたりとそのまま使うのは非常に厳しい状態です。

ですので、今回は初回起動時に最低限設定しておいた方が良い基本的な部分について書いておきたいと思います。

sponsored link

最低限やっておいた方が良い7つの設定

変なタイトルですみません。
大人気の漫画、「7つの大罪」の人気にあやかれるかなぁ、なんて思ったので。

それでは、本題です。

SELINUXの無効化

コイツには過去に幾度となく苦しめられて来ましたw
セキュリティを物凄く強固なものにしたいのであれば、注意して設定すると良いと思います。(ただし、設定難しいです)
これまでの経験上、無効化する事が多いです。

/etc/sysconfig/selinux編集
SELINUX=enforcing
↓
SELINUX=disabled

上記編集後にOS再起動

※ 設定ミスると「kernel panic」が発生したりするので気をつけて下さい!

firewalld(iptables)の無効化

CENTOS7からfirewalldに置き換わりました。
iptablesもレガシーな部分として残っていたりするのですが、今後はコチラを使う方が良いと思います。
ただ、今回は無効化しておきます。
こちらは経験上、設定したりしなかったりします。
ちなみにAWSでNATを構築する時はiptablesを使ってたりします。

※AWSのEC2上で確認したところ、firewalldは存在していない模様

# systemctl status firewalld
firewalld.service
Loaded: not-found (Reason: No such file or directory)
Active: inactive (dead)

# systemctl enable firewalld
Failed to issue method call: No such file or directory

うーむ。

ホスト名変更

これは必須ですね。
EC2はデフォルトだとIPベースの変なホスト名ですので、変更した方が良いでしょう。
環境に合わせてお好みで設定して下さい。
/etc/sysconfig/networkを変えたら終わりでしょ?
と思った方、甘いですよw

# echo ithinkit > /etc/hostname
# echo "preserve_hostname:true" >> /etc/cloud/cloud.cfg

上記編集後にOS再起動

EC2では「cloud-init」と呼ばれるキックスタートスクリプトが動いているので、/etc/sysconfig/networkを書き換えただけではホスト名は変更出来ません。
合わせて/etc/cloud/cloud.cfgにも設定を追加してやる必要があります。

不要サービス停止

不要なサービスはサーバーに負荷をかけるだけでなく、セキュリティホールの原因となったりしますので、出来る限り停止します。
特にpostfixは必要が無ければ停止した方が良いでしょう。

# systemctl disable postfix
rm '/etc/systemd/system/multi-user.target.wants/postfix.service'
# systemctl disable auditd
rm '/etc/systemd/system/multi-user.target.wants/auditd.service'
# systemctl disable rpcbind.service
rm '/etc/systemd/system/multi-user.target.wants/rpcbind.service'
rm '/etc/systemd/system/sockets.target.wants/rpcbind.socket'
# systemctl disable nfs-lock.service
rm '/etc/systemd/system/nfs.target.wants/nfs-lock.service'
# systemctl disable auditd.service

awscliの導入

必須です。重要です。テストに出ます。(冗談です)
というか、これが無いと駄目駄目です(笑)
AWSのAPIを叩けないとか、色々と損をしますし、今後の運用に困りますというか、運用出来無いと思います。

AWSコンソールは非常に優秀で使いやすいのですが、cliでしか出来ない事があったり、単純な反復作業はコレを使わないと時間の無駄使い&ケアレスミスの温床になりかねないのでたぶん怒られますw(言い過ぎか)

awscliのフィルタリングオプションである「–filter」や「–query」は取っ付きにくいものの、慣れると便利ですので是非マスターしておく事をオススメします。

あ、使うにはIAMでAPIキーの発行をお忘れなく。

参考 AWS CLI のインストールと設定

タイムロケールの設定

EC2はデフォルトだとUTCで何かと不便なので、理由が無い限りはJSTに変更した方が無難です。

# date
Mon Apr 20 14:40:12 UTC 2015
# cp -p /usr/share/zoneinfo/Japan /etc/localtime
cp: overwrite ‘/etc/localtime’? y
# date
Mon Apr 20 23:40:23 JST 2015

さらにアップデートといった処理でデフォルトのUTCに戻らないように/etc/sysconfig/clock にタイムゾーンを書いておきましょう。

ZONE=”Asia/Tokyo”
UTC=false
ARC=false

デフォルトユーザーの変更

ログインユーザーはデフォルトだと「centos」になります。
デフォルトのままだとセキュリティ的にアレなので(アレって何だw)、変更する事を強くオススメします。

過去のエントリでOS毎のログインユーザーを一覧にまとめてたりするので、興味のある方は是非。

と何だかんだと書いていると結構な記事ボリュームになりましたが、これだけはやっておきたい事について書いたつもりです。また思いついたら書きたいと思います。
では。

sponsored link

down

コメントする




*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

Author

あいしんくいっと

あいしんくいっと

あいしんくいっとの中の人。

ありきたりだけど、自分なりの視点で少しでも人の役に立つ記事をありのままに書くをモットーに。 たまには役立つことが書けると良いかな。

サイトポリシーはこちら

聞きたいことがあれば、気軽にツイートください♪可能な範囲でお答えします。
follow us in feedly

Twitter

オススメ記事

アーカイブ