web-dev-qa-db-ja.com

/ etc / shellsのnologinは危険です。なぜですか?

FreeBSDにFTPサーバーを設置しているときに、インターネットでこれを見つけました。

/ etc/shellsにnologinを配置すると、これらのアカウントをFTPで使用できるバックドアが作成される可能性があります。

(参照: http://osdir.com/ml/freebsd-questions/2005-12/msg02392.html

これがなぜであるか誰かが説明できますか?そして、なぜnologinのコピーを取り、それを/ etc/shellsに置くと、この問題が解決するのでしょうか。

21
RobAu

/etc/shellsには、システムが(無制限の)シェルと見なすバイナリのリストが含まれています。つまり、シェルとしてこれらのバイナリの1つを構成したユーザーは、システムへのフルアクセス権を持っていると見なされます(つまり、適切なアクセス許可があれば、任意のコマンドを実行できます)。

最も直接的な結果は、chshを使用してchange構成されたシェルを使用できることです。

ユーザーがこのリストでis n'tと設定されたシェルを持っている場合、システムは彼が何らかの形で制限されていると想定します。 chshの場合は、ユーザーができないでその値を変更することを意味します。

他のプログラムがそのリストを照会し、同様の制限を適用する場合があります。

したがって、nologin/etc/shells事実上、「シェルは完全な無制限のユーザーと見なされるため、nologinを持つすべてのユーザー」と言います。これは、ほぼ間違いなくnologinと言っていたの正反対です。

23
Joachim Sauer

ftpは標準のシェルを提供せず、ftpインターフェースを提供します。シェルがnologinをポイントしている場合でもアカウントを持つユーザーは、ftpインターフェースにアクセスできます。さらに、シェルを必要としない他のサービスにもアクセスできます(たとえば、アカウント認証に依存するがシェルアクセスに依存しないhttp Webインターフェイスなどがある場合)。これは必ずしもシステムへのバックドアではありませんが、サービスへのバックドアです。

8
Andrew Case