サーバー設定 · 2 min read · Nov 15, 2025
完璧なサーバー - CentOS 6.1 x86_64 と nginx [ISPConfig 3] - ページ 6
18 PureFTPd のインストール
PureFTPd は以下のコマンドでインストールできます:
yum install pure-ftpd次に、システム起動リンクを作成し、PureFTPd を起動します:
chkconfig –levels 235 pure-ftpd on
/etc/init.d/pure-ftpd start
これで、FTP と TLS セッションを許可するように PureFTPd を設定します。FTP は非常に安全でないプロトコルであり、すべてのパスワードとすべてのデータが平文で転送されます。TLS を使用することで、通信全体を暗号化できるため、FTP ははるかに安全になります。
TLS には OpenSSL が必要です。OpenSSL をインストールするには、単に以下を実行します:
yum install openssl/etc/pure-ftpd/pure-ftpd.conf を開きます…
vi /etc/pure-ftpd/pure-ftpd.confFTP と TLS セッションを許可したい場合は、TLS を 1 に設定します:
| [...] # このオプションは 3 つの値を受け入れることができます: # 0 : SSL/TLS 暗号化レイヤーを無効にする(デフォルト)。 # 1 : 従来のセッションと暗号化されたセッションの両方を受け入れる。 # 2 : SSL/TLS セキュリティメカニズムを使用しない接続を拒否する、 # 匿名セッションを含む。 # このコメントを盲目的に解除しないでください。次のことを確認してください: # 1) サーバーが SSL/TLS サポートでコンパイルされていること (--with-tls)、 # 2) 有効な証明書が存在すること、 # 3) 互換性のあるクライアントのみがログインすること。 TLS 1 [...] |
TLS を使用するためには、SSL 証明書を作成する必要があります。私は /etc/ssl/private/ に作成するので、まずそのディレクトリを作成します:
mkdir -p /etc/ssl/private/その後、以下のように SSL 証明書を生成できます:
openssl req -x509 -nodes -days 7300 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem 国名(2 文字コード) [XX]: <– あなたの国名を入力してください(例:”DE”)。
州または県名(フルネーム) []: <– あなたの州または県名を入力してください。
市名(例:都市) [Default City]: <– あなたの都市を入力してください。
組織名(例:会社) [Default Company Ltd]: <– あなたの組織名を入力してください(例:あなたの会社名)。
組織単位名(例:部門) []: <– あなたの組織単位名を入力してください(例:”IT 部門“)。
共通名(例:あなたの名前またはサーバーのホスト名) []: <– システムの完全修飾ドメイン名を入力してください(例:”server1.example.com”)。
メールアドレス []: <– あなたのメールアドレスを入力してください。
SSL 証明書の権限を変更します:
chmod 600 /etc/ssl/private/pure-ftpd.pem最後に、PureFTPd を再起動します:
/etc/init.d/pure-ftpd restartこれで完了です。FTP クライアントを使用して接続を試みることができますが、FTP クライアントを TLS を使用するように設定する必要があります。
19 BIND のインストール
BIND は以下のようにインストールできます:
yum install bind bind-utils次に、/etc/sysconfig/named を開きます…
vi /etc/sysconfig/named… そして、ROOTDIR=/var/named/chroot 行がコメントアウトされていることを確認します:
| # BIND named プロセスオプション # ~~~~~~~~~~~~~~~~~~~~~~~~~~ # 現在、以下のオプションを使用できます: # # ROOTDIR="/var/named/chroot" -- named を chroot 環境で実行します。 # chroot 環境を設定する必要があります # (bind-chroot パッケージをインストール) # これを行う前に。 # 注意: # これらのディレクトリは、ROOTDIR ディレクトリが # 空である場合、自動的に chroot にマウントされます。 # これにより、chroot 環境のメンテナンスが簡素化されます。 # - /var/named # - /etc/pki/dnssec-keys # - /etc/named # - /usr/lib64/bind または /usr/lib/bind (アーキテクチャ依存) # # 対象ファイルが chroot に存在しない場合、これらのファイルもマウントされます。 # - /etc/named.conf # - /etc/rndc.conf # - /etc/rndc.key # - /etc/named.rfc1912.zones # - /etc/named.dnssec.keys # - /etc/named.iscdlv.key # # "$AddUnixListenSocket /var/named/chroot/dev/log" # 行を /etc/rsyslog.conf ファイルに追加するのを忘れないでください。 # そうしないと、rsyslogd デーモンが再起動されると、 # ロギングが壊れます(例えば、更新のため)。 # # OPTIONS="whatever" -- これらの追加オプションは、named # の起動時に渡されます。ここに -t を追加しないでください、ROOTDIR を使用してください。 # # KEYTAB_FILE="/dir/file" -- named サービスの keytab ファイルを指定します(GSS-TSIG 用) # # DISABLE_ZONE_CHECKING -- デフォルトでは、initscript は named-checkzone # ユーティリティをすべてのゾーンに対して呼び出し、 # named が起動する前にすべてのゾーンが # 有効であることを確認します。このオプションを # 'yes' に設定すると、initscript はこれらの # チェックを実行しません。 |
既存の /etc/named.conf ファイルのバックアップを作成し、新しいファイルを以下のように作成します:
cp /etc/named.conf /etc/named.conf_bak
cat /dev/null > /etc/named.conf
vi /etc/named.conf
| // named.conf // // Red Hat bind パッケージによって提供され、ISC BIND named(8) DNS // サーバーをキャッシュ専用のネームサーバー(ローカルホスト DNS リゾルバのみ)として構成します。 // // 例の named 構成ファイルについては、/usr/share/doc/bind*/sample/ を参照してください。 // options { listen-on port 53 { any; }; listen-on-v6 port 53 { any; }; directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; memstatistics-file "/var/named/data/named_mem_stats.txt"; allow-query { any; }; recursion no; allow-recursion { none; }; }; logging { channel default_debug { file "data/named.run"; severity dynamic; }; }; zone "." IN { type hint; file "named.ca"; }; include "/etc/named.conf.local"; |
/etc/named.conf の最後に含まれる /etc/named.conf.local ファイルを作成します(/etc/named.conf.local は、ISPConfig で DNS ゾーンを作成すると後で ISPConfig によって埋められます):
touch /etc/named.conf.local次に、起動リンクを作成し、BIND を起動します:
chkconfig –levels 235 named on
/etc/init.d/named start
20 Vlogger、Webalizer、および AWStats のインストール
Vlogger、webalizer、および AWStats は以下のようにインストールできます:
yum install webalizer awstats perl-DateTime-Format-HTTP perl-DateTime-Format-Buildercd /tmp
wget http://n0rp.chemlab.org/vlogger/vlogger-1.3.tar.gz
tar xvfz vlogger-1.3.tar.gz
mv vlogger-1.3/vlogger /usr/sbin/
rm -rf vlogger*
21 Jailkit のインストール
Jailkit は、SSH ユーザーを chroot したい場合にのみ必要です。以下のようにインストールできます(重要:Jailkit は ISPConfig の前にインストールする必要があります - 後からインストールすることはできません!):
cd /tmp
wget http://olivier.sessink.nl/jailkit/jailkit-2.14.tar.gz
tar xvfz jailkit-2.14.tar.gz
cd jailkit-2.14
./configure
make
make install
cd ..
rm -rf jailkit-2.14*
22 fail2ban のインストール
これはオプションですが推奨されます。なぜなら、ISPConfig モニターはログを表示しようとするからです:
yum install fail2banfail2ban を /var/log/fail2ban.log というログファイルにログを記録するように設定する必要があります。これは ISPConfig Monitor モジュールによって監視されるログファイルです。/etc/fail2ban/fail2ban.conf を開きます…
vi /etc/fail2ban/fail2ban.conf… そして、logtarget = SYSLOG 行をコメントアウトし、logtarget = /var/log/fail2ban.log を追加します:
| [...] # オプション: logtarget # 注意: ログターゲットを設定します。これはファイル、SYSLOG、STDERR または STDOUT です。 # 1 つのログターゲットのみを指定できます。 # 値: STDOUT STDERR SYSLOG file デフォルト: /var/log/fail2ban.log # #logtarget = SYSLOG logtarget = /var/log/fail2ban.log [...] |
次に、fail2ban のシステム起動リンクを作成し、起動します:
chkconfig –levels 235 fail2ban on
/etc/init.d/fail2ban start
23 rkhunter のインストール
rkhunter は以下のようにインストールできます:
yum install rkhunter新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。