Ang Giya sa Nagsugod sa IPTables (Linux Firewall) nga mga Sugo


Kung naggamit ka ug mga Kompyuter sa makadiyot, kinahanglan nga pamilyar ka sa pulong nga \Firewall. Nahibal-an namon nga ang mga butang ingon komplikado gikan sa nawong apan pinaagi sa kini nga panudlo, among ipasabut ang sukaranan sa IPTable ug ang paggamit sa mga sukaranan nga mga mando. aron nga bisan kung ikaw usa ka estudyante sa networking o gusto nga mag-deve sa mga network, makabenepisyo ka gikan niini nga giya.

Ang paagi sa pagtrabaho sa Firewall yano ra. Naghimo kini og babag tali sa kasaligan ug dili kasaligan nga mga network aron ang imong sistema mahimong luwas gikan sa mga malisyosong pakete.

Apan unsaon nato pagdesisyon kung unsa ang luwas ug unsa ang dili? Sa kasagaran, nakakuha ka pipila ka pribilehiyo sa pag-set up sa mga lagda alang sa imong Firewall apan alang sa mas detalyado nga pagbantay sa mga umaabot ug paggawas nga mga pakete, ang IPTables mao ang imong gikinahanglan.

Ang mga IPtable mahimong magamit alang sa personal nga pag-compute o mahimo usab nga magamit sa tibuuk nga network. Gamit ang IPTables, magtakda kami og usa ka hugpong sa mga lagda diin kami maka-monitor, makatugot o maka-block sa umaabot o mogawas nga mga packet sa network.

Imbis nga magpunting lamang sa tibuuk nga bahin sa teorya, hisgutan ra naton kung unsa ang hinungdanon sa praktikal nga kalibutan. Mao nga magsugod kita sa pagsabut sa panguna nga mga konsepto sa IPTables.

Pagsabut sa Konsepto sa IPTables

Samtang naghisgot sa IPTables, kinahanglan natong masabtan ang 3 ka termino: Tables, Chains, ug Rules. Ingon nga kini ang hinungdanon nga mga bahin, atong hisgutan ang matag usa kanila.

Busa magsugod kita sa mga Tables.

Adunay 5 nga mga klase sa mga lamesa sa IPtables ug ang matag usa adunay lainlaing mga lagda nga gipadapat. Busa magsugod kita sa labing komon nga lamesa \Filer.

  1. Filter Table – Kini ang default ug main table samtang naggamit sa IPtables. Kini nagpasabut nga bisan kanus-a dili ka maghisgot sa bisan unsang piho nga lamesa samtang nagpadapat sa mga lagda, kini magamit sa lamesa sa pagsala. Ingon sa gisugyot sa ngalan niini, ang tahas sa lamesa sa Filter mao ang pagdesisyon kung ang mga pakete kinahanglan ba tugutan nga makaabut sa ilang destinasyon o isalikway ang ilang hangyo.
  2. NAT (Network Address Translation) – Sama sa gisugyot sa ngalan niini, kini nga lamesa nagtugot sa mga tiggamit sa pagtino sa paghubad sa mga adres sa network. Ang tahas niini nga lamesa mao ang pagtino kon usbon ba ug unsaon pag-usab ang tinubdan ug destinasyon sa packet address.
  3. Mangle Table - Kini nga lamesa nagtugot kanamo sa pag-usab sa mga IP header sa mga pakete. Pananglitan, mahimo nimong i-adjust ang TTL sa pagpalugway o pagpamubo sa mga hop sa network nga mapadayon sa pakete. Sa susama, ang ubang mga IP header mahimo usab nga usbon sumala sa imong gusto.
  4. RAW Table – Ang nag-unang gamit niini nga lamesa mao ang pagsubay sa mga koneksyon kay naghatag kini og mekanismo sa pagmarka sa mga pakete aron makita ang mga pakete isip kabahin sa nagpadayon nga sesyon.
  5. Security Table – Gamit ang Security table, ang mga user maka-apply sa internal nga SELinux security context marks sa network packets.

