新規投稿のお知らせを受信されたい方は、サブスクリプションをご登録ください:

SSHコマンドロギングの紹介

2022-03-18

2分で読了
この投稿はEnglishおよび简体中文でも表示されます。

SSH(Secure Shell Protocol)は、遠隔地にある機器を管理するための重要なプロトコルです。これは、インフラストラクチャーチームが大量に抱える機器をリモートで安全に管理する手段を提供するものです。SSHはtelnetのような他のプロトコルからセキュリティの面でステップアップしたものです。SSHはトラフィックを暗号化し、ユーザーごとの特定の機器へのアクセスを制御します。しかし、まだ重要なセキュリティリスクの可能性が残っています。特にrootを使用したSSHのアクセスは悪意のある人物の手にかかる(rm -r *を実行された場合を考える)と破壊的な上に追跡が困難な場合があります。SSH経由のユーザーの行動を記録し、それによる行動から保護するためには、通常、カスタム開発であったり、制限機能となるソフトウェアを展開する必要があります。Cloudflare Zero Trustの一部であるSSHコマンドのロギング機能を発表することができることを大変うれしく思っています。

SSHアクセスの安全性

SSHが悪意のある人物の手に渡ると悪影響を及ぼす可能性があることから、セキュリティチームは組織全体のSSHの安全性を確保することに多大な労力を費やすことを余儀なくされています。従来のSSHセキュリティは、証明書ベースの認証と同様の強力な認証と、誰が「root」のアクセス権を持つかの厳格な管理で構成されています。さらに、VPNとIP許可リストを使用することで、一般的なインターネットからのアクセスから機器を保護することができます。残るセキュリティの課題は、可視性と、水平方向への移動の可能性です。

遠隔地にある機器へのSSHコマンドはエンドツーエンドで暗号化されているため、特定の機器上で特定のユーザーによって何が実行されているかを確認することは不可能です。一般的に、ログは機器自体のログファイルでしか取得できないため、悪意のあるユーザーは他のコマンドを実行するのと同じようにログファイルを簡単に削除して、自分の痕跡を消すことができます。このようなログを外部のログ収集サービスに送信する解決策もありますが、この場合、SSHを使ってアクセスできるすべての機器に追加のソフトウェアをインストールする必要があります。ProxyJumpは、JumpHostモデルを展開する一般的な方法ですが、ユーザーがネットワーク内の機器にアクセスすると、機器が存在するローカルネットワークを簡単に横断できるため、この問題をさらに複雑にします。

SSHコマンドロギングの紹介

当社では、個々の機器上のソフトウェアに依存するのではなく、Cloudflare Zero TrustにSSHコマンドのロギングを組み込むことによって、ネットワーク層でのSSHの可視性を提供します。この機能の最初の顧客はCloudflareのセキュリティチームです。SSHコマンドのロギングを使用すると、複数の踏み台となるホストや要塞ホストを含む、SSHセッション中に実行されたすべてのコマンドを完全に再現することができます。これにより、事故や違反の疑い、攻撃を受けた際に、何が起こったかを明確に把握することができます。

SSHコマンドのロギングは、CloudflareのSecure Web Gatewayの拡張機能として構築されたものです。Secure Web Gatewayは、すでにユーザーデバイスから発信されたすべてのトラフィックの安全性に対するTLS検査を実行しています。現在、新規接続時にプロキシサーバーをブートストラップすることでSSH検査もサポートするようになりました。管理者は、SSHアクセスの許可と実行された特定のコマンドを監査する_ネットワークポリシー_を設定することができます。

そして、その機器はSSHアクセス用に公開され、Cloudflareのグローバルエッジネットワーク経由ですべてのSSHコマンドをプロキシします。すべてのコマンドは、機器とすべてのホストに複雑なロギングソフトウェアをインストールすることなく、自動的にキャプチャされます。また、TTYトラフィックも記録して後ですべてのセッションを再現することもできます。

Command logging configuration

また、セキュリティ対策として、Cloudflareが取得したすべてのログはお客様から提供された公開鍵を使用して直ちに暗号化され、許可されたセキュリティユーザのみがSSHコマンドを検査できるようにしています。さらに、FedRAMPに準拠したユーザーをサポートするために、オプトインのFIPS 140-2モードを搭載した本機能の提供を開始します。

すべてのユーザー認証は、 Cloudflare Short-Lived Certificatesを介して行われます。クライアント証明書がユーザーの機器に読み込まれると、SSHのセットアップが完了し、機密性が確保されます。これにより、面倒でややこしいSSHキーペアの管理が不要になります。つまり、エンドユーザーの端末で鍵の管理が不要になり、CloudflareルートCAさえあれば、ProxyJumpの使用も含め、どの機器にもアクセスできるようになります。

次は何を?

これはCloudflare Zero TrustにおけるSSHセキュリティのほんの始まりに過ぎません。将来的には、一般的なSIEMツールと統合し、特定のコマンドや危険な動作に対するアラートの提供を予定しています。

SSHコマンドのロギング機能はクローズドベータ版で、今後数週間のうちにユーザーへの開放を予定しています。一般提供開始を発表するまでのさらなるアップデートにご注目ください。

Cloudflareは企業ネットワーク全体を保護し、お客様がインターネット規模のアプリケーションを効率的に構築し、あらゆるWebサイトやインターネットアプリケーションを高速化し、DDoS攻撃を退けハッカーの侵入を防ぎゼロトラスト導入を推進できるようお手伝いしています。

ご使用のデバイスから1.1.1.1 にアクセスし、インターネットを高速化し安全性を高めるCloudflareの無料アプリをご利用ください。

より良いインターネットの構築支援という当社の使命について、詳しくはこちらをご覧ください。新たなキャリアの方向性を模索中の方は、当社の求人情報をご覧ください。
Security WeekSSH製品ニュースセキュリティCloudflare Zero Trustゼロトラスト

Xでフォロー

Ankur Aggarwal|@Encore_Encore
Eduardo Gomes|@ejllgomes
Kenny Johnson|@KennyJohnsonATX
Cloudflare|@cloudflare

関連ブログ投稿

2024年10月24日 13:00

Durable Objects aren't just durable, they're fast: a 10x speedup for Cloudflare Queues

Learn how we built Cloudflare Queues using our own Developer Platform and how it evolved to a geographically-distributed, horizontally-scalable architecture built on Durable Objects. Our new architecture supports over 10x more throughput and over 3x lower latency compared to the previous version....