Рекомендации по безопасному использованию Su
На этом заключительном шаге мы рассмотрим лучшие практики безопасного использования команды su. Соблюдение этих практик помогает минимизировать риски безопасности, при этом позволяя эффективно выполнять административные задачи.
Используйте Sudo вместо Su, когда это возможно
Команда sudo обычно считается более безопасной, чем su, потому что:
- Она позволяет более детально контролировать разрешения
- Она регистрирует команды, выполняемые с повышенными привилегиями
- Она не требует совместного использования пароля root
Пример использования sudo вместо su:
## Вместо:
su -
## Затем ввод команд от имени root
## Используйте:
sudo command
Попробуйте этот пример:
sudo ls /root
Это выполняет команду ls с привилегиями root, не переключаясь на пользователя root.
Настройте доступ Sudo правильно
Убедитесь, что sudo настроен правильно, чтобы предоставлять только необходимые привилегии:
sudo visudo
Это открывает файл sudoers в безопасном редакторе. Файл должен содержать записи, подобные:
## User privilege specification
root ALL=(ALL:ALL) ALL
## Members of the sudo group may gain root privileges
%sudo ALL=(ALL:ALL) ALL
Нажмите Ctrl+X, чтобы выйти, не внося изменений.
Ограничьте прямой вход в систему от имени Root
Не рекомендуется прямой вход в систему от имени root, особенно через SSH. Вместо этого пользователи должны входить в систему со своими обычными учетными записями и использовать su или sudo, когда это необходимо.
Проверьте, отключен ли прямой вход в систему от имени root через SSH:
grep "PermitRootLogin" /etc/ssh/sshd_config
Если это возвращает PermitRootLogin no, прямой вход в систему от имени root правильно отключен.
Реализуйте надежные политики паролей
Убедитесь, что пароль root и пароли пользователей с доступом su являются надежными:
sudo apt-get install -y libpam-pwquality
Это устанавливает модуль PAM для проверки качества паролей.
Настройте политики паролей, отредактировав конфигурацию PAM:
sudo nano /etc/pam.d/common-password
Найдите строку, содержащую pam_pwquality.so, и убедитесь, что она имеет соответствующие параметры, такие как:
password requisite pam_pwquality.so retry=3 minlen=12 difok=3
Нажмите Ctrl+X, чтобы выйти, не внося изменений, так как мы просто изучаем конфигурацию.
Регулярно проверяйте использование Su
Просматривайте журналы, чтобы отслеживать использование su:
sudo grep "su:" /var/log/auth.log | tail -n 10
Это показывает недавние попытки su, как успешные, так и неудачные.
Рассмотрите возможность настройки автоматических оповещений о нескольких неудачных попытках su, что может указывать на атаку.
Используйте Su с опцией тире
При использовании su для переключения на другого пользователя, особенно root, используйте опцию тире (-), чтобы получить чистую среду:
su - username
Это предоставляет оболочку входа с переменными среды целевого пользователя, что более безопасно и предотвращает потенциальные проблемы, вызванные наследованием среды исходного пользователя.
Практическое занятие - Безопасное использование Su
Давайте попрактикуемся в этих лучших практиках:
- Вместо использования
su - для получения прав root, а затем запуска команды, используйте sudo:
## Вместо:
## su -
## cat /etc/shadow
## Используйте:
sudo cat /etc/shadow
- Переключитесь на testuser с чистой средой:
su - testuser
- Выйдите обратно к своему исходному пользователю:
exit
- Проверьте журнал аутентификации на предмет использования su:
sudo grep "su:" /var/log/auth.log | tail -n 5
Следуя этим лучшим практикам, вы можете безопасно использовать команду su, минимизируя потенциальные риски безопасности для вашей системы.