
Generasi baru firewall lebih nyaman dan aman berkat arsitektur engine baru dan ideologi baru untuk mengelola aliran jaringan.
Mengapa artikel ini muncul?
Berulang kali datang ke sesama pekerja keamanan yang menggunakan generasi baru firewall dan melihat bahwa mereka terus menulis aturan tentang nomor port. Atas saran saya untuk terus menulis dengan nama aplikasi, saya mendengar "Bagaimana jika itu tidak berfungsi seperti itu?" Jika Anda juga "takut" atau tidak jelas mengapa harus menulis aturan untuk aplikasi, artikel ini untuk Anda.
Awal artikel dengan referensi
Bagian 1. Dasar-dasar firewallBagian 2. Dampak Keselamatan dari L7 FIREWALL
Isi
L7 firewall memeriksa isi bidang data, L4 firewall noAplikasi telah berubah - ubah firewall AndaCara kerja deteksi lalu lintasL7 Firewall lebih nyamanL7 Firewall lebih amanMasalah baru apa yang menciptakan pendekatan baru dalam penulisan aturan untuk L7Keterbatasan Teknologi Analisis Level 7KesimpulanVotingL7 firewall memeriksa isi bidang data, L4 firewall no
Masalah utama yang kami perjuangkan adalah sekarang program-program tersebut ditulis segera sehingga mereka mem-bypass perlindungan firewall L4.
Jika seseorang meletakkan Skype, maka dia tidak ingin memanggil administrator sistem dan memohon untuk membuka port yang dia butuhkan di firewall - dia ingin Skype segera menyalakan "hijau." Pemrogram tahu bahwa sering ada proxy HTTP di jaringan atau port 80 terbuka untuk HTTP, port 53 untuk DNS, port 123 untuk NTP, dan kadang-kadang untuk karyawan dari dalam ke luar ke Internet, semuanya terbuka dan Anda dapat menggunakan koneksi yang diizinkan ini sesuai.

Pengembang memiliki istilah Pengalaman Pengguna - setelah instalasi, klien terbakar dalam warna hijau Skype = klien senang. Dan fakta bahwa Skype melewati perimeter perusahaan secara ilegal melalui koneksi yang terbuka untuk browser hanya pada port TCP / 80 dan 443 - firewall L4 mengabaikan, karena bukan tugasnya untuk melihat isi paket - hanya header yang penting baginya.
Masalah firewall L4: port-hopping (tunneling)

Tunneling aplikasi yang tidak sah dalam koneksi yang diizinkan adalah gambaran standar dalam jaringan modern. Secara alami, peretas menggunakan trik yang sama: mereka membuat terowongan di koneksi yang diizinkan. Dan penjaga keamanan bahkan tidak tahu.
Contoh Terowongan TCP-Lebih-DNS

Dari paket lalu lintas yang dikumpulkan dalam gambar, jelas bahwa ada koneksi pada port TCP ke-53, yang biasanya dianggap sebagai operasi protokol DNS. Namun, jika Anda melihat lebih dekat, Anda dapat melihat bahwa di bidang Teks dari protokol DNS ada beberapa jenis teks terenkripsi. Ini adalah implementasi dari terowongan TCP-Over-DNS, yang sering saya lihat di jaringan perusahaan. Di sebelah kiri adalah daftar terowongan lain yang dapat digunakan oleh pengguna atau peretas. Apakah L4 firewall memberikan informasi seperti itu? Tidak. Karena itu, jika Anda perlu melindungi perusahaan dari terowongan yang tidak sah, maka Anda perlu menganalisis konten data yang dikirim dan menggunakannya untuk menganalisis aplikasi mana yang saat ini menggunakan koneksi TCP ini.
Aplikasi telah berubah - ubah firewall Anda

