Pelacakan koneksi grup EC2 keamanan Amazon - Amazon Elastic Compute Cloud

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Pelacakan koneksi grup EC2 keamanan Amazon

Grup keamanan Anda menggunakan pelacakan koneksi untuk melacak informasi tentang lalu lintas ke dan dari instans. Aturan-aturan diterapkan berdasarkan status koneksi lalu lintas untuk menentukan apakah lalu lintas diizinkan atau ditolak. Dengan pendekatan ini, grup keamanan berada dalam status stateful. Artinya tanggapan-tanggapan terhadap lalu lintas ke dalam diizinkan mengalir ke luar dari instans tanpa memedulikan aturan grup keamanan ke luar, dan sebaliknya.

Sebagai contoh, anggaplah bahwa Anda memulai perintah seperti netcat atau yang mirip dengan instans Anda dari komputer rumah Anda, dan aturan grup keamanan ke dalam Anda mengizinkan lalu lintas ICMP. Informasi tentang koneksi (termasuk informasi port) akan dilacak. Lalu lintas tanggapan dari instans untuk perintah tidak dilacak sebagai permintaan baru, tetapi sebagai koneksi yang telah terbentuk dan diizinkan untuk mengalir ke luar dari instans, meskipun aturan grup keamanan ke luar Anda membatasi lalu lintas ICMP ke luar.

Untuk protokol selain TCP, UDP, atau ICMP, hanya alamat IP dan nomor protokol saja yang dilacak. Jika instans Anda mengirimkan lalu lintas ke host lain, dan host tersebut mengirimkan jenis lalu lintas yang sama ke instans Anda dalam 600 detik, maka grup keamanan untuk instans Anda akan menerimanya terlepas dari aturan-aturan ke dalam grup keamanan tersebut. Grup keamanan tersebut menerimanya karena dianggap sebagai lalu lintas tanggapan untuk lalu lintas asli.

Ketika Anda mengubah aturan grup keamanan, koneksi-koneksi yang dilacak tidak akan langsung terputus. Grup keamanan akan tetap mengizinkan paket sampai koneksi yang ada waktunya habis. Untuk memastikan lalu lintas langsung terputus, atau bahwa semua lalu lintas tunduk pada aturan-aturan firewall tanpa memedulikan status pelacakan, Anda dapat menggunakan ACL jaringan untuk subnet Anda. Jaringan ACLs tidak memiliki kewarganegaraan dan oleh karena itu tidak secara otomatis mengizinkan lalu lintas respons. Menambahkan ACL jaringan yang memblokir lalu lintas di salah satu arah akan memutuskan koneksi yang ada. Untuk informasi selengkapnya, lihat ACLs Jaringan dalam Panduan Pengguna Amazon VPC.

catatan

Grup keamanan tidak berpengaruh pada lalu lintas DNS ke atau dari Route 53 Resolver, kadang-kadang disebut sebagai 'alamat IP VPC+2 '(lihat Apa itu Amazon Route 53 Resolver? di Panduan Pengembang Amazon Route 53), atau 'AmazonProvidedDNS' (lihat set opsi Bekerja dengan DHCP di Panduan Pengguna Amazon Virtual Private Cloud). Jika Anda ingin memfilter permintaan DNS melalui Route 53 Resolver, Anda dapat mengaktifkan Firewall DNS Route 53 Resolver (lihat Firewall DNS Route 53 Resolver di Panduan Developer Amazon RouteĀ 53).

Koneksi-koneksi yang tidak dilacak

Tidak semua aliran lalu lintas dilacak. Jika aturan grup keamanan mengizinkan aliran TCP atau UDP untuk semua lalu lintas (0.0.0.0/0 atau: :/0) dan ada aturan yang sesuai di arah lain yang mengizinkan semua lalu lintas respons (0.0.0.0/0 atau: :/0) untuk port apa pun (0-65535), maka arus lalu lintas itu tidak dilacak, kecuali itu adalah bagian dari koneksi yang dilacak secara otomatis. Lalu lintas tanggapan untuk aliran yang tidak dilacak akan diizinkan berdasarkan aturan-aturan ke dalam atau ke luar yang mengizinkan lalu lintas tanggapan, bukan berdasarkan informasi pelacakan.

