このエントリーをはてなブックマークに追加
スポンサーリンク

CentOS6.3のインストール(1)

1 2 3

DVDからインストール

まず、公式サイトに行き、CentOS-6.3-x86_64-bin-DVD1.isoとCentOS-6.3-x86_64-bin-DVD2.isoをダウンロードします。HTTPで1KBしかダウンロードできない時はFTPを選び右クリック→「フォルダにコピー」を選択します。

CentOS5.6のインストールのところに「CentOS6はまだマイナーバージョンが低いので使用を見合わせます」と書きましたが、もう.3までマイナーバージョンが進んだので、そろそろ大丈夫でしょう。(あの記事を書いた時は、ま6.0しかありませんでしたので。)

ダウンロードが終了したら、Nero8等を使ってDVD-Rに焼きます。終わったら、Disc1をセットしてサーバーにセットします。(以下、まっさらなハードディスクの入ったサーバーにインストールするものとします。)

起動時のメニューは、そのままEnterキーで良いでしょう。古いビデオカードが入っている場合、Instrall Fedora in basic graphics modeにしないと強制テキストモードにされてしまうかもしれません(未確認ですが)

CentOS5までは、私はデーターセンターで作業する事を想定して、CentOSはテキストモードでインストールを行っていました。データーセンターのサーバーラックの前でマウスを動かせる作業スペースを確保できない場合や、グラフィックスモードを表示できないディスプレイしか借りられない場合を考慮する必要があったためです。しかし、CentOS6では、テキストモードにするとハードディスクのパーティションの切り方を指定できないだけでなく、インストールするパッケージも選択できないので(注:方法があったのかもしれませんが、私は発見できませんでした)、仕方なくグラフィックスモードでインストールする事にします。

■DVDのテスト
なぜかここだけテキストモードになるので、「しまった、テキストモードになってしまった」と焦るかもしれませんが、ここを過ぎればGUIになるのでご安心を。ここで、間違ってOKをクリックしてしまうとひたすら長時間(数十分?)待たされてしまうので、うっかりOKをクリックしてしまったらリセットしてやり直します。(その方が早いです。)ここではSkipをクリックしましょう。

■パーティションの設定
sda
/boot ext4 100MB 基本パーティションにする
ソフトRAID 2048MB
ソフトRAID 950000MB

sdb
/boot2 ext4 100MB 基本パーティションにする
ソフトRAID 2048MB
ソフトRAID 950000MB

md0 ext4 / 950000MB
md1 SWAP 2048MB

基本パーティションというのはよくわかりませんが、多分、今までの「第一パーティションとして強制指定する」と同じ意味でしょう。/bootパーティションをソフトRAIDにすると、どういうわけか1/3の確率でブートローダーの書き込みに失敗してしまうので、/bootパーティションだけはソフトRAIDにしていません。後でsdbのディスクには手動でブートローダーをインストールする必要があります。でないと、運悪くsdaが故障した時にブートできなくなってしまいますので。

/パーティションは、今までは「残り全ての容量」で良かったのですが、どういうわけかCentOS6からは固定容量にしないとRAID1にできないみたいなので、仕方なく手動で固定値を指定しています。

「スワップをRAIDにする必要はないんじゃないのか?」「スワップはむしろRAID0にした方がいいのでは?」という方がいるかもしれませんが、スワップがRAID1になっていれば、運悪くスワップの領域に不良セクタが発生しても、サーバーをダウンさせずに運用を続ける事ができるので、安全のためにスワップもソフトRAIDにしています。

■パッケージの選択
パッケージの選択のところで「今すぐカスタマイズする」(英語インストールでは「Customize Now」)をクリックせずに[→次へ]を押してしまうと、もうインストールが始まってしまい、リセットするしかなくなってしまいます。

