Какова Ваша модель угрозы?
Хороший парень случайно уничтожает репозиторий мерзавца или другие данные: Удостоверьтесь, что Ваши пользователи могут только записать в свой homedir, tmp и репозиторий мерзавца. Создайте резервную копию репозитория после каждой фиксации и процедур восстановления практики регулярно.
Плохой парень крадет чей-то закрытый ключ и хочет владеть Вашей системой: Ваша поверхность атаки ограничена частями sshd, защищенного аутентификацией - и безотносительно интерфейса оболочки, который Вы используете, поэтому сделайте его как можно меньше. Обертки Python/Ruby включают много кода и много места для ошибок. Используйте оболочку мерзавца или рассмотрите использование директив Соответствия и ChrootDirectory в sshd_config для ограничения, к каким частям файловой системы пользователи могут получить доступ.
Плохой парень крадет чей-то закрытый ключ и получает Ваш исходный код: Учите пользователей, как защитить их закрытые ключи и установить порядки для отмены ключей быстро (например, кто звонить в 4:00, чтобы отменить ключи).
Не использовать .ssh/authorized_keys
, вместо этого используйте AuthorizedKeyfile
ключевое слово в sshd_config для определения пути было пользователями, не имеют доступа для записи, например. /etc/ssh/keys/%u
. Слишком трудно удостовериться, что пользователи никогда не будут мочь перезаписать .ssh/authorized_keys со своей собственной копией.
Кроме того, сохраните пользовательские файлы ключей и sshd_config управляемыми версией для разрешения аудитов.
Совет в основном неизменен от установок public-IPv4-subnet-behind-Firewall, которые мы имели в пространстве.EDU с начала коммерческого Интернета. Так как ранние.EDU выделения подсети были довольно щедры (моя старая работа имеет IPv4 / 16 выделений, и я знаю другого учреждения наш размер, который имеет/16 и другой/18 в придачу), эти учреждения имеют глубокий опыт при защите публично routeable IP-адресов позади брандмауэров. Heck, та установка была тем, что имели в виду исходные создатели IP.
Принципы (из памяти):
Короткий список, я знаю. Но основной принцип брандмауэра, возвращающийся 20 лет, является тем же: предоставьте доступ только к тем комбинациям IP:port, которые Вы хотите разрешить, отклонить все остальное.
Если Ваши правила до настоящего времени состояли из "только трафика, инициируемого внутренне" (NAT) за некоторыми исключениями для опубликованных сервисов (перенаправление портов), можно придерживаться этого и просто передать его IPv6.
Вы будете иметь дополнительные последствия с туннелированием и возможностями шифрования, которые идут с v6, к которому Вы захотите обратиться, но в целом, все, что относилось к v4, действительно все еще относится к v6. Рекомендуемое чтение: Создание интернет-Брандмауэров (Zwicky, Бондарь, Коробейник).
В дополнение к ответам здесь, необходимо проверить RFC 4890, который обрисовывает в общих чертах большую информацию, которую необходимо понять о ICMP6 через брандмауэры. Также посмотрите Информационный Центр Google IPv6