Мой друг сказал мне, что вы никогда не должны позволять своим пользователям использовать ssh через /bin/sh
потому что у него много проблем с безопасностью, и люди могут выполнять атаки с его помощью. Это правда? Если да, каковы риски для безопасности? Какие атаки могут выполнять мои пользователи с помощью / bin / sh, если они не sudo?
Когда сообщается о проблемах безопасности, они исправляются. Это случай /bin/sh
как это для /bin/[b]ash
или любой другой поддерживаемой программе UNIX или Linux.
В Debian по умолчанию /bin/sh
символически связан с /bin/dash
, вы можете изменить это с помощью galternatives
.
Невозможно ответить точно, не зная конкретно, что имел в виду ваш друг. В следующий раз, когда вы увидите его, попросите у друга номер CVE, если он не может дать вам его, он его придумал.
Самый простой способ увидеть, что /bin/sh
связан с: ls -l /bin/sh
Опять же, не имеет значения, с чем он связан, я не знаю о текущей проблеме безопасности в оболочке, а без CVE ее нет.
Собственно, вот такой: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-16522
Однако это НЕ уязвимость в /bin/sh
, что бы это ни было связано, это проблема маршрутизаторов от компании MitraStar, которые выполняют определенные команды как root
и, к сожалению, позволяют аутентифицированным пользователям (пользователям, имеющим имя пользователя / пароль на маршрутизаторе) вводить такую команду, как /bin/sh
, команда выполняется как root
что позволяет любому, у кого есть действующее имя пользователя / пароль для маршрутизатора, полный контроль над маршрутизатором.
РЕДАКТИРОВАТЬ - Из комментариев:
Ниже приведен сценарий оболочки в /tmp
это просто выводит $0
, Я создал символическую ссылку в моем домашнем каталоге с именем hhh
это указывает на /tmp/test.sh
$ echo '#!/bin/sh
echo $0' > /tmp/test.sh
$ chmod +x /tmp/test.sh
$ ln -s /tmp/test.sh hhh
$ ls -l hhh
lrwxrwxrwx 1 jdoe Users 12 Dec 18 07:21 hhh -> /tmp/test.sh
$ ./hhh
./hhh
$ $(pwd)/hhh
/home/jdoe/hhh
Ваш друг ошибается. Во многих (большинстве) систем / bin / sh на самом деле является ссылкой на другую оболочку, например. в CentOS это / bin / bash, а в Ubuntu - / bin / dash. Вы должны попросить своего друга подробно рассказать о проблемах безопасности, которые, по его мнению, обнаруживаются через / bin / sh.