17.13. Назначение разрешений для файлов ssh
Проблема
Файлам и ключам SSH должны быть назначены правильные, наиболее безопасные разрешения доступа, чтобы предотвратить несанкционированный доступ и утечки данных.
Решение
Для всех пользовательских учётных записей в каталоге ~/.ssh
важно применять следующие разрешения:
~/.ssh
— 700 (только владелец может читать, записывать и выполнять);~/.ssh/id_dsa
и другие закрытые ключи — 400 (только владелец может читать);~/.ssh/id_dsa.pub
и другие открытые ключи — 644 (владелец может читать и записывать, остальные — только читать);~/.ssh/ssh_config
— 644;~/.ssh/known_hosts
— 644;~/.ssh/authorized_hosts
— 644.
В системном каталоге /etc/ssh
рекомендуется назначить следующие разрешения:
/etc/ssh
— 755 (все могут просматривать, но записывать и выполнять только владелец и группа);/etc/ssh/sshd_config
— 644;/etc/ssh/ssh_config
— 644;/etc/ssh/ssh_host_dsa_key
и другие закрытые ключи — 400;/etc/ssh/ssh_host_dsa_key.pub
и другие открытые ключи — 644;/etc/ssh/moduli
— 644.
Эти настройки обеспечивают оптимальный баланс между безопасностью и доступностью. Закрытые ключи должны быть защищены от доступа сторонних пользователей, поскольку открытые ключи можно хранить в более открытом режиме, так как они не содержат конфиденциальной информации. Неправильные разрешения на закрытые ключи могут привести к компрометации безопасности, поэтому рекомендуется тщательно проверять настройки перед использованием.
Применение корректных разрешений позволяет избежать различных уязвимостей, таких как атаки на открытые порты SSH или несанкционированный доступ. Дополнительный способ повышения безопасности — использование таких опций, как ограничение доступа к SSH по IP-адресам и применение многофакторной аутентификации.
Следует также отметить, что при наличии нескольких пользователей или системных администраторов рекомендуется регулярно проверять разрешения и изменять их в случае необходимости. Например, если к системе добавляется новый пользователь, может потребоваться обновление разрешений или создание отдельных пользователей и групп для управления доступом к критически важным файлам.
При настройке SSH следует учесть, что другие конфигурационные файлы, такие как /etc/ssh/sshd_config
, содержат параметры, которые можно использовать для дальнейшей защиты, такие как запрет прямого входа с правами root и ограничение числа попыток входа.
В качестве дополнительной меры безопасности рекомендуется убедиться, что служба SSH обновлена до последней версии. Разработчики регулярно исправляют уязвимости, связанные с безопасностью, поэтому обновление может защитить от потенциальных угроз. Регулярные аудиты безопасности и проверка логов доступа помогут своевременно выявлять попытки несанкционированного доступа к системе.
Наконец, не забывайте про резервное копирование конфигурационных файлов и ключей. Это поможет восстановить доступ в случае потери данных или нарушения целостности файлов. При копировании резервных копий SSH-файлов обязательно следите за тем, чтобы сохранялись корректные разрешения, иначе при восстановлении может произойти сбой, и безопасность системы окажется под угрозой.
См. также
ssh(1), ssh(8).