pamよるLDAP認証のセキュリティ課題


pam_ldapを使用するとホストのログイン認証を簡単にLDAP対応にすることができます。一方、このような構成のホストのサービスをインターネットに公開する場合、以外なDoS攻撃の対象となる場合があるため注意が必要です。

DoS攻撃によるファイルハンドルの枯渇で、SLAPDがダウン。ログイン不能。

PAM認証モジュールの認証ソースをLDAPにすると、アプリケーションソフトウェアの認証方法がPAMに対応していさえすれば、簡単にLDAPによる認証を導入することができる。一方、インターネットに露出しているサービスの認証にPAMを利用する場合、大量の認証要求がこのようなサービスに送られることによりLDAPサービス(slpad)が間接的にDoS攻撃にさらされる状況を考えなければならない。最悪の場合、slapdのダウン以降、正規ユーザもそのホストにログインできくなる。

実際、PAM+LDAPによるログイン認証をしているサーバのftpサービス(PAM認証)に対して、試験的に集中的な辞書攻撃によるログインを試みると、ファイル認証に比較してはるかに所要時間の長いPAM LDAP認証では、当然認証作業が滞る。結果slapdのスレッドが大量に生成される。slapdもtcpdに依存するためhost.allow, hosts.denyなどのファイルもslapdのスレッド数の増加に比例して開かれ、最終的にはオープン可能な最大ハンドル数に達する。結果slapdは異常終了する。

PAM_LDAPによるホストアカウント認証よりも仮想ユーザ認証のほうが安全

ちなみに、この実験は、nscdにより認証をキャッシュして行っているが、辞書攻撃である以上、キャッシュ・ヒット/ミス双方についてキャッシュの効果は無い。(RedHat Linux 8.0付属のnscdでは、メールボムの実験だけで不定期なnscdの破綻が見られた。RedHat 7.3付属のnscdではこの問題は発生を見ていない)。FTPポートに対する辞書攻撃はファイアウォールやIDSのログに数ヶ月に一度くらいの割合で散見される。同様の辞書攻撃による障害は、不正アクセスに対して比較的安全と考えられているssh、sftp等についても同様と考えられる。インターネットからアクセス可能なホストでは、アカウント認証のLDAP化はさけるべきである。

sendmail + LDAPなど、メールホストの認証にPAM+LDAPを利用する場合、メール処理が時間を要するため、メールBOMBのような大量のメールトラフィックによってもslapdを破綻させることはできないが、万全を期すなら、認証を伴わないリレーホストにより、外部から遮断すれば安全だ。リレーホストを利用しない場合、FTP、telnetは言うに及ばず、PAM認証を伴うすべてのネットワークサービスを停止するかファイウォールで外部から遮断しておくべきである

大規模なサイトのメールホストをLDAP化するのであれば、Postfix + LDAPにより、メールアカウントをすべて仮想アカウントとし、PAM認証を使用しない方法がより高速・安全である。

 
 
ドキュメントアクション
2009年7月22日 | カテゴリー : LDAP | 投稿者 : eurotec