Aturan masuk Grup Keamanan Amazon EC2 dengan IP dinamis

12

Saya mencari klarifikasi tentang apa yang saya lihat sebagai masalah potensial dengan EC2 Security Groups.

Saya menyiapkan Grup Keamanan untuk menghubungkan ke contoh linux. Saya telah membuat aturan "di mana saja" untuk akses HTTP dan HTTPS.

Untuk aturan SSH saya, tutorial amazon mengatakan saya harus membatasi akses masuk ke alamat IP publik saya .

  1. Yang tidak saya dapatkan adalah bagaimana itu aman atau bisa diterapkan jika alamat IP publik Anda dinamis?

  2. Alamat IP saya dinamis, jadi apa yang terjadi ketika ISP saya mengubah IP publik saya dan saya tidak bisa lagi ssh menjadi contoh saya?

Tautan ke panduan penyiapan yang saya gunakan: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/get-set-up-up-up-for-amazon-ec2.html (Langkah 7 dari 'Buat Grup Keamanan 'Apa yang tampaknya bermasalah bagi saya)

Will Byrne
sumber

Jawaban:

6

Yang tidak saya dapatkan adalah bagaimana itu aman atau bisa diterapkan jika alamat IP publik Anda dinamis?

Solusi ini dapat berfungsi jika Anda menemukan IP Anda tidak sering berubah, atau jika Anda hanya perlu akses untuk waktu yang singkat. Itu menambahkan lapisan keamanan tambahan karena SSH tidak terkena lalu lintas di luar CIDR yang Anda berikan.

Jika CIDR tertentu tidak berfungsi, Anda dapat mencoba atau lebih rentang CIDR board yang kemungkinan ISP Anda gunakan, ini masih akan membatasi akses dari sebagian besar Internet, dan itu merupakan kemenangan untuk keamanan.

apa yang terjadi ketika ISP saya mengubah IP publik saya dan saya tidak bisa lagi ssh menjadi contoh saya?

Anda dapat masuk ke Konsol AWS, atau menggunakan CLI untuk memperbarui aturan Grup Keamanan saat itu juga.

Anda bisa menulis skrip yang berinteraksi dengan CLI secara langsung. Ini bisa sesederhana sesuatu yang memeriksa Port 22 ruleIP Anda saat ini dan memperbaruinya jika berbeda. Tentu saja menjalankan skrip seperti itu dapat menimbulkan lebih banyak pertanyaan keamanan itu sendiri :)

Apakah IP firewall adalah cara terbaik untuk mengamankan SSH?

Meskipun bagus untuk membatasi lalu lintas ssh hanya untuk sumber IP tepercaya di mana praktis, hal yang membuat ssh aman adalah penggunaan kunci pribadi dan konfigurasi yang masuk akal.

Barang-barang utama untuk dipertimbangkan:

  • Tambahkan frasa sandi ke kunci pribadi SSH Anda
  • Nonaktifkan auth kata sandi ke SSH
  • Nonaktifkan login root ke SSH
  • Audit semua akun pengguna untuk kunci publik SSH

Anda juga bisa melakukan beberapa hal untuk menghilangkan 'noise' yang terkait dengan serangan brute force:

  • Jalankan ssh pada port yang lebih tinggi
  • Gunakan perangkat lunak seperti fail2ban yang secara dinamis akan mencatat berbagai upaya yang gagal dan memblokir rentang IP untuk periode waktu tertentu
Drew Khoury
sumber
4

Tidak apa-apa untuk membatasi akses ke server SSH Anda dengan alamat IP, tetapi SSH tidak bergantung pada itu untuk keamanannya. Jika Anda menonaktifkan login kata sandi ( PasswordAUthentication no) dan hanya menggunakan otentikasi kunci pribadi, tidak ada yang bisa masuk tanpa kunci pribadi Anda. Itu aman.

Jadi dengan kata lain, Anda tidak perlu khawatir tentang aturan firewall jika Anda tidak mau.

Andrew Schulman
sumber
1
Anda harus khawatir tentang serangan yang ditargetkan pada komputer lokal Anda untuk mengambil file kunci, tetapi jika Anda tidak menjalankan sesuatu yang berhubungan dengan data layanan kesehatan / kartu kredit / pemerintah kemungkinan kemungkinan kecil.
ceejayoz
3

Anda dapat menambahkan rentang CIDR ke grup keamanan yang mewakili superset dari semua IP yang dapat dialokasikan oleh ISP Anda untuk Anda.

Entah itu, atau gunakan AWS API untuk memperbarui grup keamanan Anda secara dinamis.

dmourati
sumber
3

Ada beberapa solusi terbaru untuk pertanyaan lama ini:

Dari dalam AWS: Cara Memperbarui Grup Keamanan Anda secara Otomatis untuk Amazon CloudFront dan AWS WAF dengan Menggunakan AWS Lambda

Pembaruan jauh dari sumber dinamis (skrip node.js): skrip aws-ec2-ssh-secgroup-update

Pembaruan jarak jauh dari sumber dinamis (skrip Python): Secara otomatis menambahkan IP publik saat ini ke Grup Keamanan untuk memungkinkan lalu lintas di port tertentu

Ville
sumber
0

Anda dapat menggunakan perintah aws_ipadd untuk dengan mudah memperbarui dan Mengelola aturan grup keamanan AWS dan membuat daftar putih ip publik Anda dengan porta setiap kali diubah.

$ 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!
Piyush Sonigra
sumber