Alang sa kadaghanan nga mga kaso sa paggamit, ang katapusan nga 2 nga mga tipo (RAW ug Seguridad) sa lamesa wala’y daghang mahimo ug ang una nga 3 nga kapilian lamang ang giihap nga mga punoan nga lamesa.

Karon, hisgotan nato ang mga Kadena.

Naggawi sila sa mga punto sa ruta sa network diin mahimo namon nga magamit ang mga lagda. Sa IPTables, kami 5 nga mga klase sa kadena ug among hisgutan ang matag usa kanila. Hinumdomi nga dili matag matang sa kadena ang anaa alang sa matag matang sa lamesa.

  1. Pre-routing – Kini nga kadena magamit sa bisan unsang umaabot nga pakete sa higayon nga kini masulod sa network stack ug kini nga kadena maproseso bisan sa wala pa ang bisan unsa nga routing nga desisyon nahimo mahitungod sa katapusang destinasyon sa pakete.
  2. Input Chain – Kini ang punto diin ang usa ka pakete mosulod sa network stack.
  3. Forward Chain – Kini ang punto diin ang packet gipasa sa imong sistema.
  4. Kadena sa Output – Ang kadena sa output gipadapat sa pakete kung kini naggikan sa imong sistema ug nawala.
  5. Post-routing – Kini ang bug-os nga kaatbang sa pre-routing nga kadena ug magamit sa gipasa o mogawas nga mga packet sa higayon nga ang routing desisyon nahimo na.

Karon, ang nahabilin nga butang nga hisgutan mao ang mga lagda, ug kini ang labing kadali sa 3 nga among gihisgutan dinhi. Busa atong kompletohon ang nahibilin sa theoretical nga bahin.

Ang mga lagda walay lain kondili ang set o indibidwal nga mga sugo diin ang mga tiggamit magmaniobra sa trapiko sa network. Sa higayon nga ang matag kadena molihok, ang pakete susihon batok sa gitakda nga mga lagda.

Kung ang usa ka lagda dili makatagbaw sa kondisyon, kini laktawan sa sunod ug kung kini makatagbaw sa kondisyon, ang sunod nga lagda itakda sa kantidad sa target.

Ang matag lagda adunay duha ka sangkap: ang matching component ug ang target component.

  1. Matching Component – Nagkalainlain sila nga mga kondisyon sa paghubit sa mga lagda nga mahimong ipares sa protocol, IP address, port address, interface, ug header.
  2. Target Component – Kini usa ka aksyon nga ma-trigger kung matagbaw na ang mga kondisyon.

Kini ang bahin sa pagpatin-aw ug karon atong hisgotan ang mga sukaranan nga mga sugo nga may kalabutan sa IPtables sa Linux.

Pag-instalar sa IPtables Firewall sa Linux

Sa modernong mga distribusyon sa Linux sama sa Pop!_OS, ang IPTables na-pre-install pero kung kulang ang imong sistema sa IPTables package, dali ra nimo kining ma-install pinaagi sa gihatag nga mga instruksyon:

Aron i-install ang IPtables sa dnf command.

$ sudo dnf install iptables-services

Importante: Kung naggamit ka sa Firewalld, kinahanglan nimo nga i-disable kini sa dili pa magpadayon sa pag-install. Aron hingpit nga mapahunong ang firewall, kinahanglan nimo nga gamiton ang mosunod nga mga sugo:

$ sudo systemctl stop firewalld
$ sudo systemctl disable firewalld
$ sudo systemctl mask firewalld

Aron i-install ang IPtables sa apt command.

$ sudo apt install iptables

Sa higayon nga imong i-install ang IPTables, mahimo nimong mapalihok ang firewall pinaagi sa gihatag nga mga sugo:

$ sudo systemctl enable iptables
$ sudo systemctl start iptables

Aron ma-monitor ang kahimtang sa serbisyo sa IPTable, mahimo nimong gamiton ang gihatag nga mando:

$ sudo systemctl status iptables

