PuTTYを介してLinuxシステムにアクセスする必要がある状況があります。さまざまなSSHを試してみましたが、コンピュータに接続できませんでした。それから私の同僚が同じLinuxボックスにrootとしてアクセスしていることに気づき、私もrootとしてアクセスしたいと思いました。私は彼にrootとしてログインできるようにログアウトを要求しました。 LinuxオペレーティングシステムでSSHログイン数を制限する方法はありますか?これは、WindowsベースのオペレーティングシステムとLinuxベースのオペレーティングシステムを区別する一種のセキュリティ機能ですか?
答え1
/etc/security/limits.conf
次のように制限が設定されている可能性があります。
root hard maxlogins 1
必要に応じて、Limit(1)をより高い値に変更します。
答え2
はい、同時ログインセッションの数を制限できます。ただし、ほとんどのLinuxディストリビューションでは、デフォルト設定にこれらの制限を適用しません。
Linuxはマルチユーザーシステムとして設計されており、同じユーザーは通常、問題なく複数の同時SSHセッションを持っています。
SSHサーバーは、MaxSessions
構成ファイルのオプションを使用してこれらの制限を適用できます。 PAMを使用すると、他の人がすでに指摘したように、そのような制限を適用できます。
答え3
sshd
セッション数を制限するためにスタンドアロンデーモンを説得することは、脆弱性でいっぱいです。MaxSessions
OPが言う以上に制限するようなものです。sshd
すべての着信セッションをPAM経由でルーティングし、適切に設定されたPAMモジュールを使用して最初にlimit.confなどのエントリを検証するように正しく設定しない限り、Linux(FreeBSDでも同様)では無視されます。正しく動作させるのは難しいです。limits.conf
login.conf
一方、スタンドアロンデーモンで始まらない場合は、要求に応じてsshd
生成される「モノ」で調整機能を使用できます。sshd
たとえば、結合制限機能がinetd
ありますxinetd
(通常、デフォルトでは分岐された子孫の数に制限は適用されません)。クラシックではinetd
「max-child」と呼ばれます。 、を使って設定ノブをxinetd
見つけます。instances
たとえば、inetd
スタイルは次のようになります。
ssh stream tcp nowait/3 root /usr/sbin/sshd sshd -i -4
これにより、同時SSH接続の数が3に制限されます。
そう思う人のためにsystemd
機能を置き換えることができinetd
、サービスインスタンスの数を制限する方法があると思います。練習用に読者に任せてください(または詳細をコメントに追加してください!)。