Чего я не понимаю, так это того, насколько это безопасно или работоспособно, если ваш публичный IP-адрес динамический?
Это решение может сработать, если вы обнаружите, что ваш IP-адрес меняется не часто или вам нужен только короткий доступ. Это добавляет дополнительный уровень безопасности, поскольку SSH не подвергается трафику за пределами CIDR, который вы предоставляете.
Если определенный CIDR не работает, вы можете примерить или использовать несколько диапазонов CIDR на плате, которые, вероятно, будет использовать ваш интернет-провайдер, но это по-прежнему ограничит доступ к большому проценту Интернета, и это победа для безопасности.
что произойдет, когда мой провайдер изменит мой публичный IP-адрес, и я больше не смогу использовать ssh в своем экземпляре?
Вы можете войти в консоль AWS или использовать CLI для обновления правила группы безопасности на лету.
Вы можете написать скрипт, который напрямую взаимодействует с CLI. Это может быть так же просто, как то, что проверяет Port 22 rule
ваш текущий IP и обновляет его, если оно отличается. Конечно, запуск такого скрипта может вызвать больше вопросов безопасности :)
Является ли брандмауэр IP лучшим способом защиты SSH?
Хотя целесообразно ограничивать трафик ssh только надежными источниками IP, где это практически возможно, но безопасность ssh заключается в использовании закрытых ключей и разумной конфигурации.
Ключевые пункты для рассмотрения:
- Добавьте ключевую фразу в свой закрытый ключ SSH
- Отключить аутентификацию пароля к SSH
- Отключить root-вход в SSH
- Аудит всех учетных записей пользователей для открытых ключей SSH
Вы также можете сделать несколько вещей, чтобы избавиться от «шума», связанного с атаками грубой силы:
- Запустите SSH на более высоком порту
- Используйте программное обеспечение, например fail2ban, которое будет динамически регистрировать многочисленные неудачные попытки и блокировать диапазоны IP-адресов в течение указанных периодов времени.