my coredump

自分用の公開メモです。主にプログラムのこととか書くはず。

CentOS6入れて最初にやること

当然用途によって違いますが。

大抵のケースで共通の部分だけ書いておきます。
結構少ない方だと思うし普通ですが毎回ググりながらも効率悪いのでメモ書き。

iptablesの設定

外から来るものは一旦全部拒否して必要なものだけ許可するホワイトリスト方式。
もっと良い書き方はあるのかもしれない。

一応現状の確認

# iptables -L

一応バックアップ

# cp -pi /etc/sysconfig/iptables /etc/sysconfig/iptables.original

ホワイトリスト形式の設定にする

# cat <<EOF > /etc/sysconfig/iptables
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT

# SSH (SSHのポートは必要に応じて変更するケースが多い)
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

# HTTP/HTTPS
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT

COMMIT
EOF

再起動

# service iptables condrestart

一般ユーザー追加

# useradd akiyoshi
# passwd akiyoshi
# usermod -G wheel akiyoshi
# visudo

wheelグループでsudoを許可するため以下の行のコメントアウトを解除する。
%wheel  ALL=(ALL)       ALL

sshd

よく変更するのはポートとrootログイン禁止とパスワードログイン禁止くらい。
rootログイン禁止は必ずやってる。

# ポート(必要に応じて変更。変更する場合はiptableも変更すること。)
Port 22
# rootログインを許可するか
PermitRootLogin no
# パスワード認証を許可するか(鍵認証のみにするかどうか)
PasswordAuthentication yes

再起動。

# service sshd condrestart

この時点でもうひとつターミナル開いて、ちゃんと接続できるか確認した方が良い。
設定に失敗したまま今繋いでるターミナルを閉じてしまうと詰む。

システムのアップデート

とりあえず最新にしてOS再起動。

# yum update
# reboot

システムの自動更新はするべきか?

やった方が良いとは思うけど微妙なところ。

# yum install yum-cron
# vim /etc/sysconfig/yum-cron
# chkconfig yum-cron on
# /etc/init.d/yum-cron start

CHECK_ONLY=yesにだけ変更してチェックだけ行ってメールしたりするのが落としどころかも。

その他よく入れるもの

仕事の開発サーバーとかだとこんな感じ。
開発言語は案件による。

# yum install vim-enhanced tree git expect bind-utils httpd-devel openssl-devel
# yum groupinstall "Development tools"

あとはお好きに。

参考

今回書いたこととは結構違ったりするけど詳しいので自身ないとき見たりする。ありがたや。
CentOS 6.4 インストール~設定手順の目次

yum updateの自動化についてはこちらを参考にした。
yum を使って システムアップデートを行う (自動化も)