Dunia telah berubah dan hari ini menentukan aplikasi berdasarkan nomor port tidak cukup. Ya, 20 tahun yang lalu kami sepakat bahwa jika 80 ditulis di bidang Port, maka ini adalah HTTP, jika 53, maka ini adalah DNS, tetapi sekarang tidak demikian!
Penting untuk menganalisis isi dari data yang dikirimkan dan bagi mereka untuk menganalisis aplikasi mana yang saat ini menggunakan koneksi TCP ini.
Pergi ke
database aplikasi
applipedia.paloaltonetworks.com . Lihat berapa banyak aplikasi yang menggunakan port 80 dan 443.
Sebuah contoh
Aplikasi menggunakan port 80

Masalah dengan banyak fitur keamanan adalah mengabaikan aplikasi pada port non-standar.

Memindahkan aplikasi standar ke port non-standar juga memungkinkan penyerang keluar dari kendali. Kontrol ini hanya mengembalikan perangkat yang menganalisis konten semua lalu lintas, dan bukan hanya header.
Cara kerja deteksi lalu lintas
Salah satu tugas analisis aplikasi adalah untuk mendeteksi lalu lintas aplikasi yang dibuat khusus sehingga koneksi mereka tidak terlihat. Ambil contoh Skype. Orang yang telah belajar membedakan paket UDP terenkripsi Skype dari paket UDP terenkripsi lainnya adalah orang yang sangat baik.
Ada juga kelas perangkat yang dapat melakukan ini: Deep Packet Inspection (selanjutnya disebut DPI). Perangkat seperti ini sekarang dengan penyedia besar dan memungkinkan Anda untuk memanipulasi lalu lintas aplikasi: menerapkan QoS atau mengarahkan ke arah yang benar. Terkadang NGFW dan DPI dibandingkan. Perbedaan: DPI dirancang untuk mengontrol kualitas lalu lintas, dan keamanan NGFW, meskipun NGFW juga memiliki fitur QoS.
Metode untuk mendeteksi aplikasi dalam lalu lintas berbeda.
- Jika Anda perlu menemukan aplikasi yang tidak menyembunyikan dirinya dalam lalu lintas, seperti HTTP, maka cukup menggunakan pencarian biasa untuk pola atau tanda tangan yang sesuai. Dan ini aktif digunakan oleh produsen. Ini yang paling mudah.
- Jika Anda perlu menemukan aplikasi yang sengaja menyembunyikan dirinya , misalnya, TOR, maka Anda memerlukan serangkaian metode untuk menganalisis statistik paket dan perilaku paket. Ini sulit, memerlukan laboratorium penelitian, yang juga perlu melacak perubahan protokol dalam waktu dan menerapkan algoritma pencarian baru. Upaya saya untuk mendapatkan setidaknya satu pengembang untuk mengetahui bagaimana algoritma ini bekerja, menemukan jawaban bahwa ini semua adalah kekayaan intelektual.
Kebetulan aplikasi telah mengubah algoritma operasi, dan mesin DPI atau NGFW belum berhasil berubah. Misalnya, Telegram terkadang berubah karena sedang diburu. Positif palsu terjadi. Ini penting untuk diverifikasi. Dengan demikian, perangkat dan NGFW dan DPI berbeda terutama dalam jumlah dan kualitas deteksi aplikasi. Inilah satu-satunya metode: menempatkan NGFW di lalu lintas Anda dan lihat. Jika kita berbicara tentang perimeter, lalu lintas paling kompleks yang saya lihat berisi 715 aplikasi berbeda per bulan. Rata-rata, 200-300 aplikasi dari berbagai jenis melewati perimeter. Dalam visualisasi lalu lintas aplikasi ini, Anda dapat melihat ini: arahkan mouse ke setiap lingkaran:
http://researchcenter.paloaltonetworks.com/app-usage-risk-report-visualization/