今回サーバーとして運用するので、GUI関係は全てチェックを外します。また、これはかなり個人的な好みが強いですが、apache、PHP、PostgreSQL、Sambaは.tar.gzからコンパイルする主義なのでチェックを外します。世の中のサーバーにはCDやDVDに最初から入っているバージョンをそのままずっと使い続ける人が圧倒的に多い(多分)ので、あえてCDやDVDに最初から入っているバージョンを使うのを避けています。また、.rpmができているバージョンもなるべく避けます。また、最新版の.tar.gzが出たらすぐに差し替えます。そのため、apache、PHP、PostgreSQL、SambaはCDやDVDに入っているバージョンは使いません。「そこまで言うなら他のも全部.tar.gzから入れろ」と言われそうですが、さすがに私のサーバーのインストールにかけられる時間にも限りがありますので・・・・・。

これまで、私がRedHat9からやっていた手法がなるべく使えるようにするために、レガシーUNIXの互換性にチェックを入れます。


ここで、tcp-wrappers、telnet-server、xinetdにチェックを入れます。


開発関係のパッケージは、なるべくチェックを入れておきます。

なにしろ、apacheやPHPをコンパイルする際に、なんとかlibやなんとか.soが足りないとか言われると面倒な事になりますので・・・。

あとは30分ほど放置します。「おめでとうございます。CentOSのインストールが完了しました」と表示されたら、DVDをイジェクトして「再起動」をクリックしてください。

もしここで、Missing Operation systemと表示されたら、ブートローダーの書き込み失敗です。他にも、インストール中にフリーズしてしまうなど、色々な不具合が発生する場合がありますが、大抵の場合、もう1回やり直すと直ります。これは、RedHatにしろCentOSにしろFedoraにしろSlackwareにしろ、あんまり珍しい事ではありません。そういうものだと思ってください。

もう1個のハードディスクにブートローダーをインストールする

ソフトRAIDで1番目のハードディスクが破損した場合に備えて、パラレルATAの場合はスレーブ、シリアルATAの場合はSATA2以降にブートローダーをインストールしておきます。
grub
grub> device (hd0) /dev/sdb
grub> root (hd0,0)
grub> install /grub/stage1 (hd0) /grub/stage2 p /grub/grub.conf
grub> quit

なお、これは例です。お使いの環境に合わせて読み替えてください。例えば、パラレルATAなら、/dev/hdbや/dev/hdcになります。また、/bootパーティションが2番目にある時は、(hd0,0)は(hd0,1)になると思います。

ここを参考にしました。
https://www.miraclelinux.com/technet/faq/data/00080.html

インストールコマンドの意味は、
install <stage-1> <install-disk> <stage-2> p config-file

ここを参考にしました。
http://docs.redhat.com/docs/ja-JP/Red_Hat_Enterprise_Linux/5/html/Installation_Guide/s1-grub-commands.html

外部から接続できるようにする

基本的に、サーバーはデーターセンターのラックに収めたら、あとは自社に戻ってWindows端末からtelnetの窓にコピペして設定するわけですが、自社から遠隔操作できるようになるまでは、実機で直接操作しなければなりません。

iptablesをオフにする

/etc/rc.d/init.d/iptables start
iptables -F
/etc/rc.d/init.d/iptables save

え?iptablesをオフにしちゃってていいのかって??いや、これはサーバーをラックに収めてから、自社で遠隔操作するまでの一時的な措置です。終わったらソッコーで自社に戻ってiptablesを設定しましょうね。大丈夫、iptablesなしでもtcp_wrapperさえ効いていればそう1時間、2時間で壊されるってわけじゃないですからな。(逆に1日2日放置すると危ないです)

SELinuxをオフにする
vi /etc/sysconfig/selinux
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
#     targeted - Targeted processes are protected,
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted
reboot
SELinuxの設定がイマイチわかりませんで、私はオフにしています。ファイアウォールはiptablesに任せましょう。

telnet-serverを有効にする
vi /etc/xinetd.d/telnet
# default: on
# description: The telnet server serves telnet sessions; it uses \
#       unencrypted username/password pairs for authentication.
service telnet
{
        flags           = REUSE
        socket_type     = stream
        wait            = no
        user            = root
        server          = /usr/sbin/in.telnetd
        log_on_failure  += USERID
        disable         = no
}
CUIの画面モードを640x480にする
/boot/grub/grub.confにvga=0x301を追加すればよいという情報があちこちにあるが、まったく変わらず。とりあえず今はあきらめ。

