匿名認証を使用してSSLサーバへ接続を行う方法

SSLでは、クライアントは通常、RSAまたはDSSなどを使用してサーバの認証を行いますが、SSLサーバで匿名認証を許可している場合、認証を行わずに接続することができます。
攻撃者は、匿名認証を利用してクライアントに対してサーバのなりすましを行うことが可能です。


▼匿名認証での接続例

# openssl s_client -connect 10.100.0.160:443 -cipher ADH-AES256-SHA
CONNECTED(00000003)
    • -
no peer certificate available
    • -
No client certificate CA names sent
    • -
SSL handshake has read 419 bytes and written 244 bytes
    • -
New, TLSv1/SSLv3, Cipher is ADH-AES256-SHA Compression: NONE Expansion: NONE SSL-Session: Protocol : TLSv1 Cipher : ADH-AES256-SHA Session-ID: 5A3A5BAAB16AE278373CEB7F84C6A8FCB41BEBC1B6E5E01FE57EFF93EC621B60 Session-ID-ctx: Master-Key: EC3352F9DAC4E86029E61ED81141B2E56812806C2DFD3509B430E1F79C40944B7A313A4528CE9AADCA64550600222312 Key-Arg : None Krb5 Principal: None Start Time: 1224229049 Timeout : 300 (sec) Verify return code: 0 (ok)
    • -
HEAD / HTTP/1.0 HTTP/1.1 200 OK Date: Fri, 17 Oct 2008 07:37:31 GMT Server: Apache/2.0.52 (CentOS) Last-Modified: Fri, 04 Jul 2008 11:17:49 GMT ETag: "1492f-1c7-e039b140" Accept-Ranges: bytes Content-Length: 455 Connection: close Content-Type: text/html; charset=UTF-8 closed


▼匿名認証が有効な設定ファイル(ssl.conf)例

SSLCipherSuite ALL


▼匿名認証が無効な設定ファイル(ssl.conf)例

SSLCipherSuite ALL:!ADH