Pagkat-on Mga sukaranan sa IPtables Command sa Linux

Kung nahuman na kami sa pag-instalar, mahimo namong ipadayon ang syntax sa IPTables nga magtugot kanimo sa pag-tweak sa mga default ug tugotan ka sa pag-configure sumala sa imong mga panginahanglan.

Ang sukaranan nga syntax sa IPtables mao ang mosunod:

# iptables -t {type of table} -options {chain points} {condition or matching component} {action}

Atong sabton ang pagpatin-aw sa sugo sa ibabaw:

Ang una nga bahin mao ang -t diin makapili kami gikan sa bisan unsang 5 nga magamit nga mga kapilian sa lamesa ug kung imong tangtangon ang -t nga bahin gikan sa mando, mogamit kini nga lamesa sa pagsala sama sa naandan. ang default nga tipo sa lamesa.

Ang ikaduha nga bahin alang sa kadena. Dinhi makapili ka gikan sa lainlaing mga kapilian sa chain point ug ang mga kapilian gihatag sa ubos:

  • -A – Nagdugang ug bag-ong lagda sa kadena sa kataposan sa kadena.
  • -C – Susihon ang lagda kung nakatagbaw ba kini sa kinahanglanon sa kadena.
  • -D – Gitugotan ang mga tiggamit sa pagtangtang sa kasamtangan nga lagda gikan sa kadena.
  • -F – Kini magtangtang sa matag lagda nga gipasabot sa user.
  • -I – Gitugotan ang mga tiggamit sa pagdugang og bag-ong lagda sa gitakdang posisyon.
  • -N – Naghimo ug bag-ong kadena.
  • -v – Kung gamiton uban sa opsyon sa listahan, magdala ug detalyadong impormasyon.
  • -X – Pagtangtang sa kadena.

Ang mga kapilian sa pagpares mao ang kondisyon alang sa pagsusi sa kinahanglanon sa kadena. Makapili ka gikan sa lainlaing mga kapilian ug ang pipila niini gihatag sa ubos:

Protocols -p
Source IP -s
Destination IP -d
IN interface -i
OUT interface -o

Alang sa TCP, sila mao ang mosunod:

-sport
-dport
--tcp-flags

Karon, kung atong tagdon ang aksyon nga bahin, ang magamit nga mga kapilian nagdepende sa klase sa lamesa sama sa NAT, ug ang mangle nga lamesa adunay daghang kapilian kung itandi sa uban. Pinaagi sa paggamit sa aksyon, mahimo usab nimo nga target ang usa ka piho nga lamesa o kadena.

Ang labing gigamit nga aksyon mao ang Jump (-j) nga maghatag kanamo daghang mga kapilian sama sa:

  • DAWAT – Gigamit kini sa pagdawat sa mga pakete ug pagtapos sa paglatas.
  • DROP – Gigamit kini sa paghulog sa mga pakete ug pagtapos sa pagbaktas.
  • REJECT – Parehas kini sa DROP apan nagpadala kini og mga gisalikway nga pakete ngadto sa tinubdan.
  • RETURN – Kini mohunong sa paglatas sa packet sa sub chain ug ipadala ang specific packet ngadto sa superior chain nga walay epekto.

Kung nahuman na kami sa syntax, ipakita namon kanimo kung giunsa nimo magamit ang mga IPtables lakip ang sukaranan nga pag-configure.

Kung gusto nimong susihon kung unsa ang nag-agi sa imong Firewall nga default, ang paglista sa usa ka karon nga hugpong sa mga lagda usa ka hingpit nga paagi. Aron ilista ang gipadapat nga mga lagda, gamita ang gihatag nga mando:

$ sudo iptables -L

Niini nga seksyon, ipakita namo kanimo kung giunsa nimo pagtugot o pagdumili sa trapiko sa network alang sa piho nga mga pantalan. Ipakita namo kanimo ang pipila ka ilado nga mga pantalan nga gusto namo nga makatabang kutob sa among mahimo.
Kung gusto nimo tugutan ang trapiko sa network sa HTTPS, kinahanglan namon nga tugutan ang port no 443 pinaagi sa paggamit sa gihatag nga mando:

$ sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT

Sa susama, mahimo usab nimo nga pag-disable ang trapiko sa web sa HTTP pinaagi sa gihatag nga mando:

$ sudo iptables -A INPUT -p tcp --dport 80 -j REJECT

Pagpatin-aw sa gigamit nga mga kapilian sa command:

  • -p gigamit para sa pagsusi sa piho nga protocol ug sa among kaso kini TCP.
  • --dport gigamit para sa pagtino sa destinasyon nga pantalan.
  • -j kay gigamit para sa aksyon (dawata o ihulog).

Oo, mahimo usab nimo makontrol ang trapiko sa network gikan sa usa ka IP address. Dili lang usa o duha apan kontrolahon usab ang sakup sa mga adres sa IP ug ipakita namon kanimo kung giunsa.

Aron tugotan ang usa ka piho nga IP address, gamita ang gihatag nga istruktura sa command:

$ sudo iptables -A INPUT -s 69.63.176.13 -j ACCEPT

Sa susama, aron ihulog ang mga pakete gikan sa piho nga IP, kinahanglan nimo nga gamiton ang gihatag nga istruktura sa command:

$ sudo iptables -A INPUT -s 192.168.0.27 -j DROP

Kung gusto nimo, mahimo usab nimo makontrol ang sakup sa mga adres sa IP pinaagi sa paggamit sa gihatag nga istruktura sa command:

$ sudo iptables -A INPUT -m range --src-range 192.168.0.1-192.168.0.255 -j REJECT

Usahay mahimo kitang masayop samtang naghimo og mga lagda ug ang labing maayong paagi aron mabuntog ang mga sayup mao ang pagtangtang niini. Ang pagtangtang sa gihubit nga mga lagda mao ang labing kadali nga proseso sa tibuuk nga giya ug aron mapapas kini, una, kinahanglan naton nga ilista kini.

Aron ilista ang gipiho nga mga lagda nga adunay mga numero, gamita ang gihatag nga mando:

$ sudo iptables -L --line-numbers

Aron matangtang ang mga lagda, kinahanglan naton sundon ang gihatag nga istruktura sa mando:

$ sudo iptables -D <INPUT/FORWARD/OUTPUT> <Number>

Ibutang ta nga gusto nakong papason ang ika-10 nga lagda gikan sa INPUT aron akong gamiton ang gihatag nga sugo:

$ sudo iptables -D INPUT 10

Aron masusi kung malampuson ba naton nga natangtang ang lagda, kinahanglan naton ilista ang mga lagda pinaagi sa gihatag nga mando:

$ sudo iptables -L –line-numbers

Sama sa imong nakita, malampuson namon nga natangtang ang ika-10 nga lagda.

Mahimong nahibulong ka kung nganong kinahanglan namon nga i-save ang mga lagda kung diin sila nagtrabaho nga maayo pagkahuman sa pagpadapat niini? Ang isyu mao ang sa higayon nga ang imong sistema reboots, ang tanan nga mga gipiho nga mga lagda nga wala ma-save nga mapapas mao nga kini mao ang importante alang kanato ngadto kanila.

Aron sa pagluwas sa mga lagda sa RHEL-based distros:

$ sudo /sbin/service iptables save

Aron sa pagluwas sa mga lagda sa Debian derivatives:

$ sudo /sbin/iptables–save

Aron mahibal-an ang dugang bahin sa mga lagda sa IPtable Firewall, tan-awa ang among detalyado nga giya sa:

  • 25 Mapuslanon nga IPtable Firewall Rules Matag Linux Administrator Angay Mahibaloan

Sa tibuok niini nga giya, among gisulayan nga himoong simple ang mga butang aron ang tanan makabenepisyo niini. Kini usa ka sukaranan nga giya sa pagpatin-aw sa IPTables ug kung adunay ka mga pangutana, ayaw pagduhaduha sa pagpangutana sa mga komento.