いや、安物のデーターセンターだと、640x480しか対応してないディスプレイしか置いてないトコがあるんですよ。(○o○○○○とか) まあ、まさか今は改善されているとは思いますけどね。一応、念のため640x480にしておくと安心なんですけどね。

ネットワークカード(NIC)を有効にする
インストール時に設定できるみたいなのですが、どこにあったのかわかりませんで、多分私が見落としたんだと思いますが・・・・。とりあえず、ここではインストール後に手動で設定するって事で。
vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
BOOTPROTO="static"
HWADDR=ナイショ
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Ethernet"
UUID=ナイショ
IPADDR=192.168.0.40
NETWORK=192.168.0.0
BROADCAST=192.168.0.255
NETMASK=255.255.255.0
DNS1=(ネームサーバー1)
DNS2=(ネームサーバー2)
※IPアドレス等は例です。お使いのネットワークに合わせてくださいね。
/etc/rc.d/init.d/network restart

デフォルトのゲートウェイの追加
vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=ホスト名
GATEWAY=デフォルトのゲートウェイ
telnetでログインするユーザーの追加
useradd ユーザー名
passwd ユーザー名

tcp_wrapperの設定
サーバーを自社から遠隔操作するまでは、iptablesを一時的にオフにしてしまうので、それまでの間はtcp_wrapperに食い止めておいてもらいましょう。
vi /etc/hosts.allow
#
# hosts.allow   This file describes the names of the hosts which are
#               allowed to use the local INET services, as decided
#               by the '/usr/sbin/tcpd' server.
#
vsftpd : (自社のIP) : allow
sshd : (自社のIP) : allow
in.telnetd : (自社のIP) : allow
all : all :  deny
自社のIPは間違えないようにしてください。じゃないと、自社に戻ってから操作できなくて「しまった」って事になります。なにしろ、サーバー室への入室は手続きが面倒ですからな。それに、できる事ならあんな所には入りたくないです。

なので、帰る前にサーバー室から電話して、社内の人間に接続を試してもらってくださいね。

wgetのインストール

CentOS4だと「テキストベースインターネット」というパッケージを選択すると自動的にwgetがインストールされたのですが、6.3のインストーラーでは見当たらなかったので(見落としただけかもしれませんが)、wgetを入れます。まず、wgetをネットから取得します。どうやって??いや、ですから、だからwgetで・・・。

というトホホな状態になってしまうので、wgetは実機を操作してDVDからインストールします。

cd /usr/local/src
mkdir RPMS
cd RPMS
ここでDVDをセットする
mount -rt iso9660 /dev/dvd /media
cp /media/Packages/wget-1.12-1.4.el6.x86_64.rpm .
rpm -ivh wget-1.12-1.4.el6.x86_64.rpm
umount /media
DVDを取り出す

あとは、必要なパッケージはrpmfindから取れるので、DVDは不要になると思います。

molocateのインストール

ここからはtelnetでWindows端末から遠隔で作業しているものとします。

以下は全てルート権限で操作しているものとします。そういう事をするのは良くないと思う方は、ご面倒でもrpm -ivhコマンドのようなどうしてもルートでなければならない時だけsudoコマンドを使うかsu - でルートになるようにしてください。

cd /usr/local/src/RPMS
wget ftp://rpmfind.net/linux/centos/6.3/os/x86_64/Packages/mlocate-0.22.2-3.el6.x86_64.rpm
rpm -ivh mlocate-0.22.2-3.el6.x86_64.rpm
updatedb

updatedbを毎日朝4時に動かす
crontab -e
mailto=""
0 4 * * * updatedb

デフォルトの言語をEUC-JPに変更

今の時代、端末の文字コードはUTF-8と相場が決まっているのかもしれませんが、私個人としてはeucの方が都合が良いので、eucにします。そういうこだわりのない人は、この設定は必要ありません。

vi /etc/sysconfig/i18n
LANG="ja_JP.eucJP"
SUPPORTED="ja_JP.UTF-8:ja_JP:ja"
SYSFONT="latarcyrheb-sun16"
vi /etc/man.config
PAGER /bin/more
man ls
で、ページャーが正しく動作する事を確認します。