Ada ribuan aplikasi dalam database aplikasi, jadi pada dasarnya menganalisis format dan algoritma dari setiap aplikasi adalah pekerjaan yang panjang dan melelahkan bagi para analis. Setelah kami memahami cara kerja aplikasi, programmer mulai bekerja, yang mengimplementasikan penemuan aplikasi oleh traffic. Dan beberapa ribu aplikasi ini terus berubah. Oleh karena itu, produk harus terus didukung, mempelajari aplikasi baru dan memantau perubahan yang lama dan menambahkan detektor yang dimodifikasi ke database. Basis data semua aplikasi yang memungkinkan menghasilkan lalu lintas dapat
ditemukan di sini .
Terkadang vendor firewall L7 mencoba untuk mengukur jumlah aplikasi yang mereka miliki dalam database, tetapi ini lebih seperti kata-kata kotor. Dengan menghidupkan pemikiran kritis, Anda memahami bahwa pada kenyataannya Anda hanya perlu mendeteksi aplikasi pada batas (rata-rata, di wilayah 300 aplikasi yang berbeda), di pusat data (10-15 buah), di jaringan ICS / SCADA (2-3 aplikasi), antara internal segmen (mungkin hanya beberapa lusin). Dan jika Anda ditawari untuk mendeteksi ribuan aplikasi - ini hanya pemasaran dan pendeteksian beberapa aplikasi tidak dikenal yang tidak ada yang menggunakan.
Contoh aplikasi di jaringan perusahaan:
Segmentasi internal dalam perusahaan adalah persyaratan standar keamanan informasi yang konstan yang hampir tidak ada yang memenuhi. Antara segmen di mana programmer, pemodal, SDM dan akuntansi duduk, aplikasi juga berjalan. Minimal, Anda perlu mengontrol jaringan Windows (protokol SMB), ini menjadi sangat jelas setelah epidemi cryptoclocker WannaCry, yang didistribusikan melalui SMB. Artinya, jaringan internal juga perlu analisis aplikasi level 7 dan metode terkait untuk mencari kode berbahaya di kotak pasir dan IPS, dan setidaknya mengendalikan jenis file yang ditransfer.
Masalah paling umum yang terlihat dalam jaringan: firewall seharusnya level 7, tetapi pada kenyataannya mendeteksi aplikasi dengan port. Bagaimana cara memeriksanya?
- Untuk pengujian, gantung server FTP pada port 25. Jika perangkat salah dan mengatakan bahwa itu adalah protokol SMTP, maka ini jelas bukan firewall L7.
- Atau coba tulis aturan untuk dua aplikasi berbeda yang menggunakan port yang sama. Buat aturan yang berbeda untuk mereka: di satu blok file exe, di yang lain, izinkan. Jika ternyata dilakukan, itu berarti kebenaran adalah analisis aplikasi (bukan nomor port) terlebih dahulu, dan kemudian bekerja dengan kontennya: memblokir file, memeriksa tanda tangan virus, memeriksa tanda tangan IPS dan sebagainya.
- Tes lain yang menarik untuk NGFW adalah ketika Anda perlu membuat dua aplikasi L7 khusus dengan properti berbeda pada alamat IP yang sama. Ini tidak bisa L4 firewall, tetapi bisa L7 firewall. Deskripsi lengkap dan uji sendiri di sini: http://basic.ngfw-test.com/
Di Rusia, masih penting bahwa firewall mengetahui lalu lintas aplikasi Rusia: 1C, Odnoklassniki, Yandex.Disk, mail.ru, bagaimana pembaruan Anti-Virus Kaspersky terlihat, dan sebagainya. Ini juga merupakan komponen penemuan aplikasi penting yang harus Anda izinkan dengan aman untuk aplikasi ini bagi karyawan Anda.
L7 Firewall lebih nyaman
Jika Anda melihat proses pelatihan insinyur jaringan, maka paling sering orang mengambil kursus dari produsen peralatan jaringan yang terkenal dan ini memberikan pengetahuan yang baik tentang teknologi jaringan.

