CentOS 7 編は、こちらへ
以前の記事「評判のさくらインターネットのVPS ( さくらのVPS ) を使ってみた」の中で、紹介していた内容(さくらのVPSを使うときに最初にやっておきたいこと(CentOS編))を1つの記事にまとめました。
内容的にも、後で、ぽろぽろと追記したくなったので、一つの記事にしました。
※お試し期間中は、OP25B設定、データ転送帯域に制約がありますから注意してください。
- 目次
- 履歴
2010年12月2日 初版
さくらのVPSのCentOSで最初にやっておきたいこと
さくらのVPSの場合、とりあえず、申しこんで、さくらのVPSのコントロールパネルからサーバーを起動すれば、CentOSが立ち上がります。
さくらのVPSの場合、自宅サーバーと違って、既に外部に直接つながった状態ですから、まず、セキュリティ面の強化とサーバー設定をする必要があります。
ここでは、CentOSの初期状態から、各サーバー系をインストールする手前までにやることを記述してみます。
SSHのポートを変更する。
まずは、SSHのポートを変更して、簡単にアタックされないようにしておきます。指定するポート番号は、10000以降の適当なポート番号を割り当てましょう。
/etc/ssh/sshd_config を編集します。
|
ここでは、ポート番号、SSHプロトコル、rootでのログイン不可、ログイン可能なユーザ名を指定しています。
(後でhogeというユーザを追加しています。)
また、ログインするIPアドレスが決まっているなら、許可するIPアドレスも指定した方がより良いです。
(詳しくは、TeraTermで 公開鍵認証(鍵交換)を使ってSSH 接続してみる を参照してください。)
ファイアウォール(iptables)の設定を行う。
ここでは、単純にiptablesを使っていないポートを外部に非公開とするようにします。
シェルファイルを作成して、一気にやってしまいます。
|
|
ここでは、10022(SSH),80(HTTP)の2つのポートのみを公開し、それ以外をすべて非公開にしています。
また、プライベートIPアドレス(10.x.x.x,172.16.x.x,192.168.x.x)は、すべて拒否してます。
また、上記は、必要最小限のポートしか開いていません。pop3やmailなどの必要なポートは、19行目を真似て開くと良いでしょう。
|
ユーザを追加する。
ここでは、SSHで唯一ログインを許可するようにしたhogeユーザを追加してみましょう。
|
useraddで、hogeというユーザを追加しています。
passwordで、hogeのパスワードを設定しています。
usermodで、hogeをwheelのユーザグループに追加しています。
wheelは、管理者グループになります。
不要なサービス(デーモン)を停止する。
最後に、無駄に動作しているプロセスを停止するようにします。
これもシェルファイルを作成して、一気にやってしまいます。
- CentOS 5
登録および動作しているデーモンは以下のとおりです。
サービス 概要 現行 変更 NetworkManager 有線/無線(コネクション)に必要に応じて自動接続してくれるサービス OFF – acpid 電源管理 ON – anacron タスクスケジューラー(cronの補助的役割) OFF – atd at (コマンド)デーモン ON – auditd システム監査結果のログ保存 OFF – autofs ファイルシステムの自動マウント OFF – avahi-daemon LAN内でのネットワーク自動構成 OFF – avahi-dnsconfd DNSサーバなしにローカルネットワーク上のデバイスとサービスを検出する OFF – bluetooth 文字通りbluetooth OFF – conman リモートコンソール(conman)の管理 OFF – cpuspeed システムのアイドル比率に応じてCPUの動作周波数を上下させる ON – crond cronデーモン ON – dnsmasq DNS キャッシュサーバ OFF – dund Bluetooth ダイアルアップデーモン OFF – firstboot インストール直後に呼び出されるもの OFF – gpm コンソールマウス機能 OFF – haldaemon D-BUSサポート OFF – hidd bluetoothのキーボードやマウスの対応 OFF – ip6tables ipv6用iptables ON – ipmi ハードウェアリモート管理インターフェース(IPMI)管理デーモン OFF – iptables iptables (ファイアウォール) ON – irda 赤外線通信 OFF – irqbalance マルチCPU環境でセカンドCPU以降も割り込み処理を行える OFF – iscsi SCSIプロトコルをTCP/IPネットワーク上で使用する規格 OFF – iscsid SCSIプロトコルをTCP/IPネットワーク上で使用するためのデーモン OFF – kudzu ハードウェアの構成変更を検知 OFF – lvm2-monitor LVMの障害監視 ON OFF mcstrans SELinuxの運用サポート OFF – mdmonitor RAID の状態監視サービス OFF – mdmpd RAID の状態監視サービス(multipath devices) OFF – messagebus D-BUSサポート OFF – microcode_ctl マイクロコード制御 OFF – multipathd device-mapperカーネルドライバを使用してマルチパスデバイスのサポート OFF – netconsole ネットコンソール(カーネル異常時に出力先として用いられるコンソール) OFF – netfs NFSクライアント OFF – netplugd ネットワークケーブルのホットプラグ管理デーモン OFF – network ネットワークサービス ON – nfs NFSサービス OFF – nfslock NFSロック OFF – nscd ユーザー認証、名前解決 などのためのデータキャッシュデーモン OFF – ntpd NTP(時間管理)デーモン(誤差を埋める) ON – oddjobd D-BUS 制御デーモン OFF – pand Bluetooth ネットワーク制御デーモン OFF – pcscd スマートカードの管理 OFF – portmap RPCのポートマッパー OFF – psacct 実行したコマンドログ(実行時の負荷情報なども記録) OFF – rawdevices ハードディスクをブロックデバイスとして利用する際の補助 OFF – rdisc ネットワークルータディスカバリーデーモン。ルータとして動作させないのであれば不要。 OFF – readahead_early 前もってファイルをページ・キャッシュに読み込む ON – readahead_later 前もってファイルをページ・キャッシュに読み込む ON – restorecond SELinuxの運用サポート OFF – rpcgssd NFS関連。RPCにおいてセキュリティコンテキストを生成するデーモン OFF – rpcidmapd NFS関連。RPC名(UID/GID)マッパー OFF – rpcsvcgssd NFS関連。RPCSEC GSS (サーバーサイド) OFF – rsyslog Rシスログデーモン OFF – saslauthd sasl認証サービス OFF – sendmail sendmail(smtpサーバー) ON – smartd S.M.A.R.Tのサポート OFF – sshd SSHデーモン ON – svnserve Subversion サーバー OFF – syslog シスログデーモン ON – tcsd TCGソフトウエアスタックサービス OFF – wpa_supplicant 無線LANの暗号化、認証規格WPA(Wi-Fi Protected Access)サポート OFF – xfs X-Window System用のフォントサーバ OFF – ypbind NIS ユーザ管理デーモン OFF – yum-updatesd yum自動アップデート OFF – 上記の動作しているデーモンの中で、 論理ボリュームマネージャー(LVM)を使わない方(よくわからない方)には、lvm2-monitorも停止しても問題ないでしょう。
また、ipv6 非対応なら、ip6tablesも停止しても問題ないでしょう。
#!/bin/sh /sbin/chkconfig lvm2-monitor off
- CentOS 6
登録および動作しているデーモンは以下のとおりです。
サービス 概要 現行 変更 abrt-ccpp 自動バグ報告ツール OFF – abrt-oops 不具合をoopsトラッカーへ送信するサービス OFF – abrtd 自動バグ報告ツール OFF – acpid 電源管理 ON – atd at (コマンド)デーモン ON – auditd システム監査結果のログ保存 OFF – cpuspeed システムのアイドル比率に応じてCPUの動作周波数を上下させる ON – crond cronデーモン ON – haldaemon D-BUSサポート OFF – ip6tables ipv6用iptables ON – iptables iptables (ファイアウォール) ON – irqbalance マルチCPU環境でセカンドCPU以降も割り込み処理を行える ON – kdump システム異常時にダンプ出力する OFF – lvm2-monitor LVMの障害監視 ON OFF mdmonitor mdデバイスの監視 OFF – messagebus D-BUSサポート OFF – netconsole ネットコンソール(カーネル異常時に出力先として用いられるコンソール) OFF – netfs NFSクライアント OFF – network ネットワークサービス ON – ntpd NTP(時間管理)デーモン(誤差を埋める) ON – ntpdate NTP(時間管理)デーモン(即設定) ON OFF postfix postfix(smtpサーバー) ON – psacct 実行したコマンドログ(実行時の負荷情報なども記録) OFF – quota_nld クォータ値超過の警告が発生した旨のカーネルメッセージを D-BUS に転送する OFF – rdisc ネットワークルータディスカバリーデーモン。ルータとして動作させないのであれば不要。 OFF – restorecond SELinuxの運用サポート OFF – rngd ハードウェア TRNG (true ramdom number generator) と、カーネルの PRNG (pseudo- random number generator) の間のブリッジ OFF – rsyslog シスログデーモン ON – saslauthd sasl認証サービス OFF – smartd S.M.A.R.Tのサポート OFF – sshd SSHデーモン ON – sysstat システム情報取得サービス ON – udev-post ハードウェア自動認識を行うデーモン ON – 上記の動作しているデーモンの中で、間違いなく不要と思えるものは ntpdate でしょう。
論理ボリュームマネージャー(LVM)を使わない方(よくわからない方)には、lvm2-monitorも停止しても問題ないでしょう。
また、ipv6 非対応なら、ip6tablesも停止しても問題ないでしょう。
#!/bin/sh /sbin/chkconfig ntpdate off /sbin/chkconfig lvm2-monitor off
|
立ち上げておいた方が良いらしいです。要はさくらインターネットで、障害もしくはメンテナンスにおいて、無条件にマスターVPSのリブートないし、電源断を実施することがあります。 その際、ちゃんとacpiを立ち上げておけば、電源断を検出し、シャットダウンしてくれます。
日本語に対応にする。
CentOSのロケールの設定を日本に設定します。
/etc/sysconfig/i18nを編集します。
初期状態は以下のようになっています。
|
これを、以下のように変更します。
|
vimをインストールする。
標準のviエディタでも良いのですが、多言語に対応したvimの方が、使い勝手は間違いなく良いですから、インストールしておきましょう。
|
これだけで、自動的にインストールできます。
ログイン環境を編集する。
vimを標準のエディタとして使うために、vi のaliasとして登録しておきます。
また、/sbin へのパスも設定しておくと便利です。パスをとおしておくと、いちいち/sbinを先頭にタイプしなくて良くなりますからね。
.bash_profile は、各ユーザのホームディレクトリ直下にある( 例: ~hoge/.bash_profile ) ものを編集します。
|
|
10行目で、/sbinと/usr/sbinへのパスと追加しています。
13行目で、vimの別名をviとしています。
|
参考記事:CentOSをサーバーとして活用するための基本的な設定
また、上記の参考記事にあるように
- 要らないコンソールを無効にする
不要なコンソールは、デフォルトで設定されているtty2からtty6 をすべてコメントアウトする。
CentOS 5 ( /etc/inittab を編集します。 )
... # Run gettys in standard runlevels 1:2345:respawn:/sbin/mingetty tty1 # 以下の tty2 - tty6 までの設定をコメントアウトします。 #2:2345:respawn:/sbin/mingetty tty2 #3:2345:respawn:/sbin/mingetty tty3 #4:2345:respawn:/sbin/mingetty tty4 #5:2345:respawn:/sbin/mingetty tty5 #6:2345:respawn:/sbin/mingetty tty6 ...
CentOS 6 ( /etc/sysconfig/init を編集します。 )
... # What ttys should gettys be started on? # 以下の tty2 - tty6 までの設定を外します。 #ACTIVE_CONSOLES=/dev/tty[1-6] ACTIVE_CONSOLES=/dev/tty1 ...
- selinuxをoffにする
SELINUX=enforcing を SELINUX=disabled とし、無効にする。
/etc/sysconfig/selinux を編集します。
... # 以下のように 無効にします。 #SELINUX=enforcing SELINUX=disabled ...
リブートなしに無効にするには、以下の設定も行います。
### setenforce で無効にします。 $ setenforce 0 ### getenforceで無効を確認します。 $ getenforce Permissive
さすが、さくらインターネットですね。対応が早くて気持ちが良いですね。
ここに書いているのは、あくまで必要最小限としての記載ですので、ユーザによっては、もっと、セキュリティ面で強化を図ることもできると思います。
いろいろ設定してみて、Logwatch ぐらいは確認しておきましょう。
変なアクセスがないかぐらいは、チェックしておきましょう。
さくらインターネットのVPS ( さくらのVPS )を試してみたい方は、http://vps.sakura.ad.jp/からどうぞ。無料お試し期間は14日です。
※お試し期間中は、OP25B設定、データ転送帯域に制約がありますから注意してください。
このサイトでは、コンテンツの一部が非表示、あるいは、コメント、お問い合わせの投稿ができない、検索ができないことがあります。
2012年3月31日, 10:37 PM
[…] http://sakura.off-soft.net/blog/sakura_vps_centos_first_setup.html (『評判のさくらのVPSを使うときに最初にやっておきたいこと(CentOS編)』 レンタルサーバー・自宅サーバーの設定・構築のヒント) […]
2012年4月4日, 10:53 PM
[…] […]
2012年10月6日, 11:49 AM
[…] (http://server-setting.info/blog/sakura_vps_centos_first_setup.html を参考にさせていただきました。ほとんど同じなのでなにか問題がありましたらご連絡ください。) […]