終わったら、いったんtelnetを抜けて、Poderosa等のターミナルソフトの文字コードをEUCに変更してログインしなおしてください。

ホスト名の設定

ホスト名の設定
hostname ホスト名

自ホスト名を逆引きさせます。
vi /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost
192.168.0.40  ホスト名
ping ホスト名
自分にpingを打つか確認してください。

自ホスト名を逆引きさせていないと、/etc/rc.d/init.d/sendmail startとやってもsendmailが起動しません。

vsftpdをxinetd経由に変更する

スタンドアロンのvsftpdを止める。
/etc/rc.d/init.d/vsftpd stop
chkconfig vsftpd off

vi /etc/xinetd.d/ftp
# default: on
# description: The ftp server serves ftp sessions; it uses \
# unencrypted username/password pairs for authentication.
service ftp
{
	instances = 200
	flags = REUSE
	socket_type = stream
	wait = no
	user = root
	server = /usr/sbin/vsftpd
	server_args = /etc/vsftpd/vsftpd.conf
	log_on_failure += USERID
	disable = no
}
vi /etc/vsftpd/vsftpd.conf
変更のある箇所だけ
anonymous_enable=NO
chroot_local_user=YES
listen=NO
/etc/rc.d/init.d/xinetd restart

動作確認
cd /usr/local/src/RPMS
wget ftp://rpmfind.net/linux/centos/6.3/os/x86_64/Packages/ftp-0.17-51.1.el6.x86_64.rpm
rpm -ivh ftp-0.17-51.1.el6.x86_64.rpm
ftp localhost
ユーザー名とパスワードを入れる。

Fedora17にあった「listen_ipv6=NOを追加しないとxinetd経由で起動しない」「500 OOPS: vsftpd: refusing to run with writable root inside chroot()というエラーが出る」という問題は、CentOS6.3に入ってるvsftpdには発生しないようです。ただし、今後CentOSのバージョンが進むと、同様の問題が発生するかもしれません。

シスログローテーションの設定

vi /etc/logrotate.conf
# see "man logrotate" for details
# rotate log files weekly
weekly

# keep 4 weeks worth of backlogs
rotate 30

# create new (empty) log files after rotating old ones
create

# uncomment this if you want your log files compressed
compress

# RPM packages drop log rotation information into this directory
include /etc/logrotate.d

# no packages own wtmp -- we'll rotate them here
/var/log/wtmp {
    monthly
    create 0664 root utmp
    rotate 1
}
シスログローテーションの動作確認
/etc/logrotate.confや、/etc/logrotate.d/内のファイルをいじった時は、必ず
logrotate -d /etc/logrotate.conf
として、エラーがない事を確認します。でないと、エラーがあるのを放置すると、ローテーションがまったく行われず、apacheのログが2Gオーバーしてapacheが止まってしまう可能性があります。

sendmailのチューニング

RedHat9やCentOS4の頃は、標準で入っているパッケージがi686ではなくi386で最適化されていたため、sendmailを再コンパイルしてi686用に最適化していました。今は最初から、32ビット版ではi686、64ビット版ではx86_64用に最適化したパッケージが入っているので、必要はないでしょう。しかし、一応私は以前からの名残りで最適化を行っています。特に意味はありません。