Penulis dari baris-baris ini menyelesaikan sejumlah kursus Cisco pada tahun 2003 dan karenanya menyajikan secara spesifik para insinyur jaringan pelatihan khususnya: sebagai aturan, setelah mempelajari model OSI ISO tujuh tingkat, hanya 4 level pertama yang dipelajari secara terperinci. Artinya, semua seluk-beluk insinyur jaringan keamanan informasi hanya tahu hingga tingkat TCP / UDP / ICMP. Hanya beberapa yang dasar yang dipertimbangkan dari level aplikasi: HTTP, DNS, SSH, Telnet, NTP, FTP. Apa hasilnya? Dan administrator jaringan merasa bahwa mengelola lapisan aplikasi mudah dari lapisan transportasi!
Tampaknya bagi spesialis jaringan yang baru dipanggang bahwa semuanya dapat dilakukan dengan aturan di tingkat transportasi, di mana Anda hanya perlu mengizinkan protokol dan port yang diperlukan. Perlu mengizinkan peramban di Internet? Kami membuka TCP / 80. Perlu membuka DNS? Buka TCP / 53 atau UDP / 53. Perlu membuka RDP? Buka TCP / 3389. Dan aturan penulisan pada L4 firewall menjadi standar di perusahaan.
Saya harus mengatakan bahwa banyak spesialis TI menyadari konsep inspeksi negara. Tetapi pada saat yang sama, bagi banyak orang, ini merupakan wahyu bahwa firewall yang berbeda mendukung inspeksi penuh untuk serangkaian aplikasi yang berbeda. Saya memiliki statistik tertentu karena saya bekerja sebagai guru kursus Firewall di pusat pelatihan perusahaan Informzashita. Apa yang saya lihat? Seseorang berpikir bahwa inspeksi statefull hanya tentang izin untuk menerima tanggapan protokol TCP / UDP / ICMP kembali. Tetapi bagaimana dengan aplikasi yang lebih kompleks? Misalnya, bagaimana melacak dua koneksi TCP yang dibuat oleh protokol FTP pada port 21 dan 20 - apakah keduanya saling bergantung? Di sana Anda tidak hanya perlu menerima jawaban, tetapi juga mengizinkan koneksi kedua, tergantung pada perintah PORT, di dalam koneksi kontrol pada port 21. Dan berapa banyak lagi aplikasi untuk membuka koneksi baru di dalam diri mereka yang memberikan aplikasi? Singkatnya, jaringan sekarang menggunakan daftar akses biasa, yang tidak mengerti perintah PORT di dalam protokol FTP, dan ada firewall L4, yang membongkar perintah PORT dan secara otomatis membuka port yang diinginkan, ada seseorang yang telah melangkah lebih jauh dan melihat pada MS RPC atau ICS protokol perintah yang lebih kompleks / Protokol SCADA. Tetapi semua kemungkinan aplikasi firewall L4 tidak terlihat, dan firewall ini juga umumnya berbeda dalam jumlah aplikasi yang diimplementasikan dalam Application Layer Gateway (ALG).
Apa yang saya maksudkan? Keyakinan bahwa hanya mengingat port TCP / UDP utama tidak bekerja.
Sudah ada beberapa ribu aplikasi di dunia dan semuanya menggunakan jaringan komputer. Dan tidak ada insinyur jaringan yang dapat mengingat semua port ini.
Pengungkapan untuk insinyur jaringan adalah tugas membuka port untuk aplikasi yang lebih kompleks, misalnya, VNC. Tidak ada yang ingat port mana di sana dan harus menggunakan google.
Ketika menerbitkan bagian pertama, saya melakukan survei dan saya melihat bahwa orang-orang masih siap untuk mengingat nomor port - pendapat dibagi 50 hingga 50: seseorang menjawab bahwa dia siap untuk mengingat semua 4 port aplikasi VNC.
Mungkin juara dalam jumlah port adalah Lync (alias Skype for Business). Sekitar 40 port. Apakah realistis mengingatnya?

