Dinamik bir IP ile Amazon EC2 Güvenlik Grubu gelen kuralı


13

EC2 Güvenlik Grupları'nda potansiyel bir sorun olarak gördüğüm şey hakkında açıklama arıyorum.

Linux örneklerine bağlanmak için bir Güvenlik Grubu oluşturuyorum. HTTP ve HTTPS erişimi için "her yerde" kurallar oluşturdum.

SSH kuralım için, Amazon öğreticisi genel IP adresime gelen erişimi sınırlandırmam gerektiğini söylüyor .

  1. Anlamadığım şey, genel IP adresiniz dinamikse bu nasıl güvenli veya uygulanabilir?

  2. IP adresim dinamik, bu nedenle ISS'm genel IP adresimi değiştirdiğinde ve örneğime artık ssh yapamadığımda ne olur?

Kullandığım kurulum kılavuzuna bağlantı: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/get-set-up-for-amazon-ec2.html ('Güvenlik Grubu Oluşturma' nın 7. Adımı 'benim için sorunlu gözüküyor)

Yanıtlar:


6

Anlamadığım şey, genel IP adresiniz dinamikse bu nasıl güvenli veya uygulanabilir?

IP'nizin sık sık değişmediğini fark ederseniz veya yalnızca kısa bir süre için erişime ihtiyacınız varsa bu çözüm işe yarayabilir. SSH, sağladığınız CIDR dışındaki trafiğe maruz kalmadığı için ekstra bir güvenlik katmanı ekler.

Belirli bir CIDR çalışmazsa, ISS'nizin kullanması muhtemel olan CIDR aralıklarını veya daha fazlasını deneyebilirsiniz, bu yine de İnternet'in büyük bir yüzdesinden erişimi sınırlar ve bu bir güvenlik kazancıdır.

İSS'm genel IP adresimi değiştirdiğinde ve artık örneğimi ssh edemediğimde ne olur?

AWS Konsolu'na giriş yapabilir veya Güvenlik Grubu kuralını anında güncellemek için CLI'yi kullanabilirsiniz.

Doğrudan CLI ile etkileşime giren bir komut dosyası yazabilirsiniz. Port 22 ruleMevcut IP'nize karşı kontrol eden ve farklıysa güncelleyen bir şey kadar basit olabilir . Tabii ki böyle bir komut dosyası çalıştırmak daha fazla güvenlik sorusu doğurabilir :)

IP güvenlik duvarı SSH'yi korumanın en iyi yolu mudur?

Ssh trafiğini yalnızca pratik olduğunda güvenilir IP kaynaklarıyla sınırlamak güzel olsa da, ssh'yi güvenli kılan şey özel anahtarların ve makul yapılandırmaların kullanılmasıdır.

Dikkate alınması gereken temel öğeler:

  • SSH özel anahtarınıza bir parola ekleyin
  • SSH için şifre yetkisini devre dışı bırak
  • SSH'ye kök girişini devre dışı bırak
  • SSH genel anahtarları için tüm kullanıcı hesaplarını denetleme

Kaba kuvvet saldırılarıyla ilişkili 'gürültü'den kurtulmak için de birkaç şey yapabilirsiniz:

  • Daha yüksek bir bağlantı noktasında ssh komutunu çalıştırın
  • Çok sayıda başarısız denemeyi dinamik olarak kaydeden ve belirtilen zaman aralıkları için IP aralıklarını engelleyen fail2ban gibi yazılımlar kullanın

4

SSH sunucunuza erişimi IP adresiyle kısıtlamak iyidir, ancak SSH güvenliği için buna güvenmez. Şifre girişlerini ( PasswordAUthentication no) devre dışı bırakır ve yalnızca özel anahtar kimlik doğrulamasını kullanırsanız, özel anahtarınız olmadan kimse giremez. Güvenli.

Başka bir deyişle, istemiyorsanız güvenlik duvarı kuralları hakkında endişelenmenize gerek yoktur.


1
Anahtar dosyayı almak için yerel bilgisayarınızda hedefli bir saldırı hakkında endişelenmeniz gerekir, ancak sağlık / kredi kartı / hükümet verileriyle ilgilenen bir şey çalıştırmıyorsanız, bunun olasılığı muhtemelen minimumdur.
ceejayoz

3

Güvenlik grubuna, ISS'nizin size ayırabileceği tüm IP'lerin üst kümesini temsil eden bir CIDR aralığı ekleyebilirsiniz.

Ya bu, ya da güvenlik grubunuzu dinamik olarak güncellemek için AWS API'sini kullanın.



0

Aws_ipadd komutunu kullanarak AWS güvenlik grubu kurallarını kolayca güncelleyebilir ve yönetebilir ve her değiştiğinde genel IP'nizi port ile beyaz listeye ekleyebilirsiniz .

$ 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

Güvenlik grubunuzda SSH için erişim kurallarını dinamik olarak eklemek / kaldırmak için AWS CLI kullanabilirsiniz. Orada authorize-güvenlik-grup-giriş ve Revoke-güvenlik-grup-giriş API yöntemleri kullanılabilir.

Yakın zamanda adım adım bir açıklamaya ihtiyacınız olması durumunda bununla ilgili bir blog yayını yayınladım .

Doğru güvenlik grubunu ve IAM kullanıcılarını ayarladıktan sonra, aşağıdaki bash komut dosyalarını kullanarak SSH erişiminizi değiştirebilirsiniz:

bin / open_ssh

#!/bin/sh

source ./bin/.authorize_aws

WHITELISTED_IP=$(curl https://ifconfig.me 2> /dev/null)

echo "Opening SSH for ${WHITELISTED_IP}"

aws ec2 autorize-security-group-ingress \
--group-name ephemeral-ec2-ssh-access \
--region us-west-1 --protocol tcp --port 22 \
--cidr "${WHITELISTED_IP}/32" 2> /dev/null

unset AWS_ACCESS_KEY_ID
unset AWS_SECRET_ACCESS_KEY

bin / close_ssh

#!/bin/sh

source ./bin/.authorize_aws

WHITELISTED_IP=$(curl https://ifconfig.me 2> /dev/null)

echo "Closing SSH for ${WHITELISTED_IP}"

aws ec2 revoke-security-group-ingress \
--group-name ephemeral-ec2-ssh-access \
--region us-west-1 --protocol tcp --port 22 \
--cidr "${WHITELISTED_IP}/32" 2> /dev/null

unset AWS_ACCESS_KEY_ID
unset AWS_SECRET_ACCESS_KEY

1
Hedef siteye erişilemiyorsa veya kalıcı olarak çevrimdışı olursa, lütfen her zaman önemli bir bağlantının en alakalı kısmını belirtin. En Bir göz atabilirsiniz nasıl iyi bir cevap yazıyorsunuz?
Swisstone
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.