Aliran lalu lintas yang tidak dilacak akan langsung diputus jika aturan yang memungkinkan aliran dihapus atau dimodifikasi. Sebagai contoh, jika Anda memiliki aturan ke luar (0.0.0.0/0) yang terbuka dan Anda menghapus aturan yang mengizinkan semua lalu lintas SSH ke dalam (0.0.0.0/0) (port TCP 22) ke instans (atau memodifikasinya sehingga koneksi tidak diizinkan lagi), maka koneksi SSH yang sudah ada pada instans tersebut akan langsung dibuang. Koneksi tersebut sebelumnya tidak dilacak, sehingga perubahan yang diterapkan akan memutus koneksi itu. Di sisi lain, jika Anda memiliki aturan ke dalam yang lebih sempit yang dari awal mengizinkan koneksi SSH (artinya koneksi dilacak), tetapi kemudian Anda mengubah aturan tersebut sehingga tidak lagi mengizinkan koneksi baru dari alamat klien SSH saat ini, maka koneksi SSH yang sudah ada tidak akan terputus karena koneksi itu sudah dilacak.

Koneksi-koneksi yang dilacak secara otomatis

Koneksi yang dilakukan melalui berikut ini secara otomatis dilacak, bahkan jika konfigurasi grup keamanan tidak memerlukan pelacakan:

  • Gateway internet khusus egress

  • Akselerator Global Accelerator

  • Gateway NAT

  • Titik akhir firewall Network Firewall

  • Penyeimbang Beban Jaringan

  • AWS PrivateLink (antarmuka titik akhir VPC)

  • AWS Lambda (Antarmuka jaringan elastis hyperplane)

Tunjangan pelacakan koneksi

Amazon EC2 mendefinisikan jumlah maksimum koneksi yang dapat dilacak per instance. Setelah jumlah maksimum tercapai, setiap paket yang dikirim atau diterima akan dihapus karena koneksi baru tidak dapat dibuat. Ketika ini terjadi, aplikasi-aplikasi yang mengirim dan menerima paket tidak akan dapat berkomunikasi dengan semestinya. Gunakan metrik performa jaringan conntrack_allowance_available untuk menentukan jumlah koneksi yang dilacak yang masih tersedia untuk tipe instans tersebut.

Untuk menentukan apakah paket sudah dihapus karena lalu lintas jaringan untuk instans Anda melebihi jumlah maksimum koneksi yang dapat dilacak, gunakan metrik performa jaringan conntrack_allowance_exceeded. Untuk informasi selengkapnya, lihat Pantau kinerja jaringan untuk pengaturan ENA pada EC2 instans Anda.

Dengan Penyeimbangan Beban Elastis, jika Anda melebihi jumlah maksimum koneksi yang dapat dilacak untuk setiap instans, kami merekomendasikan agar Anda menskalakan jumlah instans yang terdaftar dengan penyeimbang beban atau ukuran instans yang terdaftar dengan penyeimbang beban.

Pertimbangan kinerja pelacakan koneksi

Perutean asimetris, di mana lalu lintas masuk ke sebuah instance melalui satu antarmuka jaringan dan pergi melalui antarmuka jaringan yang berbeda, dapat mengurangi kinerja puncak yang dapat dicapai oleh instans jika arus dilacak.

Untuk mempertahankan kinerja puncak saat pelacakan koneksi diaktifkan untuk grup keamanan Anda, kami merekomendasikan konfigurasi berikut:

  • Hindari topologi routing asimetris, jika memungkinkan.

  • Alih-alih menggunakan grup keamanan untuk pemfilteran, gunakan jaringan ACLs.

  • Jika Anda harus menggunakan grup keamanan dengan pelacakan koneksi, konfigurasikan batas waktu pelacakan koneksi idle sesingkat mungkin. Untuk detail selengkapnya tentang batas waktu pelacakan koneksi idle, lihat bagian berikut.

Untuk informasi selengkapnya tentang penyetelan kinerja pada sistem Nitro, lihat. Pertimbangan sistem nitro untuk penyetelan kinerja

Waktu habis pelacakan koneksi idle

Grup keamanan melacak setiap koneksi yang dibuat untuk memastikan bahwa paket yang kembali dikirim seperti yang diharapkan. Ada jumlah maksimum koneksi yang dapat dilacak per instans. Koneksi yang tetap dalam keadaan idle dapat menyebabkan terbebaninya pelacakan koneksi dan menyebabkan koneksi tidak dilacak dan paket terputus. Anda sekarang dapat mengatur batas waktu untuk pelacakan koneksi pada antarmuka jaringan Elastis.

catatan

Fitur ini hanya tersedia dengan instans berbasis Nitro.

