serversman の初期設定
元ネタの多くは http://centossrv.com/ のものだけど、元ネタのままだといろいろと情報がいっぱいなので、自分的にここまでやっとけばとりあえずいいかな的なメモ。
MyDTIからCentOSを初期化してからの設定手順を書いてみた。
ファイアウォールの設定
メール系サービス(SMTP/POP/IMAP)を動かすなら、そこんとこのコメントをはずしてね。
# vi iptables.sh
#!/bin/bash PATH=/usr/bin:/bin:/sbin LAN=venet0 # ※↑自宅鯖系ページからコピーすると eth0 になってるのでエラーになる /etc/rc.d/init.d/iptables stop iptables -P INPUT DROP # 受信はすべて破棄 iptables -P OUTPUT ACCEPT # 送信はすべて許可 iptables -P FORWARD DROP # 通過はすべて破棄 # 自ホストからのアクセスをすべて許可 iptables -A INPUT -i lo -j ACCEPT # 内部から行ったアクセスに対する外部からの返答アクセスを許可 iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # ブロードキャストを破棄 iptables -A INPUT -d 255.255.255.255 -j DROP iptables -A INPUT -d 224.0.0.1 -j DROP # SSH iptables -A INPUT -p tcp --dport 22 -j ACCEPT # HTTP iptables -A INPUT -p tcp --dport 80 -j ACCEPT # HTTPS iptables -A INPUT -p tcp --dport 443 -j ACCEPT # FTP iptables -A INPUT -p tcp --dport 21 -j ACCEPT # FTP-DATA iptables -A INPUT -p tcp --dport 60000:60030 -j ACCEPT # ↑dportで指定したポート番号は ftpd の設定に合わせてね # SMTP #iptables -A INPUT -p tcp --dport 25 -j ACCEPT # SMTPS #iptables -A INPUT -p tcp --dport 465 -j ACCEPT # POP3 #iptables -A INPUT -p tcp --dport 110 -j ACCEPT # POP3S #iptables -A INPUT -p tcp --dport 995 -j ACCEPT # IMAP #iptables -A INPUT -p tcp --dport 143 -j ACCEPT # IMAPS #iptables -A INPUT -p tcp --dport 993 -j ACCEPT # 設定を保存 /etc/rc.d/init.d/iptables save # ファイアウォール起動 /etc/rc.d/init.d/iptables start
yum-prioritiesプラグインのインストール
# yum -y intall yum-priority
赤文字部分を追加。
# vi /etc/yum.repos.d/CentOS-Base.repo [base] name=CentOS-$releasever - Base mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os #baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5 priority=1 #released updates [updates] name=CentOS-$releasever - Updates mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates #baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5 priority=1 #packages used/produced in the build but not released [addons] name=CentOS-$releasever - Addons mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=addons #baseurl=http://mirror.centos.org/centos/$releasever/addons/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5 priority=1 #additional packages that may be useful [extras] name=CentOS-$releasever - Extras mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras #baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5 priority=1
RPMforgeリポジトリのインストール
# wget http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt # rpm --import RPM-GPG-KEY.dag.txt # wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.1-1.el5.rf.i386.rpm # rpm -ivh rpmforge-release-0.5.1-1.el5.rf.i386.rpm
ClamAntiVirusのインストールと起動
# yum -y install clamd
設定を変更。
# vi /etc/clamd.conf User clamav ↓ #User clamav ←コメントアウト
clamdを起動する。
# /etc/rc.d/init.d/clamd start ←起動 Starting Clam AntiVirus Daemon: [ OK ]
自動起動設定する。
# chkconfig clamd on ←自動起動設定 # freshclam -d -c 24 ←デーモンで1時間ごとにウィルス定義を更新
ユーザーの追加と削除
デフォルトで admin が存在してるけど、別のユーザーを追加したら、この人には消えてもらう。
# useradd -G wheel username # passwd username New UNIX password: ほげほげ Retype new UNIX password: ほげほげ
ssh でログインして su できることも確認したら、admin を消す。
# userdel -r admin
sshdの設定
最後に追加すれば、それまでに書かれてる設定を上書きするみたいなので、途中を編集せずに最後に追加する。
# vi /etc/ssh/sshd_config PermitRootLogin no PermitEmptyPasswords no PasswordAuthentication yes AllowUsers username
su の設定変更
# vi /etc/pam.d/su
#auth required pam_wheel.so use_uid
↓
auth required pam_wheel.so use_uid ←コメントをはずす
ここから追記
pam_abl ってのをインストールした方がいいみたい。
# yum -y install pam_abl
ここまで追記
みんな、鍵方式のログインにしてパスワードによるログインを禁止してるけど、いつもとは違う端末からログインしたくなったときにどうするつもりなんだろうとか思ったり思ったり。(鍵なんだから持ち歩け?)
鍵でログインする人だったらログインしてくるアカウントはだいたい信用できるので、
#auth sufficient pam_wheel.so trust use_uid ↓ auth sufficient pam_wheel.so trust use_uid
として、su するときのパスワード入力をなくすのもいいかも。
あと、ssh でログインしたつもりがホスト側から全然反応がなくて、「設定ミスったかもー><」とOS初期化して最初からやり直したりした。が、実はホスト側の反応が遅いだけだったらしい。
やり直したあとにも同じような現象が出て、またやっちまったかと思いつつ、たまたま3分くらい用事があって放置して、戻ったらログインできてたなんてことがあった。
反省してとりあえずログインできてるシェルは可能な限りログアウトしないようにして、別のインスタンスからログインテストするようにした。ログアウトしてなきゃ、設定をミスってても修正できるから。少しは学習能力があるんだぞ。