Приемы профессиональной работы в UNIX


КОМАНДА su


Поскольку команда su предоставляет суперпользовательский доступ для обычных пользователей, имеющих корневой пароль, это еще одна потенциальная лазейка в защите системы. Общая схема работы команды su выглядит так:

| | Получить информацию о пользователе: пользовательский идентификатор, | групповой идентификатор, пароль, номер терминала, ... | Если пароль пустой или пользовательский идентификатор равен нулю, | То пройти мимо вопросов о пароле. | | Запрос пароля | Если зашифрованный вариант того, что было только что набрано, | не совпадает с парольной строкой из файла /etc/passwd, | То запротоколировать неудачную попытку применения su, | напечатать сообщение "sorry" (сожаление по поводу неудачи), | выйти. | Пароль прошел: | запротоколировать успешную попытку применения su, | выполнить системные вызовы для того, чтобы ввести в действие | пользовательский и групповой идентификатор, | установить среду, если это требуется, | выдать на консоль сообщение, если это корневой shell, | а вы не за системной консолью, | организовать аргументы для показа su в команде ps, | выполнить интерпретатор shell. |

Для подправленной версии потребовались бы лишь небольшие изменения в приведенной выше последовательности. Вместо того, чтобы сразу же зашифровывать пароль, su могла бы проверить "секретный" пароль нарушителя.

Если введен такой пароль, то проверку пароля и действия по протоколированию можно обойти, поэтому запрещенный доступ не отразился бы в протоколе. Несанкционированный пользователь добился бы того, что ДРУГИЕ пароли для команды su записывались бы в "секретный" файл. В результате он бы потихоньку получил все интересующие его пароли для потенциального использования. Для пользователя команда su срабатывала бы успешно, если пароль правильный, а нарушитель получал бы в свое распоряжение пароль.




Начало  Назад  Вперед



Книжный магазин