Jika Anda
melihat Microsoft TechNet, yang menjelaskan port mana yang perlu Anda buka, maka saya ingin menulis izin apa pun untuk aturan apa pun, karena ada sekitar 40 port dan beberapa di antaranya harus terbuka secara dinamis. Dan sangat tidak nyaman untuk mendaftar di firewall L4.
Ternyata lebih mudah bagi seorang insinyur jaringan untuk menulis dalam aturan aplikasi L7 dan perlu bahwa firewall itu sendiri secara otomatis membuka port yang diperlukan.
Perlu membuka VNC? Anda menulis kata VNC dalam aturan dan firewall sudah memahami protokol yang mendasarinya yang perlu Anda buka. Ini nyaman.
Sebuah contoh Laporan NGFW tentang kategori lalu lintas yang dipilih.
Rata-rata, 200-300 aplikasi menggunakan akses Internet dari jaringan perusahaan. Firewall tingkat aplikasi menunjukkan aplikasi apa itu dan dapat memfilter aplikasi ini untuk semua atau untuk pengguna tertentu dan memfilter file berdasarkan jenis atau konten yang masuk ke aplikasi yang diizinkan untuk semua pengguna di jaringan perusahaan. Juga jangan lupa bahwa di NGFW, fungsi keamanan bekerja secara paralel: IPS, antivirus, anti-spyware, filter URL, filter DNS, Intelijen Ancaman dan sebagainya. Artinya, kita tidak hanya mengizinkan aplikasi, tetapi melakukannya dengan aman.
L7 Firewall lebih aman
Saya memiliki Palo Alto Networks NGFW di tangan. Saya menulis tiga aturan berbeda tentang itu. Mari kita lihat perbedaannya.

Jika Anda pernah mengkonfigurasi firewall, maka Anda melihat itu untuk grup pengguna yang berbeda: vip, pemasaran dan programmer, saya mengaktifkan SSL dengan tiga cara berbeda.
- pengguna vip dapat menggunakan port 443 dan dapat menggunakan SSL di dalamnya , karena ini adalah port default untuk SSL. Jika mereka mencoba masuk ke port 443, misalnya, telnet biasa, maka mereka tidak akan berhasil - firewall akan memverifikasi bahwa itu bukan SSL dan akan memblokirnya. Dan inilah yang Anda butuhkan!
- pemasaran dapat pergi ke port apa saja menggunakan SSL , karena di bidang Layanan, di mana port ditunjukkan, port apa pun diizinkan. Pertanyaannya adalah, apakah saya ingin pemasaran menggunakan SSL pada port non-standar? Tidak. Ini adalah kesalahan konfigurasi yang umum. Menentukan port sebagai apa pun adalah logis jika aturannya mahal - yaitu, jika kami ingin melarang SSL pada port apa pun.
- programmer dapat berjalan di port 443 dengan aplikasi apa pun , yang sebenarnya merupakan lubang, karena saya awalnya hanya ingin membuka SSL. Dan itulah cara kerja L4 firewall - membuka port dan kemudian tidak masalah baginya apa yang ada dan aplikasi apa yang menggunakan port ini. Setiap programmer dalam kelompok programmer dapat menggunakan terowongan apa pun.
Pengaturan
aplikasi-standar sangat penting dan memungkinkan Anda mengurangi jumlah aturan: Anda dapat menentukan aplikasi yang diperlukan di kolom Aplikasi dalam satu aturan dan firewall itu sendiri akan membuka port yang diperlukan untuk aplikasi yang diperlukan dan hanya aplikasi yang seharusnya masuk yang akan melewati port ini. Karenanya, Anda memerlukan satu aturan untuk membuka banyak aplikasi.
Misalnya, untuk aturan di bawah ini, di mana semua karyawan diizinkan untuk mengakses Internet hanya secara default, NGFW akan terus-menerus memeriksa bahwa mereka hanya menginginkan klien DNS pada port ke-53 dan bukan TCP-over-DNS. Dan tentu saja, ini meningkatkan keamanan, karena Anda tidak hanya mengizinkan aplikasi, tetapi mengontrol hanya aplikasi yang Anda izinkan melalui saluran terbuka.

