Secure Shell

Article on other languages:

del.icio.us del.icio.us
Digg Digg
Furl Furl
Reddit Reddit
Rojo Rojo
Add to OnlyWire
ネットワーク・プロトコル
アプリケーション層
DHCP · DNS · FTP · Gopher · HTTP · IMAP4 · IRC · NNTP · XMPP · POP3 · SIP · SMTP · SNMP · SSH · TELNET · RPC · RTCP · RTSP · SSL/TLS · SDP · SOAP · CMIP · STUN · GTP · NTP · EHRP
トランスポート層
TCP · UDP · DCCP · SCTP · RTP · RSVP · IGMP · PPTP · RUDP · UDP-Lite
ネットワーク層
IP (IPv4 · IPv6) · OSPF · IS-IS · BGP · IPsec · ARP · RARP · RIP · ICMP · ICMPv6 · IGP
データリンク層
802.11 · 802.16 · Wi-Fi · WiMAX · ATM · DTM · トークンリング · イーサネット · FDDI · フレームリレー · GPRS · EVDO · HSPA · HDLC · PPP · SLIP · L2TP · ISDN · SMDS · アークネット
物理層
イーサネット物理層 · モデム · PLC · SONET/SDH · G.709 · OFDM · 光ファイバー · 同軸ケーブル · ツイストペアケーブル

Secure Shell(セキュアシェル)は、暗号認証の技術を利用して、安全にリモートコンピュータと通信するためのプロトコルパスワードなどの認証部分を含むすべてのネットワーク上の通信が暗号化される。スペルアウトするよりも、頭字語SSH(エスエスエイチ)と呼称することが多い。

そもそもはTelnetrshrloginなどといった、リモートホストのシェルを利用するための既存のプロトコルを代用する手段として考えられていた。TelnetやFTPは、ネットワーク上に平文でパスワードを送信してしまうため、パスワードをネットワーク経路上でのぞき見されてしまう(これを盗聴スニフと呼ぶ)危険性が高く、商業的なインターネット空間では問題が大きかった。Telnet同様に、リモートホスト間でのファイルコピー用のコマンドrcpを代用するSCPや、FTPを代用するためのSFTPも用意されている。

SSHの暗号通信は、公開鍵暗号RSA又はDSA)を用いて共通鍵暗号トリプルDESAESなど)の共通鍵を暗号化して鍵交換を行い、通信自体は高速な共通鍵暗号を用いる、いわゆるハイブリッド暗号である。また、成りすましを防止するための認証の仕組みも充実している。パスワード認証公開鍵認証ワンタイムパスワードなどが提供されており、個々の情報セキュリティポリシーに合わせて選択できる。

現在は、バージョン1とバージョン2の2種類のプロトコルが共存しているが、バージョン1には脆弱性が発見されているためその利用は推奨されない。商用アプリケーションやフリーソフトウェアなど幾つかの実装があり、特許や互換性の問題などでやや混乱があったが、2006年にSSHのプロトコルおよびその関連技術がRFCとして制定された(RFC4250-RFC4256)。ただ、もっとも一般に普及しているのは、オープンソースで開発されているOpenSSHで、Linuxなどでも標準的に利用されているため、現在では単純にSSHと言った場合、OpenSSHの実装系を指していることが多い。

目次

SSHサーバ

SSHクライアント

SSHのセキュリティリスク

SSHクライアントの利用者がサーバ鍵の指紋を確認しない場合、意図しないリモートコンピュータに接続していても気づかず、通信内容を盗聴される恐れがある。

また、SSHサーバには、設定値が適切でないために発生するセキュリティリスクがある。一例として、OpenSSHにおける以下のような設定があげられる。

  • PasswordAuthenticationがdefaultで有効である
  • PermitRootLoginがdefaultで有効である
  • Protocolがdefaultでssh1を許可している
  • Portがdefaultで22で既知である
  • ChallengeResponseAuthenticationがdefaultで有効である
  • AllowUsersにおいてdefaultですべてのユーザーに許可されている
  • 認証にたびたび失敗するhostからの接続を制限しない
  • 認証に失敗しても再認証を受け入れるまでウエイト時間を設けない
  • defaultではないがX11 port forwardingが有効にできる
  • 認証が通るとshellへのアクセスが認められる

これらの状態では、たとえばブルートフォースアタックでセキュリティを突破する事が可能である。実際にセキュリティを破られたサーバが存在し、IPAではこの問題について危険性がある事を勧告している。

OpenSSHを採用しているサーバOSの中には、上記の値をデフォルト値としていないものもある。しかし、デフォルトのsshd_configに対してなんら対策を施していない場合、非常に多くの情報が既知である。攻撃者はパスワードを見つける事だけに専念する事でセキュリティを破り、またroot特権を獲得する事ができる。

この問題に対してのソリューションは、SSHサーバの設定のデフォルト値には危険なものがあることを認識し、対策する事である。

  • PasswordAuthentication noにする
  • PermitRootLogin noにする。
  • Protocol 2にする。
  • Portは22以外にする。
  • ChallengeResponseAuthentication noにする。
  • AllowUsersにおいて特定のユーザーのみ接続を許可する。
  • authlogなどで認証失敗を検出したら、そのhostからの接続を遮断する。
  • X11 port forwardingは無効にする。
  • shellが必要無いのであればpasswdファイルからシェルを取り除く

関連記事

This article is from Wikipedia. All text is available under the terms of the GNU Free Documentation License.


Giant Panda

Mercedes Car
James Bond Guide
This site monitored by SitePinger.net