Firewall va Portlarni Boshqarish – Linux va Assemblyda
Firewall va port boshqaruvi tarmoq xavfsizligi uchun juda muhimdir. U orqali kiruvchi va chiquvchi tarmoq trafikini boshqarish, ruxsat berish yoki bloklash amalga oshiriladi. Quyida Linux tizimida va assemblyda firewall va portlarni boshqarish haqida to‘liq qo‘llanma keltirilgan.
Linuxda Firewall va Portlarni Boshqarish
Firewall haqida umumiy ma'lumot
Firewall kiruvchi va chiquvchi trafikni nazorat qiladigan xavfsizlik devori hisoblanadi. Linux tizimlarida asosiy firewall mexanizmi iptables
yoki zamonaviyroq nftables
hisoblanadi.
iptables yordamida portlarni boshqarish
Portni ochish (masalan, 8080-port)
-A INPUT
: Kiruvchi trafik qoidasi qo‘shilmoqda.-p tcp
: TCP protokoli uchun qoida qo‘llaniladi.--dport 8080
: 8080-portda ishlayotgan trafik ruxsat etiladi.-j ACCEPT
: Trafikka ruxsat beriladi.
Portni yopish
Ushbu qoida 8080-port orqali kiruvchi TCP trafikni bloklaydi.
Qo‘llangan qoidalarni ko‘rish
Bu buyruq orqali barcha qoidalar ro‘yxatini ko‘rishingiz mumkin.
Qoida olib tashlash
Bu buyruq 8080-port uchun qo‘yilgan qoidani olib tashlaydi.
Yangi firewall mexanizmi – nftables
Zamonaviy Linux distributivlari iptables
o‘rniga nftables
ni qo‘llashni tavsiya qiladi. Portni boshqarish misoli:
Portlarni boshqarishda qo‘llaniladigan umumiy buyruqlar
iptables -A
Yangi qoida qo‘shadi
iptables -D
Qoida olib tashlaydi
iptables -L
Hozirgi qoidalarni ko‘rsatadi
iptables -F
Barcha qoidalarni o‘chiradi
nft add rule
nftables yordamida yangi qoida qo‘shadi
Assemblyda Portlarni Boshqarish va Firewall Sozlamalari
Assemblyda to‘g‘ridan-to‘g‘ri firewall va portlarni boshqarish qiyin, chunki bu ishlar ko‘pincha operatsion tizim darajasida amalga oshiriladi. Biroq, socket tizim chaqiruvlari va setsockopt()
funksiyasi yordamida portlarni boshqarish va tarmoq xatti-harakatlarini sozlash mumkin.
Socket yaratish va portga bog‘lash
Quyidagi assembly kod TCP socket yaratadi va uni 8080-portga bog‘laydi. So‘ngra u keluvchi ulanishlarni kutadi (listen
rejimi).
Assembly kod (Linux x86, TCP socket yaratish va ulanish)
Tizim chaqiruvlarining izohi
Socket yaratish
socket(AF_INET, SOCK_STREAM, 0)
chaqiruvi orqali TCP socket yaratiladi.Portga bog‘lash (bind)
bind()
orqali socket 8080-portga bog‘lanadi. Bu port tarmoqdan keluvchi ulanishlarni qabul qilish uchun tayyorlanadi.Tinglash (listen)
listen()
orqali socket ulanishlarni kutish rejimiga o‘tkaziladi. Bu rejimda socket keluvchi so‘rovlarni qabul qilishi mumkin.
Assemblyda Firewallni boshqarish
Firewall qoidalari odatda tizim darajasida amalga oshiriladi va assembly tilida to‘g‘ridan-to‘g‘ri boshqarish imkoni yo‘q. Ammo siz assembly yordamida shell buyruqlarini chaqirib, firewall qoidalarini qo‘llashingiz mumkin. Masalan, execve()
tizim chaqiruvi orqali iptables
buyrug‘ini ishga tushirish mumkin:
Assembly orqali iptables
chaqiruv
Xulosa
Linuxda firewall va portlarni boshqarish uchun
iptables
,nftables
yoki boshqa xavfsizlik vositalaridan foydalaniladi.Assemblyda tarmoq operatsiyalari va port boshqaruvi socket tizim chaqiruvlari orqali amalga oshiriladi.
To‘g‘ridan-to‘g‘ri firewall boshqaruvi uchun assembly orqali tizim buyruqlarini (
execve
) chaqirish mumkin.
Last updated