依存性の解決
cd /usr/local/src/RPMS
wget ftp://rpmfind.net/linux/centos/6.3/os/x86_64/Packages/tcp_wrappers-devel-7.6-57.el6.x86_64.rpm
wget ftp://rpmfind.net/linux/centos/6.3/os/x86_64/Packages/hesiod-3.1.0-19.el6.x86_64.rpm
wget ftp://rpmfind.net/linux/centos/6.3/os/x86_64/Packages/hesiod-devel-3.1.0-19.el6.x86_64.rpm
wget ftp://rpmfind.net/linux/centos/6.3/os/x86_64/Packages/ghostscript-8.70-14.el6.x86_64.rpm
wget ftp://rpmfind.net/linux/centos/6.3/os/x86_64/Packages/ghostscript-fonts-5.50-23.1.el6.noarch.rpm
wget ftp://rpmfind.net/linux/centos/6.3/os/x86_64/Packages/urw-fonts-2.4-10.el6.noarch.rpm
wget ftp://rpmfind.net/linux/centos/6.3/os/x86_64/Packages/xorg-x11-font-utils-7.2-11.el6.x86_64.rpm
wget ftp://rpmfind.net/linux/centos/6.3/os/x86_64/Packages/libXfont-1.4.1-2.el6_1.x86_64.rpm
wget ftp://rpmfind.net/linux/centos/6.3/os/x86_64/Packages/libfontenc-1.0.5-2.el6.x86_64.rpm
wget ftp://rpmfind.net/linux/centos/6.3/os/x86_64/Packages/procmail-3.22-25.1.el6.x86_64.rpm
rpm -ivh tcp_wrappers-devel-7.6-57.el6.x86_64.rpm
rpm -ivh hesiod-3.1.0-19.el6.x86_64.rpm hesiod-devel-3.1.0-19.el6.x86_64.rpm
rpm -ivh ghostscript-8.70-14.el6.x86_64.rpm ghostscript-fonts-5.50-23.1.el6.noarch.rpm urw-fonts-2.4-10.el6.noarch.rpm xorg-x11-font-utils-7.2-11.el6.x86_64.rpm libXfont-1.4.1-2.el6_1.x86_64.rpm libfontenc-1.0.5-2.el6.x86_64.rpm

リビルド
cd /usr/local/src/
mkdir SRPMS
cd SPRMS
wget ftp://ftp.pbone.net/mirror/vault.centos.org/6.2/os/Source/SPackages/sendmail-8.14.4-8.el6.src.rpm
rpmbuild --rebuild --target=x86_64 --define 'dist .el6' sendmail-8.14.4-8.el6.src.rpm

インストール
cd /usr/local/src/RPMS
rpm -ivh /root/rpmbuild/RPMS/x86_64/sendmail-8.14.4-8.el6.x86_64.rpm procmail-3.22-25.1.el6.x86_64.rpm
rpm -ivh /root/rpmbuild/RPMS/noarch/sendmail-cf-8.14.4-8.el6.noarch.rpm

スタート
/etc/rc.d/init.d/sendmail start
ここで動かない場合は/etc/hostsを確認して自ホスト名が逆引きされているか確認する。

確認ができたら、
chkconfig sendmail on
として自動起動にする。自ホスト名が逆引きされてないのに自動起動にしてしまうと、サーバー自体が起動しなくなってしまうので注意。

動作テスト
cd /usr/local/src/RPMS
wget ftp://rpmfind.net/linux/centos/6.3/os/x86_64/Packages/mailx-12.4-6.el6.x86_64.rpm
rpm -ivh mailx-12.4-6.el6.x86_64.rpm
mail root
Subject: test
test
.
でルート宛にメールが届くか確認する。

