セキュリティ · 1 min read · Nov 29, 2025
ISPConfig 3サーバーをpoodle SSL攻撃から保護する方法
バージョン 1.2
著者: Till Brehm
howtoforgeをTwitterでフォロー
公開日 2014-10-16
以下のガイドでは、最近のpoodle SSL攻撃からサーバーを保護するための手順を説明します。例としてDebian 7上のISPConfig 3パーフェクトサーバーを使用しますが、同じ手順は他のLinuxディストリビューションでも機能します。デフォルトのISPConfigホスティングサーバーは、次のサービスを実行します: Webサーバー (Nginxまたはapache)、メールサーバー (PostfixとDovecot / Courier)、FTPサーバー (pure-ftpd)で、SSL / TLS接続を提供し、poodle攻撃の潜在的なターゲットです。
あなたがrootユーザーとしてサーバーにログインしていることを前提とします。Ubuntuで作業していてrootとしてログインしていない場合は、すべてのコマンドの前に”sudo”を付けるか、”sudo -“を実行してrootユーザーになります。
Apache Webサーバー
Apache Webサーバーを保護するには、次の行を各SSL vhostに追加する必要があります。
SSLProtocol all -SSLv2 -SSLv3
SSLProtocol設定がvhostで明示的に設定されていない場合、グローバル設定が適用されます。ISPConfig 3サーバーの場合、vhostsはその設定を上書きしないため、SSLProtocol設定をグローバルに設定できます。DebianまたはUbuntuサーバーでは、エディタでファイル/etc/apache2/mods-available/ssl.confを開きます。
nano /etc/apache2/mods-available/ssl.conf
下にスクロールして次の行が見えるまで待ちます:
SSLProtocol all -SSLv2
これを次のように変更します:
SSLProtocol all -SSLv2 -SSLv3
その後、apacheを再起動します。
service apache2 restart
Nginx Webサーバー
Nginx Webサーバーの場合、次の行を各SSLサーバー { } セクションに追加する必要があります。
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
SSLProtocol設定がサーバー { } セクションで明示的に設定されていない場合、http { } セクションのグローバル設定が適用されます。ISPConfig 3サーバーの場合、サーバー { } セクションはその設定を上書きしないため、http { } セクションでSSLProtocol設定をグローバルに設定できます。DebianまたはUbuntuサーバーでは、エディタでファイル/etc/nginx/nginx.confを開きます。
nano /etc/nginx/nginx.conf
次の行の後に次の行を追加します:
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
http {
その後、nginxを再起動します:
service nginx restart
Postfixメールサーバー
PostfixにSSLv2およびSSLv3プロトコルを提供しないように強制するには、次のコマンドを実行します:
postconf -e ‘smtpd_tls_mandatory_protocols=!SSLv2,!SSLv3’
postconf -e ‘smtpd_tls_protocols=!SSLv2,!SSLv3’
postconf -e ‘smtp_tls_protocols=!SSLv2,!SSLv3’
これにより、次の行が追加されます:
smtpd_tls_mandatory_protocols = !SSLv2,!SSLv3
smtpd_tls_protocols = !SSLv2,!SSLv3
smtp_tls_protocols = !SSLv2,!SSLv3
/etc/postfix/main.cfファイルに。次に、新しい設定を適用するためにこのコマンドを実行します:
service postfix restart
Dovecot IMAP / POP3サーバー
Dovecotはバージョン2.1以降でSSLプロトコル設定をサポートしています。最初のステップは、使用しているdovecotのバージョンを確認することです。コマンドは:
dovecot –version
私のサーバーでは次の結果が得られました:
root@server1:~# dovecot –version
2.1.7
root@server1:~#
これは、私のサーバーがssl_protocol設定をサポートしていることを示しています。
dovecot設定ファイルを編集します。
nano /etc/dovecot/dovecot.conf
次の行をssl_key行のすぐ後に追加します。
ssl_protocols = !SSLv2 !SSLv3
ファイルは次のようになります:
ssl_key = ssl_protocols = !SSLv2 !SSLv3
最後に、変更を適用するためにdovecotを再起動します:
service dovecot restart
Courier POP3 / IMAPサーバー
Courier IMAPおよびPOP3サーバーはデフォルトでSSLv3プロトコルを介して接続を提供するため、再構成する必要があります。Courierの設定ファイルはフォルダ/etc/courier/にあります。まず、IMAPデーモンの設定ファイルから始めます:
nano /etc/courier/imapd-ssl
次の行を追加または置き換えます:
IMAPDSTARTTLS=YES
IMAP_TLS_REQUIRED=1
TLS_PROTOCOL=TLS1
TLS_STARTTLS_PROTOCOL=TLS1
次に、POP3デーモンの設定ファイルを編集します:
nano /etc/courier/pop3d-ssl
次の行を追加または置き換えます:
POP3STARTTLS=YES
POP3_TLS_REQUIRED=1
TLS_PROTOCOL=TLS1
TLS_STARTTLS_PROTOCOL=TLS1
最後に、Courierデーモンを再起動します:
service courier-imap-ssl restart
service courier-pop-ssl restart
FTP with pure-ftpd
DebianおよびUbuntuでpure-ftpdを保護するのは少し複雑です。Debianの/usr/sbin/pure-ftpd-wrapperスクリプトは、pure-ftpdがSSLプロトコルを設定するために使用する-Jスイッチをサポートしていないためです。最初のステップは、ラッパースクリプトに-Jオプションのサポートを追加することです。これは、Debian 6では機能しません。なぜなら、Debian 6のpure-ftpdバージョンは古すぎてSSLプロトコルの設定がないからです。したがって、Debian 6ユーザーの唯一の選択肢はDebian 7にアップグレードすることです。ファイルを開きます。
nano /usr/sbin/pure-ftpd-wrapper
次の行までスクロールします。
‘TLS’ => [‘-Y %d’, \&parse_number_1],
そのすぐ後にこの新しい行を追加します:
‘TLSCipherSuite’ => [‘-J %s’, \&parse_string],
最後に、許可したいSSLプロトコルを含む設定ファイルを作成します:
echo ‘HIGH:MEDIUM:+TLSv1:!SSLv2:!SSLv3’ > /etc/pure-ftpd/conf/TLSCipherSuite
変更を適用するために、pure-ftpdを再起動します。私のサーバーでは、pure-ftpdをmysqlで使用しているため、デーモンの名前はpure-ftpd-mysqlであり、単にpure-ftpdではありません。
service pure-ftpd-mysql restart
結果は次のようになります:
root@server1:~# service pure-ftpd-mysql restart
ftpサーバーを再起動しています: 実行中: /usr/sbin/pure-ftpd-mysql-virtualchroot -l mysql:/etc/pure-ftpd/db/mysql.conf -l pam -Y 1 -8 UTF-8 -H -J HIGH:MEDIUM:+TLSv1:!SSLv2:!SSLv3 -D -b -O clf:/var/log/pure-ftpd/transfer.log -E -u 1000 -A -B
root@server1:~#
したがって、-Jオプションはデーモンの起動シーケンスに正常に追加されました。
リンク
- SSL poodle攻撃
- ISPConfig
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。