OpenSSHの脆弱性CVE-2016-3115

セキュリティ対策しなきゃ

2016/03/10 に報告された OpenSSH の脆弱性 CVE-2016-3115 に関する対策に関して

はじめに

OpenSSHの脆弱性 CVE-2016-3115 が報告されています。

CVE-2016-3115 によると

It was discovered that the OpenSSH server did not sanitize data received in requests to enable X11 forwarding. An authenticated client with restricted SSH access could possibly use this flaw to bypass intended restrictions.

との事。

X11Forwarding が有効な場合に、受信されたデータのサニタイジングが行われない事で、SSHでアクセス制限を与えられたユーザが、この制限を回避できてしまう可能性があるとの事

具体的には、Red Hat Bugzilla – Bug 1316829に記載がありますが、

  • sshd_config の ForceCommand
  • authorized_keys の command="..."
  • 制限付きのシェル
等で実行コマンドを制限している場合に、これを回避できるらしい。

Redhat Enterprise Linux では "X11Forwarding" はデフォルトで有効になっているとの事で、制限されたアクセス設定を行っている場合には対策を行った方がよいでしょう。

※Amazon Linux の設定も確認しましたが、sshd_config の X11Forwarding は有効 ( yes ) になってました。

対策

既にパッチが提供されている場合、これを適用しましょう。

AWS

セキュリティアドバイザリが出ています。ALAS-2016-668

対策されたパッケージが提供されているので適用しましょう。

いつものごとく yum update すれば OK です。

# yum update

その他

パッチが提供されていない場合、sshd_config の X11Forwarding 設定を no にする事で対応可能との事

※記事執筆時点では Redhat のパッチは提供されていないと思われ... ( CentOS も )

※上記以外のディストリビューションに関しては調べていません。

# vi /etc/ssh/sshd_config

以下を設定

X11Forwarding no

設定後 sshd を再起動

# /etc/rc.d/init.d/sshd restart

authorized_keys の command="..." に関しては、以下の何れか

  • no-X11-forwarding を設定する
  • OpenSSH 7.2 で追加された restrict を使う

まとめ

ForceCommand や authorized_keys の command="..."、制限付きシェル等でsshユーザで実行可能なコマンドを制限しているといった事がない場合には影響はないと思われますが、この機会に設定を見直してみるのもいいかもしれません。

参考: