Saya tahu sejumlah alamat IP yang menyebabkan masalah dengan server saya, 172.64.*.*
apa cara terbaik untuk memblokir akses ke contoh Amazon EC2 saya? Apakah ada cara untuk melakukan ini menggunakan grup keamanan atau lebih baik melakukannya dengan firewall di server itu sendiri?
27
Jawaban:
Memblokir traffic pada server dan firewall jika memungkinkan, untuk berjaga-jaga.
Grup keamanan baik karena mereka eksternal untuk host Anda sehingga data tidak pernah mencapai Anda. Mereka tidak cukup dapat dikonfigurasi seperti kebanyakan firewall berbasis server sekalipun.
Sayangnya, grup keamanan EC2 hanya dapat "mengizinkan" layanan melalui kebijakan penolakan standar. Jadi, jika Anda mencoba memblokir akses ke layanan "yang diizinkan" untuk rentang IP kecil, membuat aturan izin untuk "sisa internet" sedikit lebih rumit daripada hanya memblokir rentang IP. Seperti yang Anda tentukan potongan besar yang bagus, daftar rentang jaringan tidak termasuk 172,64.0.0/16 tidak terlalu panjang:
Daftar ini perlu ditambahkan untuk port Anda. Kemudian Anda dapat menghapus aturan 'izinkan semua' untuk port itu. Jika Anda memiliki beberapa port yang ingin Anda lakukan untuk ini yang tidak berdekatan, daftar tersebut harus masuk berkali-kali. Jika Anda memiliki beberapa grup keamanan, ini dapat dengan cepat menjadi tidak terkelola.
Firewall secara lokal juga akan berfungsi.
iptables
tersedia di Amazon AMI default, dan semua distro linuxSetelah menambahkan aturan, Anda harus menyimpannya, dan memastikan
iptables
layanan dimulai saat boot.File konfigurasi untuk menyimpan akan bervariasi sesuai dengan distribusi.
Menggunakan VPC
Jika Anda menggunakan VPC untuk instance Anda, Anda dapat menentukan "Network ACLS" yang berfungsi pada subnet Anda. Jaringan ACL memungkinkan Anda untuk menulis izin dan menolak aturan, jadi saya sarankan melakukannya dengan cara ini.
sumber
iptables
tidak berfungsi jadi apakah Anda merujuk ke subnet besar memungkinkan di grup keamanan?Cara termudah untuk menghentikan lalu lintas adalah (dengan asumsi VPC sedang digunakan) dengan menambahkannya ke ACL Jaringan VPC dari contoh itu dan menolak semua lalu lintas dari Alamat IP itu.
Satu hal yang perlu diingat adalah nomor aturan deny harus kurang dari angka aturan pertama yang diizinkan.
sumber
Saya telah mengalami masalah dua kali dan menyadari bahwa situasi EC2 saya sedikit berbeda:
iptables
tidak berfungsi jika server Anda berada dalam kelompok di belakang penyeimbang beban elastis (ELB) - alamat IP yang diketahui oleh contoh ini adalah dari ELB.Jika ELB Anda terkonfigurasi dalam konfigurasi yang lebih modern, lihat jawaban SO ini: /programming/20123308/how-to-configure-aws-elb-to-block-certain-ip-addresses-known -pelaku
Dalam kasus kami, kami tidak memiliki hal-hal yang diatur dengan baik, jadi saya harus menggunakan Apache, yang dapat mencari
X-FORWARDED-FOR
header dan memblokir alamat IP dari itu.Tambahkan ini ke konfigurasi apache Anda (mungkin di blok VirtualHost):
Ini akan memeriksa tajuk yang diatur oleh ELB
Simpan konfigurasi, uji dengan
apache2ctl -t
untuk debian / ubuntu (atauapachectl -t
untuk RHEL), kemudian restart apache.Ini hanya mengirim
403 Forbidden
respons kembalisumber
Memblokir lalu lintas dari satu IP / rentang IP di AWS
Berikut ini adalah tutorial singkatnya : http://chopmo.dk/posts/2015/06/13/blocking-traffic-in-aws.html
sumber