GNU/Linux >> Linux の 問題 >  >> Linux

SSH構成の強化

この投稿はSSH構成の強化についてです

はじめに

SSHは、UNIXベースのシステムのリモート管理の標準ツールになりました。 SSHデーモン(sshd )は、デフォルトでほとんどすべての主要なシステムにインストールされています。さらに、sshd また、多くの構成オプションを提供します。

:この記事は、Lynisに関する以前のトピックの続きです。私はこれをそれ自体で読みやすくしようとしましたが。コンテキストを把握するために、前の記事を読むことを検討することをお勧めします。

opensshのデフォルト設定 (OpenBSDプロジェクトによって開発されたSSHのバージョン)は「デフォルトで安全」という哲学に従っているため、ほとんどの構成はそれ自体で安全です。ただし、lynis監査スキャンを実行すると、構成に関するいくつかの提案がありました。それでは、SSHデーモンをさらに強化するために、提案を確認してみましょう。また、それらの一部をオフ/オンにするとセキュリティが向上するかどうかについてもコメントします。

SSH構成の強化

提案には、sshdの変更が含まれます 構成。 sshdのデフォルトパスとして configは/etc/ssh/sshd_configです 、それが私たちが見るべき場所です。

TCPおよびエージェント転送

スクリーンショットからわかるように、lynis AllowTCPForwardingとAllowAgentForwardingをnoに設定することをお勧めします。必要なものだけを使用することをお勧めします。使用しない場合は、このオプションを無効にする必要があります。ただし、これを無効にしても、ユーザーがシェルアクセスを持っている場合はセキュリティが向上しません。その場合、ユーザーは独自のフォワーダーを設定できます(sshd_config(5)で指摘されています)。 マニュアルページ)。

ClientAliveCountMax

ClientAliveCountMaxとClientAliveIntervalは、2つの関連するオプションです。最大カウントに秒単位のクライアントアライブ間隔を掛けると、接続が応答しなくなった時期が決まります。これがセキュリティにどのように影響するかわかりません。おそらく、私はもっと研究をする必要があります。それでも、値を下げても問題はありません。

圧縮

SSHを使用すると、このオプションを使用して認証後に送信されるデータを圧縮できます。遅いモデムでは、圧縮によって接続速度が向上する場合があります。ただし、最近のほとんどのシステムでは、これを有効にしても効果はありません。さらに、このGitHubコメントで指摘されているように、BREACH攻撃を紹介する可能性もあります。したがって、lynis'を取り上げましょう。 提案。

LogLevel

sshd メッセージをjournaldに記録します ほとんどのGNU/Linuxディストリビューションではデフォルトで。このオプションは、ログに記録される詳細のレベルを制御します。 lynis これをINFOからVERBOSEに設定することをお勧めします。これは、トラブルシューティングなどに役立つ場合があります。sshd_config(5)のマニュアルページ ただし、より高いレベル(DEBUGなど)に設定すると、ユーザーのプライバシーが侵害される可能性があることを指摘します。したがって、この設定を調整してもセキュリティは実際には向上しません。

MaxAuthTries

この値は、接続ごとに許可する認証の試行回数を決定します。さらに、接続試行の失敗がこの値の半分に達すると、sshd 失敗のログ記録を開始します。エルゴ、この値を下げるのは理にかなっています。

MaxSessions

このオプションの値は、接続ごとに許可されるシェルセッションの数を指定します。 sshする必要はないと思います 1台のサーバーに複数回接続します。さらに、tmuxもあります これにより、複数のセッションを開かずに、必要な多重化を実行できます。したがって、この提案を採用することは理にかなっています。

ポート

この提案の私の解釈は、sshdを設定する必要があるということです 他の値へのリスニングポート。これは、デフォルトのポートで脆弱なマシンを探してインターネットをスキャンしているほとんどのボットネットから防御するのに役立ちます。ただし、ネットワークマッピングの基本(nmapなどのツール)を知っている人は誰でも )これは役に立たないことがわかります。それでも、デフォルト以外の値に設定しましょう。

TCPKeepAlive

このオプションをYESに設定すると、接続が切断されたときにサーバーが通知するのに役立ちます。そうすれば、セッションがサーバー上で無期限にハングすることはありません。したがって、このオプションを無効にしない方がよいと思います。

X11転送

ただし、ほとんどのssh セッションは、テキストベースのみを対象としています。ただし、opensshは、クライアントに表示されるサーバー上でGUIアプリケーションを開く機能も提供します。それが機能する方法は、Xサーバーがクライアントに戻るチャネルを開くことです。これに伴う問題は、X11がセキュリティを念頭に置いて設計されたことはないということです。これらは私たちによって実行されたため、すべてのプログラムが信頼されていることを前提としています。ただし、この回答が示すように、X11Forwardingを使用すると、サーバーはクライアントを制御できるため、クライアントでシェルコマンドを実行できます。したがって、この機能が必要ない場合は、この機能を有効にすることをお勧めします。

結論

いつものように、セキュリティは非常に複雑なトピックです。システムがいつ安全であるかを常に知ることはできません。さらに、セキュリティの外観は、セキュリティがない場合よりもさらに悪くなります。

この記事では、sshサーバーのセキュリティを向上させるのに役立つ可能性のある非常に小さな詳細も含めて、さまざまな構成について説明しました。ただし、いつものように、脅威モデルに従ってシステムを強化してください。

つまり、SSH構成の強化について知っています


Linux
  1. Ssh – Ssh / scp / sftpユーザーをディレクトリに制限しますか?

  2. Ssh – Sshdログ?

  3. SSH - ~/.ssh/config ファイルに -t コマンドを含める方法

  1. Magento2データベース構成ファイル

  2. SSHのトラブルシューティング

  3. SSH が唯一のアクセス モードであるマシンで SSH を再起動します。

  1. Linux で SSH 経由で X アプリケーションを実行できない

  2. Magento 2 Rabbitmq 構成

  3. 暗号化されたホームディレクトリを持つUbuntuシステムへのauthorized_keysを使用したSSH?