クラウド時代に必須の技術
インターネット全盛のいま、システムの開発も運用も遠隔地(リモート)にあるサーバにログインして作業をすることがほとんどです。
その際に、必ずと言っていいほど利用されるのが、SSH(The Secure Shell)というプロトコルです。これはネットワーク上に流れる情報を暗号化し、認証によりサーバとクライアントが互いに正しい相手であることを確認する技術です。このプロトコルを使って安全な通信を実現するソフトウェアがOpenSSHです。
IaaS(Infrastructure as a Service)などのクラウドサービスを利用すると、必然的に外部のサーバに接続することになり、SSHが必要になります。クラウド環境がIT基盤のひとつとして定着しつつあるなか、OpenSSHはITエンジニアに必須のスキルと言えるでしょう。
より安全に、より簡単に接続できる
じつはOpenSSHで遠隔地のサーバにログインして作業を行うだけなら、それほど高度なスキルは必要ありません。ログイン先のサーバ名(もしくはIPアドレス)と、必要に応じてログインするユーザ名やポート番号を指定し、パスワードを入力するだけです。
しかし、ログインのたびにユーザ名やポート番号を入力するのは少し面倒です。また、今どきパスワード認証では、安全と言うには心許ない気がします。
本書には、これらの課題を改善するノウハウがたくさん載っています。たとえば、あらかじめ設定ファイルにユーザ名やポート番号を指定しておけば、ログインのたびに入力しなくて済むようになります。
また、認証にはパスワード認証よりも安全な公開鍵認証や証明書による認証も使えます。証明書認証は設定がやや複雑ですが、一度設定してしまえば、公開鍵の管理が大幅に楽になるというメリットがあります。
豊富な機能のどれを許可し、どれを禁止するか、見極めが大事
OpenSSHはたんに遠隔地のサーバを操作するだけではなく、TCPポートフォワード、X11転送、認証エージェント転送といったいろいろな機能があります。それぞれ便利な機能ですが、きちんと設定をほどこし、適切に運用を行わないと、第三者に悪用される恐れがあります。
これらの機能はデフォルトで有効になっているものもあり、リスクを理解したうえで、機能の利用許可/禁止を設定しないと安全とは言えません。システム管理者の方は、本書をきっかけに自社サーバの設定を見直してみてはいかがでしょう。
OpenSSHでは防御できないことや、弱点も赤裸々に解説
本書は、OpenSSHの長所だけを述べているわけではありません。OpenSSHでは防御できない攻撃や、OpenSSHを無力化するような攻撃、OpenSSHに関する脆弱性についても言及しています。もちろん、現時点でとれる対策についても述べています。
OpenSSHで不足している部分は、ファイアウォールやほかのセキュリティソフトで対策を講じる必要があります。その取っ掛かりとなるノウハウについても紹介しています。
本書の使い方
まずは、本書の第1、2、3、6章にざっと目を通すことをお勧めします。すると、自社システムのセキュリティ面で気になるところや、利便性を改善したいところが、きっと見つかるはずです。そこで、第4、5、7章で具体的な設定方法を確認し、実践すると良いでしょう。それが本書を有効に活用する方法です。
- 『OpenSSH[実践]入門』の章構成
- 第1章 SSHとOpenSSHの概要
- 第2章 OpenSSHの基本的な使い方
- 第3章 一歩進んだOpenSSHの使い方
- 第4章 SSHクライアントの設定
- 第5章 SSHサーバの設定
- 第6章 OpenSSHの落とし穴
- 第7章 設定事例集