デリバリーモードの変更
デフォルトではデリバリーモードはi(即配信)になっています。メルマガ等、スクリプトでメールを一度に大量に送信する場合、即配信ではなくキューイングしてから配信するようにデリバリーモードをqに変更します。
cd /etc/mail
vi sendmail.mc
define(`confDELIVERY_MODE', `q')dnl
m4 sendmail.mc > sendmail.cf

vi /etc/sysconfig/sendmail
DAEMON=yes
QUEUE=16s
この設定は、/etc/rc.d/init.d/sendmailスクリプト内で使うものです。なので、systemctl を使うFedora17ではSENDMAIL_OPTS="-q16s"という設定になります。もし、将来的にCentOSがsystemctl を採用するようになった場合は、やはりFedora17と同じように設定する必要があります。

cd /var/spool/clientmqueue/
mail root
Subject: test
test
.
ls
ここで、16秒後に再びlsとしてキューがなくなる事を確認します。

NTPのインストール

cd /usr/local/src/RPMS
wget ftp://rpmfind.net/linux/centos/6.3/os/x86_64/Packages/ntp-4.2.4p8-2.el6.centos.x86_64.rpm
wget ftp://rpmfind.net/linux/centos/6.3/os/x86_64/Packages/ntpdate-4.2.4p8-2.el6.centos.x86_64.rpm
rpm -ivh ntp-4.2.4p8-2.el6.centos.x86_64.rpm ntpdate-4.2.4p8-2.el6.centos.x86_64.rpm

cd /etc
mv ntp.conf ntp.conf_org
vi /etc/ntp.conf
restrict default ignore
restrict 127.0.0.1
restrict 210.173.160.27 mask 255.255.255.255 nomodify notrap noquery
restrict 210.173.160.57 mask 255.255.255.255 nomodify notrap noquery
restrict 210.173.160.87 mask 255.255.255.255 nomodify notrap noquery

server 210.173.160.27 # MFEED(ntp1.jst.mfeed.ad.jp)
server 210.173.160.57 # MFEED(ntp2.jst.mfeed.ad.jp)
server 210.173.160.87 # MFEED(ntp3.jst.mfeed.ad.jp)

driftfile /etc/ntp/drift
authenticate no
broadcastdelay  0.008
touch /etc/ntp/drift
touch /etc/ntp/drift.TEMP
chmod 666 /etc/ntp/drift
chmod 666 /etc/ntp/drift.TEMP
/etc/rc.d/init.d/ntpd start
chkconfig ntpd on

動作確認
ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
ntp1.jst.mfeed. 210.173.160.56 2 u 59 64 7 9.973 -324250 2.073
ntp2.jst.mfeed. 210.173.160.56 2 u 59 64 7 9.154 -324250 3.081
ntp3.jst.mfeed. 210.173.176.4 2 u 59 64 7 8.360 -324250 2.466
ここで、値が全て0でなければ動作しているはず。

Fedora17では「restrict localhost」という設定を追加しないとntpqコマンドを拒否されましたが、CentOS6.3ではrestrict 127.0.0.1さえあれば大丈夫みたいですね。

ここを参考にしました。
http://www.aconus.com/~oyaji/ntp/ntp.htm

QPOPPERのインストール

Fedora17と同様、CentOS6も$6$から始まるshadowパスワードを使っているため、QPOPPERのバージョンは4.1以上である必要があります。

cd /usr/local/src
mkdir targz
cd targz
wget http://core.ring.gr.jp/archives/net/mail/qpopper/qpopper4.1.0.tar.gz
tar xvzf qpopper4.1.0.tar.gz
cd qpopper4.1.0
./configure --enable-special-auth --enable-log-login --enable-shy --disable-ipv6
make
make install

vi /etc/xinetd.d/popper
# default: on
# description: The wu-ftpd FTP server serves FTP connections. It uses \
#       normal, unencrypted usernames and passwords for authentication.
service pop3
{
        disable = no
        socket_type             = stream
        wait                    = no
        user                    = root
        server                  = /usr/local/sbin/popper
        server_args             = -t /var/log/pop3.log
}
/etc/rc.d/init.d/xinetd restart

動作テスト
telnet localhost 110
user ユーザー名
pass パスワード
quit

sshdをxinetd経由にする

sshdをスタンドアロンでは実行させずにxinetd経由に変更します。 sshdは、同時に大量のコネクションをかけるとルート権限を乗っ取られるという不具合が発見された事があり、 それ以降慣習としてxinetd経由で実行させています。もちろん、xinetdにもしも脆弱性があれば、そのせいでかえってルート権限を乗っ取られるかもしれませんが。

/etc/rc.d/init.d/sshd stop
chkconfig sshd off

vi /etc/xinetd.d/ssh
# default: on
# description: The ssh server serves ssh sessions; it uses \
# unencrypted username/password pairs for authentication.
service ssh
{
	disable = no
	flags = REUSE
	socket_type = stream
	wait = no
	user = root
	server = /usr/sbin/sshd
	server_args = -i
	log_on_failure += USERID
}
チューニング
vi /etc/ssh/sshd_config
Protocol 2,1
PermitRootLogin no
PermitEmptyPasswords no
/etc/rc.d/init.d/xinetd restart

プロトコル1を追加する理由は単に私がいつもプロトコル1を使うからです。自分はプロトコル2しか使わないぞという方は、プロトコル1を追加する必要はありません。

ルートログインを禁止する理由は、パスワード総当りでログインを試みる輩がいたとして、「ユーザーID」と「パスワード」の組み合わせが当たらないとログインできない場合に比べて、ルートログインではユーザーIDがrootに固定されているため、パスワードをaaaaa〜zzzzzまで総当りで試された場合にパスワードを破られるリスクが高まるためです。

viを標準でカラーにする

Poderosaからtelnet/sshでアクセスした時に、viがカラーで出ると見やすいので、標準でカラーで出るようにします。TeraTermだとこの設定ではうまくいかないみたいなのでTeraTermを使う人はこの設定はしないでください。

vim-enhancedのインストール
cd /usr/local/src/RPMS
wget ftp://rpmfind.net/linux/centos/6.3/os/x86_64/Packages/vim-enhanced-7.2.411-1.8.el6.x86_64.rpm
wget ftp://rpmfind.net/linux/centos/6.3/os/x86_64/Packages/vim-common-7.2.411-1.8.el6.x86_64.rpm
wget ftp://rpmfind.net/linux/centos/6.3/os/x86_64/Packages/gpm-libs-1.20.6-12.el6.x86_64.rpm
rpm -ivh vim-enhanced-7.2.411-1.8.el6.x86_64.rpm vim-common-7.2.411-1.8.el6.x86_64.rpm gpm-libs-1.20.6-12.el6.x86_64.rpm

カラーのviを起動させるvi2というコマンドを新設
/usr/bin/vim -u /etc/vimrc /usr/local/bin/vi2
#!/bin/sh
/usr/bin/vim -u /etc/vimrc $1
chmod 755 /usr/local/bin/vi2

viと入力するとvi2が起動するように設定
vi /etc/profile.d/vi2.sh
alias vi=vi2
chmod 755 /etc/profile.d/vi2.sh
いったんログアウトして再ログイン
su -
パスワード
alias | grep vi2
alias vi='vi2'が登録されている事を確認。
vi /etc/aliases
でカラーになる事を確認。

コメントのオートインデントを解除
ここでは、メモ帳等のテキストエディタからPoderosaのウインドウへコピペするのを前提としています。その際に、オートインデントしてしまうのは都合が悪いので、解除します。
vi /etc/vimrc
(一番下の行に)
autocmd FileType * set comments=
ここを参考にしました。
http://d.hatena.ne.jp/dayflower/20081208/1228725403

bindのインストール

cd /usr/local/src/RPMS
wget ftp://rpmfind.net/linux/centos/6.3/os/x86_64/Packages/bind-9.8.2-0.10.rc1.el6.x86_64.rpm
wget ftp://rpmfind.net/linux/centos/6.3/os/x86_64/Packages/portreserve-0.0.4-9.el6.x86_64.rpm
rpm -ivh bind-9.8.2-0.10.rc1.el6.x86_64.rpm portreserve-0.0.4-9.el6.x86_64.rpm
/etc/rc.d/init.d/named start
chkconfig named on

ついでにnslookupコマンドもインストールします。
wget ftp://rpmfind.net/linux/centos/6.3/os/x86_64/Packages/bind-utils-9.8.2-0.10.rc1.el6.x86_64.rpm
rpm -ivh bind-utils-9.8.2-0.10.rc1.el6.x86_64.rpm

IPTABLESの設定

vi /etc/rc.d/rc.local
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.

touch /var/lock/subsys/local
/root/scripts/firewall-setting.sh
vi /root/scripts/firewall-setting.sh
     :
(ファイアウォールの設定いろいろ)
     :
/sbin/modprobe ip_conntrack_ftp
chmod 755 /root/scripts/firewall-setting.sh

サーバーを再起動させて、
lsmod | grep ftp
で動作確認してみる。

え?なんでファイアウォールの設定を書いてないのかって?そりゃ、ここに書いちゃうとこのサーバーのセキュリティーの脆弱性がバレるからですよ。

なお、この設定をミスると遠隔操作ができなくなるので、この作業はなるべくデーターセンターにいる時に、ラックのサーバーにキーボードとディスプレイをつないた状態でやりましょう。 じゃないと、ミスるとデーターセンターに行くハメになります。あそこはサーバー室に入るまでの手続きが面倒なので、できればあんな所何度も行きたくないですね。
1 2 3
スポンサーリンク