Правило вхідної групи Amazon EC2 групи безпеки з динамічним IP


13

Я шукаю роз’яснення щодо того, що я бачу як потенційну проблему з групами безпеки EC2.

Я створюю групу безпеки для підключення до екземплярів Linux. Я створив правила "будь-де" для доступу до HTTP та HTTPS.

Що стосується мого правила SSH, підручник amazon говорить, що я повинен обмежувати вхідний доступ до своєї публічної IP-адреси .

  1. Що я не отримую - це наскільки це безпечно чи зручно, якщо ваша загальнодоступна IP-адреса динамічна?

  2. Моя IP-адреса динамічна, і що станеться, коли мій провайдер змінить свій публічний IP-адресу, і я більше не можу ввімкнути свій примірник?

Посилання на посібник із налаштування, який я використовую: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/get-set-up-for-amazon-ec2.html (крок 7 розділу "Створення групи безпеки "це те, що мені здається проблематичним)

Відповіді:


6

Що я не отримую - це наскільки це безпечно чи зручно, якщо ваша загальнодоступна IP-адреса динамічна?

Це рішення може працювати, якщо ваш IP-адрес не змінюється часто або якщо вам потрібен доступ лише на короткий час. Це додає додатковий рівень безпеки, оскільки SSH не піддається трафіку за межами поставленого вами CIDR.

Якщо конкретний CIDR не працює, ви можете спробувати застосувати чи більше діапазонів CIDR на платформі, які ваш Інтернет-провайдер, ймовірно, використовуватиме, це все одно обмежить доступ із великого відсотка Інтернету, і це виграш для безпеки.

що відбувається, коли мій провайдер змінює свій публічний IP-адресу, і я більше не можу вступити в свій примірник?

Ви можете увійти на консоль AWS або скористатися CLI для оновлення правила групи безпеки на льоту.

Ви можете написати сценарій, який безпосередньо взаємодіє з CLI. Це може бути настільки ж просто, як щось, що перевіряє наявність Port 22 ruleвашого поточного IP та оновлює його, якщо воно інше. Звичайно, запуск такого сценарію може викликати більше питань безпеки :)

Чи є IP-брандмауер найкращим способом захисту SSH?

Хоча приємно обмежувати ssh-трафік лише довіреними джерелами IP, де це практично, але ssh захищено - це використання приватних ключів та розумна конфігурація.

Основні елементи, які слід врахувати:

  • Додайте пароль до свого приватного ключа SSH
  • Вимкнути авторизацію пароля до SSH
  • Вимкнути логін root на SSH
  • Перевірте всі облікові записи користувачів для відкритих ключів SSH

Ви також можете зробити кілька речей, щоб позбутися від "шуму", пов'язаного з грубою атакою:

  • Запустити ssh на більш високому порті
  • Використовуйте таке програмне забезпечення, як fail2ban, яке динамічно записуватиме численні невдалі спроби та блокує діапазони IP протягом визначених періодів часу

4

Добре обмежувати доступ до вашого SSH-сервера за IP-адресою, але SSH для своєї безпеки не покладається на це. Якщо ви відключите вхід пароля ( PasswordAUthentication no) і використовуєте лише автентифікацію приватного ключа, ніхто не може зайти без вашого приватного ключа. Це безпечно.

Іншими словами, вам не потрібно турбуватися про правила брандмауера, якщо цього не хочете.


1
Вам доведеться турбуватися про націлену атаку на ваш локальний комп'ютер, щоб схопити ключовий файл, але якщо ви не працюєте з інформацією про охорону здоров'я / кредитну карту / уряд, шанси на це, ймовірно, мінімальні.
ceejayoz

3

Ви можете додати діапазон CIDR до групи безпеки, що представляє собою сукупність усіх IP-адрес, які ваш провайдер може виділити.

Або це, або використовуйте API AWS для динамічного оновлення групи безпеки.


3

Існує кілька останніх рішень цього старого питання:

Зсередини AWS: Як автоматично оновлювати групи безпеки для Amazon CloudFront та AWS WAF за допомогою AWS Lambda

Віддалене оновлення з динамічного джерела (скрипт node.js): aws-ec2-ssh-secgroup-update node script

Віддалене оновлення з динамічного джерела (сценарій Python): Автоматично додавати поточний загальнодоступний IP до групи безпеки, щоб дозволити трафік на конкретний порт


0

Ви можете використовувати команду aws_ipadd, щоб легко оновлювати та керувати правилами групи безпеки AWS та додавати в білий список ваші відкриті ip з портом щоразу, коли він змінюється.

$ aws_ipadd my_project_ssh
 Your IP 10.10.1.14/32 and Port 22 is whitelisted successfully.

$ aws_ipadd my_project_ssh
 Modifying existing rule...
 Removing old whitelisted IP '10.10.1.14/32'.
 Whitelisting new IP '10.4.10.16/32'.
 Rule successfully updated!

0

Ви можете використовувати AWS CLI для динамічного додавання / видалення правил доступу для SSH у групі безпеки. Існують методи авторизації-безпеки-групи-входу та відкликання-безпеки-групи-входу в API.

Нещодавно я опублікував повідомлення про це в блозі, якщо вам потрібно покрокове пояснення.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.