Ada tiga batas waktu yang dapat dikonfigurasi:

  • TCP menetapkan batas waktu: Batas waktu (dalam detik) untuk koneksi TCP idle dalam keadaan mapan. Min: 60 detik. Maks: 432000 detik (5 hari). Default: 432.000 detik. Direkomendasikan: Kurang dari 432000 detik.

  • Batas waktu UDP: Batas waktu (dalam detik) untuk alur UDP idle yang telah melihat lalu lintas hanya dalam satu arah atau transaksi permintaan-respons tunggal. Min: 30 detik. Maks: 60 detik. Default: 30 detik.

  • Batas waktu aliran UDP: Batas waktu (dalam detik) untuk alur UDP idle yang diklasifikasikan sebagai alur yang telah melihat lebih dari satu transaksi permintaan-respons. Min: 60 detik. Maks: 180 detik (3 menit). Default: 180 detik.

Anda mungkin ingin memodifikasi batas waktu default untuk salah satu kasus berikut:

  • Jika Anda memantau koneksi yang dilacak menggunakan metrik kinerja EC2 jaringan Amazon, metrik conntrack_allowance_exceeded dan conntrack_allowance_available memungkinkan Anda memantau paket yang terputus dan pemanfaatan koneksi yang dilacak untuk secara proaktif mengelola kapasitas instans dengan tindakan peningkatan atau penghentian untuk membantu memenuhi permintaan koneksi jaringan sebelum membatalkan paket. EC2 Jika Anda mengamati penurunan conntrack_allowance_exceeded pada EC2 instans Anda, Anda dapat memperoleh manfaat dari menyetel batas waktu yang ditetapkan TCP yang lebih rendah untuk memperhitungkan sesi TCP/UDP basi yang dihasilkan dari klien yang tidak tepat atau kotak tengah jaringan.

  • Biasanya, penyeimbang beban atau firewall memiliki batas waktu idle yang Ditetapkan TCP dalam kisaran 60 hingga 90 menit. Jika Anda menjalankan beban kerja yang diharapkan untuk menangani jumlah koneksi yang sangat tinggi (lebih dari 100k) dari peralatan seperti firewall jaringan, mengkonfigurasi batas waktu yang sama pada antarmuka EC2 jaringan disarankan.

  • Jika Anda menjalankan beban kerja yang menggunakan topologi perutean asimetris, kami sarankan Anda mengonfigurasi batas waktu idle yang ditetapkan TCP selama 60 detik.

  • Jika Anda menjalankan beban kerja dengan jumlah koneksi yang banyak seperti DNS, SIP, SNMP, Syslog, Radius, dan layanan lain yang utamanya menggunakan UDP untuk melayani permintaan, mengatur batas waktu 'aliran UDP' ke 60 detik akan memberikan skala/performa yang lebih tinggi untuk kapasitas yang ada serta untuk mencegah kegagalan gray.

  • UntukTCP/UDP connections through network load balancers (NLBs) and elastic load balancers (ELB), all connections are tracked. Idle timeout value for TCP flows is 350secs and UDP flows is 120 secs, and varies from interface level timeout values. You may want to configure timeouts at the network interface level to allow for more flexibility for timeout than the defaults for ELB/NLB.

Anda memiliki opsi untuk mengonfigurasi batas waktu pelacakan koneksi saat Anda melakukan hal berikut:

Contoh

Dalam contoh berikut, grup keamanan memiliki aturan ke dalam yang mengizinkan lalu lintas TCP dan ICMP, dan aturan ke luar yang mengizinkan semua lalu lintas ke luar.

Ke dalam
Tipe protokol Nomor port Sumber
TCP 22 (SSH) 203.0.113.1/32
TCP 80 (HTTP) 0.0.0.0/0
TCP 80 (HTTP) ::/0
ICMP Semua 0.0.0.0/0
Ke luar
Tipe protokol Nomor port Tujuan
Semua Semua 0.0.0.0/0
Semua Semua ::/0

Dengan koneksi jaringan langsung ke instans atau antarmuka jaringan, perilaku pelacakannya adalah sebagai berikut:

  • Lalu lintas TCP ke dalam dan ke luar pada port 22 (SSH) akan dilacak, karena aturan ke dalam hanya mengizinkan lalu lintas dari 203.0.113.1/32 saja, dan bukan semua alamat IP (0.0.0.0/0).

  • Lalu lintas TCP ke dalam dan ke luar pada port 80 (HTTP) tidak akan dilacak, karena aturan ke dalam dan ke luar mengizinkan lalu lintas dari semua alamat IP.

  • Lalu lintas ICMP selalu dilacak.

Jika Anda menghapus aturan keluar untuk IPv4 lalu lintas, semua lalu lintas masuk dan keluar dilacak, termasuk IPv4 lalu lintas pada port 80 (HTTP). Hal yang sama berlaku untuk IPv6 lalu lintas jika Anda menghapus aturan keluar untuk IPv6 lalu lintas.