こんにちは。日本仮想化技術株式会社の水野です。
今回は、サーバーのリモート操作に使われている「SSH」について、運用において注意すべきセキュリティ面にフォーカスしてお話してみたいと思います。
SSHってなに?
サーバールームやデータセンターに置かれているサーバーは、PCとは違って直接触れることができません。いえ、もちろんデータセンターに入館してコンソールを繋げば可能ではあるのですが、よほどの緊急時を除けば、オフィスのPCからリモート接続で操作するのが基本ですよね。特にクラウド上の仮想サーバーは、どう頑張っても物理的に触れないため、リモート操作がマストです。
そして、サーバーのリモート操作に使われているのが「Secure Shell」、通称「SSH」です。その中でもオープンソースな実装である「OpenSSH」を使うケースが多いでしょう。OpenSSHクライアントは、Linuxはもちろん、macOSやWindowsにも標準で用意されているため、別途ツールをインストールする必要もなく便利です*1。
なおSSHの概要については、2023年11月29日のニフクラエンジニアミートアップ「サーバー管理者のためのセキュリティ超入門」の宮原さんのセッションのスライドも参照してください。
やっておきたいSSHのセキュリティ対策
一般的なSSHサーバーというのはその用途的に、以下のような問題を抱えています。
- 外部からの接続を受け付ける必要がある
- 認証に成功するとサーバーのシェルを取れる
誰がどう見ても、認証を突破されるとヤバいですよね。
*1:意外と知らない人もいるようですが、最近のWindowsはデフォルトでPowerShellからssh.exeを実行することができます。