Permintaan sentiasa datang dalam bentuk yang sama: tutup IPsec di tepi kerana ia membawa terowong yang tidak diluluskan sesiapa, dan aduan pertama datang daripada seseorang yang telefonnya berhenti membuat panggilan melalui Wi-Fi. Kedua-dua fakta benar serentak, dan tiada satu pun yang membenarkan kawalan dilepaskan. Apa yang diperlukan oleh tembok api ialah pengecualian perkhidmatan dengan ciri bernama, sumber terbatas, destinasi terdokumentasi dan pemilik. Lima langkah menjadikannya peraturan yang boleh disemak oleh orang asing tahun depan.

Namakan perkhidmatan sebelum menamakan protokol

Telefon meja pada perkhidmatan SIP dan peranti yang menjalankan Wi-Fi Calling operator tidak berkongsi profil rangkaian, dan VoIP sebagai istilah tembok api tidak menerangkan kedua-duanya. Data port dan destinasi mesti datang daripada vendor atau operator yang mengendalikan perkhidmatan, bukan daripada senarai port yang diingati milik sistem telefon lain. Itulah perbezaan antara peraturan yang melindungi ciri dan peraturan yang melindungi perkataan.

Rujukan port perkhidmatan Apple menyenaraikan UDP 500 dan 4500 untuk Wi-Fi Calling, iaitu pasangan yang tepat yang dibuang oleh kebanyakan sekatan IPsec menyeluruh. Tulis nama ciri dalam rekod perubahan di sebelah port tersebut. Tambah versi atau tarikh rujukan yang anda gunakan, kerana jadual vendor diedit. Peraturan yang menamakan perkhidmatan yang menjadi sebab kewujudannya boleh disemak; yang menamakan kategori protokol tidak.

Tulis pengecualian sebagai kontrak, bukan bantuan

Pengecualian menyatakan ciri yang dibenarkan, kelas peranti yang menggunakannya, pengangkutan yang diperlukan dan destinasi yang didokumentasikan oleh pihak bertanggungjawab. Ia juga membawa pemilik dan tarikh semakan, kerana titik akhir operator dan model peranti berubah tanpa memberitahu pasukan tembok api. Berikan semakan kepada seseorang dan bukan nama pasukan yang akan hidup lebih lama daripada pasukan itu. Kekalkan rumusan cukup khusus supaya orang asing boleh memperoleh peraturan itu daripada rekod sahaja.

Letakkan pengecualian pada kitaran yang sama dengan dasar tepi yang lain, supaya operator yang memindahkan destinasi atau armada yang menukar model peranti diketahui semasa semakan dan bukan semasa gangguan seterusnya. Tutup gelung dengan orang yang melaporkan panggilan terputus, kerana hanya dia boleh mengesahkan pembaikan tanpa membuka semula terowong yang sepatutnya ditutup oleh sekatan itu. Pengesahan itu juga masuk ke dalam rekod, dengan tarikh.

Kebenaran kekal yang dilabel sebagai pembaikan telefon sementara tidak dapat dipertahankan dua tahun kemudian. Kebenaran yang terikat pada perkhidmatan yang dikenal pasti mempunyai tempoh luput yang diperbaharui dengan sengaja.

Hadkan sumber dengan jujur

Menghadkan pengecualian kepada segmen peranti terurus jauh lebih kuat daripada membuka protokol kepada setiap komputer riba di bangunan. Jika rangkaian tidak dapat mengenal pasti segmen itu, tuliskan perkara itu dan bukan memberi gambaran bahawa peraturan itu mengenali peranti. Hasil baik paling murah ialah menggunakan semula sempadan yang sudah wujud atas sebab lain, jadi pengecualian mewarisi kawalan dan bukan mencipta yang baharu. Penapisan mengikut alamat bukan pengesahan peranti, dan rekod perubahan tidak sepatutnya memberi gambaran sebaliknya.

Alamat sumber atau alamat perkakasan bukan bukti peranti fizikal. Sama ada salah satunya bermakna bergantung sepenuhnya pada kawalan lain di dalam segmen itu. Jika hujah untuk peraturan itu bergantung pada alamat MAC, semak apa yang menghalang pengguna daripada mengubahnya sebelum peraturan dikeluarkan.

Terima apa yang peraturan port tidak dapat beritahu

Port mengenal pasti titik akhir pengangkutan, bukan niat perniagaan. Apabila perkhidmatan panggilan yang diluluskan dan terowong yang tidak diluluskan kedua-duanya melalui UDP 4500 yang sama, tiada peraturan berasaskan port memisahkan mereka. Peraturan yang mendakwa berbuat demikian kelihatan tepat tetapi tidak, yang lebih buruk daripada peraturan yang mengakui bentuknya sendiri. Ini had mekanisme, bukan kesilapan penulisnya.

Sebut perkara itu di sebelah peraturan, dan pasangkan pengecualian dengan penguatkuasaan yang ada pada rangkaian, seperti pengurusan peranti atau senarai destinasi dibenarkan. Kemudian nyatakan pengecualian sesempit yang dibenarkan alat, contohnya dengan peraturan nftables yang menamakan segmen dan pasangan port serta meletakkan penolakan umum selepasnya:

nft add rule inet edge forward ip saddr 10.40.0.0/24 udp dport { 500, 4500 } counter accept
nft add rule inet edge forward udp dport { 500, 4500 } counter drop

nftables menilai mengikut urutan dan berhenti pada padanan pertama, jadi kebenaran terhad mesti berada di atas penolakan umum. Balikkan kedua-duanya dan pengecualian itu diam-diam tidak melakukan apa-apa.

Sahkan ciri dan penolakan

Jalankan pengesahan yang diluluskan pada panggilan Wi-Fi biasa, daripada kelas peranti yang menjadi sebab pengecualian, dan sahkan bahawa klien yang dikecualikan masih gagal. Jangan sekali-kali menggunakan panggilan kecemasan sebagai kes ujian dalam apa jua keadaan. Kemudian periksa peraturan yang dikeluarkan, kerana pembilang yang tersekat pada sifar ialah bukti terpantas bahawa pengecualian itu tidak pernah padan:

nft -a list chain inet edge forward

Sertakan penyambungan semula atau perubahan rangkaian dalam ujian, dan ulangi daripada permulaan sejuk dengan telefon menyertai rangkaian dan bukan sudah bersambung. Jika pembilang bergerak sementara panggilan masih gagal, masalah itu telah meninggalkan tembok api dan tergolong dalam senarai destinasi operator.

Artikel berkaitan