nologin dans / etc / shells est dangereux. POURQUOI?

21

J'ai trouvé cela sur Internet, en installant un serveur FTP dans FreeBSD.

Mettre nologin dans / etc / shells crée potentiellement une porte dérobée par laquelle ces comptes peuvent être utilisés avec FTP.

(voir: http://osdir.com/ml/freebsd-questions/2005-12/msg02392.html )

Quelqu'un peut-il expliquer pourquoi c'est? Et pourquoi prendre une copie du nologin et le mettre dans les / etc / shells résout ce problème?

RobAu
la source

Réponses:

23

/etc/shellscontient une liste de binaires que le système considère comme des shells (sans restriction). Cela signifie que tout utilisateur qui a configuré l'un de ces fichiers binaires comme shell est supposé avoir un accès complet au système (ce qui signifie qu'il peut exécuter n'importe quelle commande, à condition qu'il dispose des autorisations appropriées).

Le résultat le plus direct est qu'ils peuvent utiliser chshpour changer leur shell configuré.

Si un utilisateur a un shell configuré qui ne figure pas dans cette liste, le système suppose qu'il est en quelque sorte restreint. Dans ce cas, chshcela signifie que l'utilisateur ne peut pas modifier cette valeur.

D'autres programmes peuvent interroger cette liste et appliquer des restrictions similaires.

Donc , en mettant nologinen /etc/shellsvous dire effectivement « tout utilisateur qui a nologinsa coque est considéré comme un utilisateur complet, sans restriction ». C'est presque exactement le contraire de ce que l' nologin on voulait dire .

Joachim Sauer
la source
8

ftp ne fournit pas de shell standard, il fournit une interface ftp. Les utilisateurs qui ont un compte même si leur shell pointe vers nologin peuvent toujours accéder à l'interface ftp. De plus, ils pourront toujours accéder à tous les autres services que vous fournissez qui ne nécessitent pas également de shell (par exemple, si vous avez une interface Web http, etc. qui repose sur l'authentification du compte mais pas sur l'accès au shell). Ce n'est pas nécessairement une porte dérobée sur votre système, mais une porte dérobée sur les services.

Andrew Case
la source