GNU/Linux >> Linux の 問題 >  >> Linux

プードルSSL攻撃からISPConfig3サーバーを保護する方法

バージョン1.2
作成者:Till Brehm
Twitterでhowtoforgeをフォロー
公開済み2014-10-16

次のガイドでは、最近のプードルSSL攻撃からサーバーを保護するための手順について説明します。私の例では、Debian7でISPConfig3パーフェクトサーバーを使用しますが、同じ手順が他のLinuxディストリビューションでも機能します。デフォルトのISPConfigホスティングサーバーは、次のサービスを実行します。Webサーバー (NginxまたはApache)、メールサーバー (PostfixとDovecot / Courier)、FTPサーバー (pure-ftpd)SSL / TLS接続を提供し、プードル攻撃の潜在的なターゲットです。

rootユーザーとしてサーバーにログインしていると仮定します。 Ubuntuで作業していて、rootとしてログインしていない場合は、すべてのコマンドの前に「sudo」を追加するか、「sudo-」を実行してrootユーザーになります。

ApacheWebサーバー

Apache Webサーバーを保護するには、回線

SSLProtocol all -SSLv2 -SSLv3

サーバー上の各SSL仮想ホストに追加する必要があります。 SSLProtocol設定がvhostで明示的に設定されていない場合、グローバル設定が適用されます。 ISPConfig 3サーバーの場合、vhostsがその設定を上書きしないため、SSLProtocol設定をグローバルに設定できます。 DebianまたはUbuntuサーバーで、ファイル/etc/apache2/mods-available/ssl.confをエディターで開きます

nano /etc/apache2/mods-available/ssl.conf

次の行が表示されるまで下にスクロールします:

#安全なプロトコルのみを有効にする:SSLv3とTLSv1、SSLv2は有効にしない
SSLProtocol all -SSLv2

次のように変更します:

#安全なプロトコルのみを有効にします:SSLv2とSSLv3は有効にしません
SSLProtocol all -SSLv2 -SSLv3

次に、apacheを再起動します

service apache2 restart

NginxWebサーバー

nginx Webサーバーの場合、行

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

各SSLサーバー{}サービスに追加する必要があります。 SSLProtocol設定がサーバー{}セクションで明示的に設定されていない場合、http{}セクションのグローバル設定が適用されます。 ISPConfig 3サーバーの場合、SSLProtocol設定はhttp {}セクションでグローバルに設定できます。これは、サーバー{}セクションがその設定を上書きしないためです。 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ファイルにあります。次に、次のコマンドを実行して、新しい構成を適用します。

サービスpostfixの再起動

Dovecot IMAP/POP3サーバー

Dovecotは、バージョン2.1以降でSSLプロトコル設定をサポートしています。したがって、最初のステップは、使用している鳩小屋のバージョンを見つけることです。コマンドは次のとおりです。

dovecot --version

私のサーバーでは、次の結果が得られました:

[メール保護]:〜#dovecot --version
2.1.7
[メール保護]:〜#

これは、サーバーがssl_protocol設定をサポートしていることを示しています。

dovecot構成ファイルを編集する

nano /etc/dovecot/dovecot.conf

行を追加します

ssl_protocols =!SSLv2!SSLv3

ssl_key行の直後なので、ファイルは次のようになります。


ssl_key = ssl_protocols =!SSLv2!SSLv3

最後にdovecotを再起動して、変更を適用します。

サービスダブコットの再起動

クーリエPOP3/IMAPサーバー

courier imapおよびpop3サーバーは、デフォルトでSSLv3プロトコルを介した接続を提供するため、SSLv3プロトコルも再構成する必要があります。クーリエ構成ファイルは、フォルダー/ 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

最後に、クーリエデーモンを再起動します。

service courier-imap-ssl restart
service courier-pop-ssl restart

Pure-ftpdを使用したFTP

DebianとUbuntuでpure-ftpdを保護することは、Debianの/ usr / sbin / pure-ftpd-wrapperスクリプトがsslプロトコルを設定するためにpure-ftpdによって使用される-Jスイッチをサポートしていないため、少し複雑です。したがって、最初のステップは、ラッパースクリプトに-Jオプションのサポートを追加することです。 Debian 6のpure-ftpdバージョンは古すぎて、SSLプロトコルの設定がないため、これはDebian6では機能しません。したがって、Debian 6ユーザーの唯一のオプションは、Debian7にアップグレードすることです。ファイルを開く

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を再起動します。私のサーバーでは、mysqlでpure-ftpdを使用しているため、デーモンの名前は、pure-ftpdではなくpure-ftpd-mysqlになります。

service pure-ftpd-mysql restart

結果は次のようになります:

[メール保護]:〜#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
[メール保護]:〜#

そのため、-Jオプションがデーモンの開始シーケンスに正常に追加されました。

リンク
  • SSLプードル攻撃
  • ISPConfig

Linux
  1. LinuxメールサービスをSSL/TLSで保護する方法

  2. LinuxサーバーをNTPプールプロジェクトに参加させる方法

  3. LinuxでDNSサーバーの速度をベンチマークまたは確認するにはどうすればよいですか?

  1. SSLキーからパスワードを削除する方法

  2. Ubuntu18.04サーバーにIPを追加する方法

  3. CSF ファイアウォールで Ubuntu サーバーを保護する方法

  1. サーバーのログイン履歴を確認してください

  2. PostgreSQLサーバーを保護する方法

  3. LinuxでTomcatサーバーを起動するには?