ACL Rangkaian berbanding Kumpulan Keselamatan
Bandingkan ACL Rangkaian tanpa keadaan dengan kumpulan keselamatan berkeadaan, dan ketahui masa yang sesuai untuk menggunakan setiap satunya bagi pertahanan rangkaian berlapis.
ACL Rangkaian berbanding Kumpulan Keselamatan ialah pelajaran AWS Solutions Architect percuma di CoddyKit. Ini ialah pelajaran 4 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran AWS Solutions Architect, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus AWS Solutions Architect merangkumi sejumlah 4 pelajaran.
Dua Lapisan Keselamatan Rangkaian
AWS menyediakan dua mekanisme tembok api yang berbeza dalam VPC. Security Groups beroperasi pada peringkat tikaian (secara teknikal pada peringkat ENI) dan mengekalkan keadaan. Senarai Kawalan Akses Rangkaian (NACL) beroperasi pada peringkat subnet dan tidak mengekalkan keadaan. Kedua-duanya dinilai untuk sebarang trafik yang masuk ke atau keluar dari subnet dan tikaian berkaitannya. Penggunaan kedua-duanya secara bersama menyediakan pertahanan mendalam: NACL sebagai lapisan pertama di sempadan subnet, dan kumpulan keselamatan sebagai tembok api bagi setiap tikaian. Peperiksaan SAA-C03 kerap membandingkan kedua-dua mekanisme ini.
NACL: Tembok Api Tanpa Keadaan pada Peringkat Subnet
Network ACL (NACL) ialah senarai bernombor yang mengandungi peraturan yang digunakan pada semua trafik yang merentasi sempadan subnet. NACL adalah tidak mengekalkan keadaan—setiap paket dinilai secara berasingan. Jika anda membenarkan TCP masuk pada port 80, anda mesti membenarkan trafik balasan keluar secara jelas (port sementara 1024-65535) supaya respons dapat keluar dari subnet. Peraturan dinilai mengikut susunan nombor (nombor terendah dahulu); peraturan pertama yang sepadan akan digunakan dan tiada peraturan seterusnya diperiksa. Setiap VPC disertakan dengan NACL lalai yang membenarkan semua trafik masuk dan keluar.
# Deny all traffic from a specific IP in the NACL
aws ec2 create-network-acl-entry \
--network-acl-id acl-12345678 \
--ingress \
--rule-number 90 \
--protocol tcp \
--cidr-block 203.0.113.10/32 \
--rule-action deny \
--port-range From=0,To=65535Penomboran dan Susunan Peraturan NACL
Peraturan NACL dinilai mengikut susunan nombor peraturan menaik (1 hingga 32766), dan penilaian berhenti sebaik sahaja sesuatu peraturan sepadan—peraturan Allow bernombor lebih rendah boleh ditindih oleh Deny yang bernombor lebih rendah lagi untuk trafik yang sama. AWS mengesyorkan penomboran peraturan dengan kenaikan 10 atau 100 supaya terdapat ruang untuk memasukkan peraturan kemudian. Setiap NACL berakhir dengan peraturan lalai (* DENY) yang menolak semua trafik yang tidak sepadan dengan mana-mana peraturan eksplisit. Peraturan tangkapan semua ini tidak boleh disunting atau dipadamkan.
# Example NACL ruleset:
# Rule 100: Allow HTTPS (443) from 0.0.0.0/0
# Rule 200: Allow HTTP (80) from 0.0.0.0/0
# Rule 300: Deny All from specific-bad-IP
# Rule *: Deny All from 0.0.0.0/0 (default, implicit)NACL Tanpa Keadaan: Port Sementara
Oleh sebab NACL tidak mengekalkan keadaan, anda mesti mengambil kira kedua-dua arah bagi setiap sambungan. Apabila klien di internet menyambung ke tikaian EC2 anda pada port 443, tikaian tersebut menghantar respons kembali ke port sementara klien (port tinggi rawak, biasanya 1024-65535 pada Linux dan 49152-65535 pada Windows). Peraturan keluar NACL anda mesti membenarkan julat ini secara jelas. Kesilapan konfigurasi NACL yang lazim ialah mencipta peraturan Allow untuk port masuk 443 tetapi terlupa membenarkan port sementara keluar—menyebabkan sambungan berjaya diwujudkan tetapi respons digugurkan secara senyap.
# NACL outbound rule allowing return traffic on ephemeral ports
aws ec2 create-network-acl-entry \
--network-acl-id acl-12345678 \
--egress \
--rule-number 100 \
--protocol tcp \
--cidr-block 0.0.0.0/0 \
--rule-action allow \
--port-range From=1024,To=65535Imbas Kembali Security Groups
Sebagai peringatan: security groups dilampirkan pada tikaian (atau ENI), hanya membenarkan peraturan Allow yang eksplisit (tiada Deny), mengekalkan keadaan (respons kepada trafik masuk yang dibenarkan secara automatik dibenarkan keluar tanpa peraturan), dan menilai semua peraturan yang dilampirkan bersama-sama menggunakan logik OR. Anda boleh merujuk ID kumpulan keselamatan lain sebagai sumber/destinasi, yang lebih mudah diselenggara berbanding julat IP. Kumpulan keselamatan ialah mekanisme utama untuk kawalan akses pada peringkat tikaian, manakala NACL menambah lapisan tambahan pada peringkat subnet.
Perbezaan Utama: NACL berbanding Security Groups
Perbandingan penting untuk peperiksaan:
- Aras: NACL = subnet; SG = tikaian (ENI)
- Keadaan: NACL = tidak mengekalkan keadaan; SG = mengekalkan keadaan
- Peraturan: NACL = Allow DAN Deny; SG = Allow sahaja (penolakan tersirat)
- Penilaian: NACL = mengikut susunan (padanan pertama menang); SG = semua peraturan dinilai (mana-mana Allow menang)
- Skop: NACL digunakan pada semua tikaian dalam subnet; SG hanya digunakan pada tikaian berkaitan
- Masuk/Keluar: NACL memerlukan peraturan eksplisit bagi kedua-dua arah; SG mengekalkan keadaan (hanya peraturan masuk diperlukan untuk respons)
Bila Hendak Menggunakan NACL
Gunakan NACL untuk: Menyekat IP tertentu (kumpulan keselamatan tidak boleh menolak—hanya membenarkan; NACL boleh menambahkan peraturan Deny eksplisit untuk menyekat IP berniat jahat atau pengikis yang diketahui). Peraturan seluruh subnet (gunakan peraturan yang sama pada semua tikaian dalam subnet tanpa mengubah kumpulan keselamatan individu). Lapisan pertahanan tambahan (jika salah konfigurasi kumpulan keselamatan membuka akses secara tidak sengaja, peraturan Deny NACL di sempadan subnet masih boleh menyekat trafik tersebut). Dalam amalan, kebanyakan pasukan mengurus akses terutamanya melalui kumpulan keselamatan dan menggunakan NACL hanya untuk penyekatan IP yang eksplisit.
NACL Lalai berbanding NACL Tersuai
NACL lalai (yang dicipta bersama setiap VPC) membenarkan semua trafik masuk dan keluar—ia mempunyai peraturan 100 Allow All Inbound dan 100 Allow All Outbound. Subnet yang tidak dikaitkan secara eksplisit dengan NACL tersuai akan menggunakan NACL lalai. Jika anda mencipta NACL tersuai, ia bermula hanya dengan peraturan Deny-All lalai (peraturan *), yang menyekat semua trafik sehingga anda menambahkan peraturan Allow eksplisit. Ini bermakna melampirkan NACL tersuai baharu pada subnet akan menyekat semua trafik serta-merta—pastikan anda menambahkan peraturan Allow sebelum mengaitkannya dengan subnet pengeluaran.
# Create a custom NACL (starts with DENY ALL)
aws ec2 create-network-acl --vpc-id vpc-12345678
# Associate it with a subnet
aws ec2 replace-network-acl-association \
--association-id aclassoc-12345678 \
--network-acl-id acl-custom-idSusunan Penilaian: NACL dan Security Groups
Bagi trafik masuk ke tikaian EC2: trafik terlebih dahulu melalui NACL di sempadan subnet (dinilai mengikut susunan peraturan). Jika NACL membenarkan trafik tersebut, trafik kemudiannya sampai ke kumpulan keselamatan pada tikaian—kumpulan keselamatan itu juga mesti membenarkannya. Kedua-duanya mesti membenarkan trafik tersebut sebelum ia boleh sampai ke tikaian. Bagi trafik keluar: kumpulan keselamatan dinilai dahulu (mengekalkan keadaan—benarkan jika trafik itu ialah respons kepada trafik masuk yang dibenarkan), kemudian NACL (tidak mengekalkan keadaan—mesti mempunyai Allow keluar yang eksplisit). Memahami susunan ini menjelaskan sebab peraturan trafik balasan keluar diperlukan untuk NACL yang tidak mengekalkan keadaan walaupun kumpulan keselamatan mengekalkan keadaan.
Penyelesaian Masalah dengan NACL
NACL sering menjadi punca masalah rangkaian yang sukar dikesan kerana sifatnya yang tidak mengekalkan keadaan. Gejala: sambungan berjaya diwujudkan tetapi data berhenti mengalir (peraturan port sementara keluar tiada); trafik sehala (peraturan masuk atau keluar terlupa); IP tertentu tidak dapat menyambung (peraturan Deny bernombor lebih rendah dipadankan sebelum peraturan Allow). Kaedah penyahpepijatan: gunakan VPC Flow Logs untuk melihat sama ada paket ialah ACCEPT atau REJECT pada peringkat NACL. Log aliran akan menunjukkan paket yang ditolak serta sumber/destinasinya, sekali gus membantu mengenal pasti peraturan yang tiada.
# Athena query to find NACL-rejected flows
SELECT sourceaddress, destinationaddress, destinationport, action
FROM vpc_flow_logs
WHERE action = 'REJECT'
AND interfaceid LIKE 'eni-%'
LIMIT 100;Seni Bina Keselamatan Berlapis
Corak yang disyorkan untuk keselamatan VPC berperingkat: NACLs pada subnet awam hanya membenarkan port 80, 443 dan port sementara yang diperlukan daripada internet; semua yang lain ditolak. Kumpulan keselamatan subnet awam pada ALB membenarkan port 80/443 daripada 0.0.0.0/0. Kumpulan keselamatan aplikasi persendirian hanya membenarkan trafik daripada ID kumpulan keselamatan ALB. Kumpulan keselamatan data persendirian hanya membenarkan trafik daripada ID kumpulan keselamatan aplikasi. Pertahanan berlapis ini memastikan bahawa walaupun satu lapisan tersalah konfigurasi, lapisan lain tetap memberikan perlindungan—prinsip yang dipanggil akses minimum pada setiap lapisan.
Semakan Pantas
Uji pemahaman anda tentang konsep AWS Solutions Architect (SAA-C03) daripada pelajaran ini.
Ulang Kaji Pelajaran
Dalam pelajaran ini, anda telah mempelajari bahawa: NACLs ialah tembok api tanpa keadaan pada peringkat subnet yang menyokong peraturan Benarkan dan Tolak yang dinilai mengikut susunan bernombor, kumpulan keselamatan ialah tembok api berkeadaan pada peringkat tika dengan peraturan Benarkan sahaja, yang semua peraturannya dinilai bersama, dan gunakan NACLs untuk menyekat IP secara jelas serta peraturan seluruh subnet, dan gunakan kumpulan keselamatan untuk kawalan akses tika yang terperinci. Modul Asas VPC ini telah selesai—seterusnya kita akan mendalami RDS dan Pangkalan Data Hubungan pada AWS.
Pelajari AWS Solutions Architect dengan tutor kecerdasan buatan — percuma
Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.
- Kursus
- 30
- Pelajaran
- 120
Soalan Lazim
Adakah pelajaran “ACL Rangkaian berbanding Kumpulan Keselamatan” percuma?
Ya — sebanyak 3 pelajaran dalam laluan pembelajaran AWS Solutions Architect, termasuk “ACL Rangkaian berbanding Kumpulan Keselamatan”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus AWS Solutions Architect merangkumi sejumlah 4 pelajaran.
Apakah yang akan saya pelajari dalam “ACL Rangkaian berbanding Kumpulan Keselamatan”?
Bandingkan ACL Rangkaian tanpa keadaan dengan kumpulan keselamatan berkeadaan, dan ketahui masa yang sesuai untuk menggunakan setiap satunya bagi pertahanan rangkaian berlapis. Anda berlatih AWS Solutions Architect menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.
Adakah saya memerlukan pengalaman untuk memulakan AWS Solutions Architect?
Tiada pengalaman terdahulu diperlukan. Pembelajaran AWS Solutions Architect di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 4 daripada 4.
Berapa lamakah pelajaran “ACL Rangkaian berbanding Kumpulan Keselamatan” diambil?
Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.
Bolehkah saya menulis dan menjalankan kod dalam pelajaran AWS Solutions Architect ini?
Ya. Setiap pelajaran AWS Solutions Architect menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.
Semua pelajaran dalam kursus ini
- Seni Bina VPC dan Blok CIDR
- Gerbang Internet dan Jadual Laluan
- Gerbang NAT dan Subnet Persendirian
- ACL Rangkaian berbanding Kumpulan Keselamatan