Masalah baru apa yang menciptakan pendekatan baru dalam penulisan aturan untuk L7
Anda perlu memahami bahwa menentukan aplikasi dengan konten paket sangat menegangkan untuk prosesor firewall L7. Jika firewall L4 biasa memeriksa hanya beberapa byte header paket TCP dan kemudian meneruskan megabita klip flash yang tersisa tanpa memeriksa, maka firewall L7 harus membaca semua yang disimpan dalam bidang data TCP / IP dan terus-menerus memeriksa konten apa yang ada di dalam koneksi TCP / IP, tiba-tiba mengubah atau menimbulkan ancaman bagi perusahaan. Karena itu, ketika fungsional seperti analisis konten muncul, semua perangkat mulai melambat. Oleh karena itu, analisis konten memerlukan perangkat yang lebih kuat.
Keterbatasan Teknologi Analisis Level 7
Firewall L7 membutuhkan lebih banyak memori untuk menyimpan status satu koneksi, oleh karena itu parameter "jumlah koneksi simultan" dari firewall L7 selalu lebih rendah daripada L4 Firewall dengan jumlah RAM yang sama di kedua perangkat, dan secara signifikan, setiap 10 kali. Hal ini telah dijelaskan di atas di bagian Statefull Inspeksi Dan ini adalah harga untuk keamanan aplikasi Anda. Oleh karena itu, jika Anda membandingkan inspeksi L4 dan L7, maka tanyakan produsen bagaimana ia mengukur parameter "jumlah sesi simultan": dengan keamanan diaktifkan di level 7 atau dengan dinonaktifkan.
Hal yang sama dengan kinerja: prosesor firewall L4 hanya memeriksa beberapa byte dari header paket dan kemudian mentransfer data itu sendiri pada kecepatan routing tanpa memeriksa, dan firewall L7 memeriksa header dan semua megabita data yang terkandung dalam paket koneksi berikutnya. Dan ini adalah pekerjaan yang sangat berbeda. Oleh karena itu, pekerjaan tersebut perlu dilakukan pada platform perangkat keras khusus, di mana analisis aplikasi dipercepat, streaming antivirus dipercepat, IPS dan fungsi keamanan lainnya dipercepat. Yang terbaik dari semuanya, Cavium telah berhasil menciptakan chip untuk mempercepat keamanan, yang chipnya, misalnya, digunakan oleh Palo Alto Networks.
Selain itu, penggunaan chip FPGA khusus (FPGA) memungkinkan Anda untuk mem-flash antivirus dan tanda tangan IPS ke dalam chip itu sendiri dan verifikasi tanda tangan dilakukan pada kecepatan perangkat keras dari chip FPGA. Sekarang bahkan komputer pribadi memiliki akselerasi fungsi grafis pada GPU khusus, sehingga penggunaan chip untuk mempercepat keamanan adalah pengembangan logis dari teknologi.Kesimpulan
Pertama , mengelola keamanan pada firewall L7 lebih mudah. Sebelumnya, Anda membaca dokumentasi produsen aplikasi untuk waktu yang lama dan membuka port yang terdaftar di sana. Sekarang sederhana: tentukan nama aplikasi dalam aturan NGFW dan port yang diperlukan akan diselesaikan secara otomatis tergantung pada kondisi koneksi aplikasi ini.Kedua , Anda dapat mendeteksi dan memblokir tunneling, karena firewall L7 dengan aman hanya memungkinkan aplikasi yang ditentukan secara eksplisit, dan jika seseorang mencoba untuk tunnel aplikasi lain melalui port terbuka, itu akan segera terdeteksi dan diblokir.Ketiga, Anda dapat mengizinkan aplikasi yang diinginkan pada port apa saja yang diinginkan dan hanya aplikasi yang diinginkan akan masuk pada port ini, dan tidak semuanya sekaligus. Misalnya, hanya browser web yang akan menggunakan port 80.Bagian 3. Dekripsi SSL dalam NGFW. (Bersambung)Semua yang terbaik!Denis Batrankovdenis@batrankov.ru