25 Mapuslanon nga IPtable Firewall Rules Matag Linux Administrator Angay Mahibalo
i-configure ang firewall sa paagi nga matubag niini ang sistema ug mga kinahanglanon sa tiggamit alang sa umaabot ug paggawas nga mga koneksyon, nga dili biyaan ang sistema nga mahuyang sa mga pag-atake.
Dinhi diin magamit ang iptables
. Ang Iptables usa ka Linux command line firewall nga nagtugot sa mga administrador sa sistema sa pagdumala sa umaabot ug paggawas nga trapiko pinaagi sa usa ka set sa mga lagda sa lamesa nga ma-configure.
Ang mga Iptables naggamit ug usa ka set sa mga lamesa nga adunay mga kadena nga adunay mga set sa built-in o gihubit nga mga lagda sa user. Salamat sa kanila ang usa ka tagdumala sa sistema makahimo sa husto nga pagsala sa trapiko sa network sa iyang sistema.
Matag manwal sa iptables, adunay 3 ka matang sa mga lamesa karon:
FILTER
– kini ang default nga lamesa, nga adunay sulod nga mga kadena alang sa:- INPUT – mga pakete para sa mga lokal nga socket
- FORWARD – mga pakete nga gipaagi sa sistema
- OUTPUT – mga packet nga gihimo sa lokal
- PREROUTING – gigamit sa pag-ilis sa usa ka pakete sa diha nga kini nadawat
- OUTPUT – gigamit sa pag-ilis sa mga lokal nga namugna nga pakete
- POSTROUTING – gigamit sa pag-ilis sa mga pakete sa hapit na kini mogawas
- PREROUTING – para sa pag-ilis sa umaabot nga koneksyon
- OUTPUT – para sa pag-ilis sa locally generated packets
- INPUT – para sa umaabot nga mga pakete
- POSTROUTING – para sa pag-ilis sa mga pakete kay hapit na kini mogawas
- FORWARD – para sa mga pakete nga gipaagi sa kahon
Niini nga artikulo, imong makita ang pipila ka mapuslanon nga mga sugo nga makatabang kanimo sa pagdumala sa imong Linux box firewall pinaagi sa iptables. Alang sa katuyoan niining artikuloha, magsugod ko sa mas simple nga mga sugo ug moadto sa mas komplikado hangtod sa kataposan.
1. Pagsugod/Hunong/I-restart ang Iptables Firewall
Una, kinahanglan nga mahibal-an nimo kung giunsa pagdumala ang serbisyo sa iptables sa lainlaing mga pag-apod-apod sa Linux. Kini mao ang medyo sayon:
------------ On Cent/RHEL 7 and Fedora 22+ ------------ # systemctl start iptables # systemctl stop iptables # systemctl restart iptables
------------ On Cent/RHEL 6/5 and Fedora ------------ # /etc/init.d/iptables start # /etc/init.d/iptables stop # /etc/init.d/iptables restart
2. Susiha ang tanang IPtables Firewall Rules
Kung gusto nimo nga susihon ang imong kasamtangan nga mga lagda, gamita ang mosunod nga sugo:
# iptables -L -n -v
Kini kinahanglan nga ibalik ang output nga susama sa usa sa ubos:
Chain INPUT (policy ACCEPT 1129K packets, 415M bytes) pkts bytes target prot opt in out source destination 0 0 ACCEPT tcp -- lxcbr0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:53 0 0 ACCEPT udp -- lxcbr0 * 0.0.0.0/0 0.0.0.0/0 udp dpt:53 0 0 ACCEPT tcp -- lxcbr0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:67 0 0 ACCEPT udp -- lxcbr0 * 0.0.0.0/0 0.0.0.0/0 udp dpt:67
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 0 0 ACCEPT all -- * lxcbr0 0.0.0.0/0 0.0.0.0/0 0 0 ACCEPT all -- lxcbr0 * 0.0.0.0/0 0.0.0.0/0
Chain OUTPUT (policy ACCEPT 354K packets, 185M bytes) pkts bytes target prot opt in out source destination
Kung gusto nimo nga susihon ang mga lagda alang sa usa ka piho nga lamesa, mahimo nimong gamiton ang kapilian nga
-t
sundan sa lamesa nga gusto nimong susihon. Pananglitan, aron masusi ang mga lagda saNAT
nga lamesa, mahimo nimong gamiton ang:# iptables -t nat -L -v -n
3. I-block ang Piho nga IP Address sa IPtables Firewall
Kung makit-an nimo ang usa ka dili kasagaran o abusado nga kalihokan gikan sa usa ka IP address mahimo nimong babagan kana nga IP address gamit ang mosunod nga lagda:
# iptables -A INPUT -s xxx.xxx.xxx.xxx -j DROP
Diin kinahanglan nimong usbon ang
\xxx.xxx.xxx.xxx\
sa aktuwal nga IP address. Pag-amping pag-ayo sa pagpadagan niini nga sugo tungod kay mahimo nimo nga aksidenteng babagan ang imong kaugalingong IP address. Ang-A
nga opsyon modugang sa lagda sa katapusan sa pinili nga kadena.Kung gusto lang nimo babagan ang trapiko sa TCP gikan sa kana nga IP adres, mahimo nimong gamiton ang kapilian nga
-p
nga nagtakda sa protocol. Nianang paagiha ang mando mahimong ingon niini:# iptables -A INPUT -p tcp -s xxx.xxx.xxx.xxx -j DROP
4. I-unblock ang IP Address sa IPtables Firewall
Kung nakahukom ka nga dili na nimo gusto nga babagan ang mga hangyo gikan sa piho nga IP address, mahimo nimong papason ang lagda sa pag-block gamit ang mosunud nga mando:
# iptables -D INPUT -s xxx.xxx.xxx.xxx -j DROP
Ang
-D
nga opsyon motangtang sa usa o daghan pang mga lagda gikan sa pinili nga kadena. Kung gusto nimo gamiton ang mas taas nga opsyon mahimo nimong gamiton ang--delete
.5. I-block ang Piho nga Port sa IPtables Firewall
Usahay mahimo nimong babagan ang umaabot o paggawas nga mga koneksyon sa usa ka piho nga pantalan. Kini usa ka maayo nga lakang sa seguridad ug kinahanglan nimo nga hunahunaon kana nga butang kung mag-set up sa imong firewall.
Aron babagan ang mga nanggawas nga koneksyon sa usa ka piho nga paggamit sa pantalan:
# iptables -A OUTPUT -p tcp --dport xxx -j DROP
Aron tugotan ang umaabot nga mga koneksyon sa paggamit:
# iptables -A INPUT -p tcp --dport xxx -j ACCEPT
Sa duha ka pananglitan usba ang
\xxx\
gamit ang aktuwal nga pantalan nga gusto nimong itugot. Kung gusto nimong babagan ang trapiko sa UDP imbes nga TCP, usba lang ang\tcp\
gamit ang\udp\
sa ibabaw nga lagda sa iptables.6. Tugoti ang Daghang Port sa mga IPtable gamit ang Multiport
Mahimo nimong tugutan ang daghang mga pantalan sa usa ka higayon, pinaagi sa paggamit sa multiport, sa ubos makit-an nimo ang ingon nga lagda alang sa umaabot ug paggawas nga mga koneksyon:
# iptables -A INPUT -p tcp -m multiport --dports 22,80,443 -j ACCEPT # iptables -A OUTPUT -p tcp -m multiport --sports 22,80,443 -j ACCEPT
7. Tugoti ang Piho nga Network Range sa Partikular nga Port sa IPtables
Mahimo nimong limitahan ang pipila ka mga koneksyon sa piho nga pantalan sa usa ka gihatag nga network. Ingnon ta nga gusto nimong tugutan ang mga outgoing connections sa port
22
ngadto sa network192.168.100.0/24
.Mahimo nimo kini pinaagi niini nga sugo:
# iptables -A OUTPUT -p tcp -d 192.168.100.0/24 --dport 22 -j ACCEPT
8. I-block ang Facebook sa IPtables Firewall
Ang ubang mga amo ganahan nga i-block ang access sa Facebook sa ilang mga empleyado. Sa ubos usa ka pananglitan kung giunsa pag-block ang trapiko sa Facebook.
Mubo nga sulat: Kung ikaw usa ka tigdumala sa sistema ug kinahanglan nimo nga i-apply kini nga mga lagda, hinumdomi nga ang imong mga kauban mahimong mohunong sa pagpakigsulti kanimo :)
Pangitaa una ang mga IP address nga gigamit sa Facebook:
# host facebook.com facebook.com has address 66.220.156.68
# whois 66.220.156.68 | grep CIDR CIDR: 66.220.144.0/20
Mahimo nimong i-block kana nga network sa Facebook gamit ang:
# iptables -A OUTPUT -p tcp -d 66.220.144.0/20 -j DROP
Hinumdumi nga ang IP address range nga gigamit sa Facebook mahimong magkalainlain sa imong nasud.
9. I-setup ang Port Forwarding sa IPtables
Usahay mahimo nimong ipasa ang trapiko sa usa ka serbisyo sa lain nga pantalan. Mahimo nimong makab-ot kini pinaagi sa mosunod nga sugo:
# iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 25 -j REDIRECT --to-port 2525
Ang sugo sa ibabaw nagpasa sa tanang umaabot nga trapiko sa network interface
eth0
, gikan sa port25
ngadto sa port2525
. Mahimo nimong usbon ang mga pantalan sa mga kinahanglan nimo.10. I-block ang Network Flood sa Apache Port gamit ang IPtables
Usahay ang mga IP adres mahimong mangayo ug daghan kaayong koneksyon ngadto sa mga web port sa imong website. Mahimo kini nga hinungdan sa daghang mga isyu ug aron malikayan ang ingon nga mga problema, mahimo nimong gamiton ang mosunod nga lagda:
# iptables -A INPUT -p tcp --dport 80 -m limit --limit 100/minute --limit-burst 200 -j ACCEPT
Ang sugo sa ibabaw naglimite sa umaabot nga mga koneksyon gikan sa kada minuto ngadto sa
100
ug nagtakda ug limit burst ngadto sa200
. Mahimo nimong usbon ang limitasyon ug limit-burst sa imong kaugalingon nga piho nga mga kinahanglanon.11. I-block ang umaabot nga Ping Requests sa IPtables
Ang ubang mga administrador sa sistema gusto nga babagan ang umaabot nga mga hangyo sa ping tungod sa mga kabalaka sa seguridad. Samtang ang hulga dili kaayo dako, maayo nga mahibal-an kung unsaon pag-block ang ingon nga hangyo:
# iptables -A INPUT -p icmp -i eth0 -j DROP
12. Tugoti ang loopback Access
Ang loopback nga pag-access (pag-access gikan sa
127.0.0.1
) importante ug kinahanglan nimo kining biyaan nga aktibo:# iptables -A INPUT -i lo -j ACCEPT # iptables -A OUTPUT -o lo -j ACCEPT
13. Paghupot ug Log sa Nahulog nga mga Pakete sa Network sa mga IPtable
Kung gusto nimo i-log ang nahulog nga mga pakete sa interface sa network
eth0
, mahimo nimong gamiton ang mosunod nga mando:# iptables -A INPUT -i eth0 -j LOG --log-prefix "IPtables dropped packets:"
Mahimo nimong usbon ang bili pagkahuman sa
\--log-prefix\
sa usa ka butang pinaagi sa imong gusto. Ang mga mensahe naka-log in/var/log/messages
ug mahimo nimo kining pangitaon gamit ang:# grep "IPtables dropped packets:" /var/log/messages
14. I-block ang Access sa Piho nga MAC Address sa IPtables
Mahimo nimong babagan ang pag-access sa imong sistema gikan sa piho nga MAC address pinaagi sa paggamit sa:
# iptables -A INPUT -m mac --mac-source 00:00:00:00:00:00 -j DROP
Siyempre, kinahanglan nimong usbon ang
\00:00:00:00:00\
gamit ang aktuwal nga MAC address nga gusto nimong babagan.15. Limitahi ang Gidaghanon sa Kadungan nga Koneksyon kada IP Address
Kung dili nimo gusto nga adunay daghang kadungan nga koneksyon nga gitukod gikan sa usa ka IP address sa gihatag nga pantalan mahimo nimo gamiton ang mando sa ubos:
# iptables -A INPUT -p tcp --syn --dport 22 -m connlimit --connlimit-above 3 -j REJECT
Ang sugo sa ibabaw nagtugot dili labaw pa sa
3
koneksyon kada kliyente. Siyempre, mahimo nimong usbon ang numero sa port aron magkatugma sa lainlaing serbisyo. Usab ang--connlimit-above
kinahanglang usbon aron mohaum sa imong gikinahanglan.16. Pangitaa sulod sa IPtables Rule
Kung nahubit na nimo ang imong mga lagda sa iptables, gusto nimo pangitaon matag karon ug unya ug mahimo’g kinahanglan nimo kini usbon. Usa ka dali nga paagi sa pagpangita sa sulod sa imong mga lagda mao ang paggamit:
# iptables -L $table -v -n | grep $string
Sa pananglitan sa ibabaw, kinahanglan nimong usbon ang
$table
sa aktuwal nga lamesa diin gusto nimong pangitaon ug$string
sa aktuwal nga string nga imong gipangita.Ania ang usa ka pananglitan:
# iptables -L INPUT -v -n | grep 192.168.0.100
17. Ipasabot ang Bag-ong IPTables Chain
Uban sa iptables, mahimo nimong ipasabut ang imong kaugalingon nga kadena ug tipigan ang naandan nga mga lagda niini. Aron mahibal-an ang usa ka kadena, gamita ang:
# iptables -N custom-filter
Karon mahimo nimong susihon kung naa ang imong bag-ong filter:
# iptables -L
Chain INPUT (policy ACCEPT) target prot opt source destination
Chain FORWARD (policy ACCEPT) target prot opt source destination
Chain OUTPUT (policy ACCEPT) target prot opt source destination
Chain custom-filter (0 references) target prot opt source destination
18. Flush IPtables Firewall Chains o Rules
Kung gusto nimo i-flush ang imong mga kadena sa firewall, mahimo nimong gamiton ang:
# iptables -F
Mahimo nimong i-flush ang mga kadena gikan sa piho nga lamesa gamit ang:
# iptables -t nat -F
Mahimo nimong usbon ang
\nat\
gamit ang aktuwal nga lamesa diin ang mga kadena gusto nimong i-flush.19. I-save ang IPtables Rules sa usa ka File
Kung gusto nimong tipigan ang imong mga lagda sa firewall, mahimo nimong gamiton ang
iptables-save
nga sugo. Mahimo nimong gamiton ang mosunod aron i-save ug tipigan ang imong mga lagda sa usa ka file:# iptables-save > ~/iptables.rules
Anaa kanimo kung asa nimo ibutang ang file ug unsaon nimo kini pagngalan.
20. Iuli ang IPtables Rules gikan sa usa ka File
Kung gusto nimo ibalik ang usa ka lista sa mga lagda sa iptables, mahimo nimong gamiton ang
iptables-restore
. Ang mando ingon niini:# iptables-restore < ~/iptables.rules
Siyempre ang agianan sa imong file sa mga lagda mahimong lahi.
21. I-setup ang mga Lagda sa IPtable para sa Pagsunod sa PCI
Ang ubang mga tigdumala sa sistema mahimong gikinahanglan nga i-configure ang ilang mga server aron mahimong PCI compiliant. Adunay daghang mga kinahanglanon sa lainlaing mga tigbaligya sa pagsunod sa PCI, apan adunay pipila nga kasagaran.
Sa kadaghanan sa mga kaso, kinahanglan nimo nga adunay labaw sa usa ka IP address. Kinahanglan nimong ipadapat ang mga lagda sa ubos para sa IP address sa site. Pag-amping pag-ayo sa paggamit sa mga lagda sa ubos ug gamita lang kini kung sigurado ka sa imong gibuhat:
# iptables -I INPUT -d SITE -p tcp -m multiport --dports 21,25,110,143,465,587,993,995 -j DROP
Kung mogamit ka sa cPanel o parehas nga control panel, kinahanglan nimo nga babagan usab ang mga pantalan niini. Ania ang usa ka pananglitan:
# iptables -I in_sg -d DEDI_IP -p tcp -m multiport --dports 2082,2083,2095,2096,2525,2086,2087 -j DROP
Mubo nga sulat: Aron masiguro nga matuman nimo ang mga kinahanglanon sa imong PCI vendor, susiha pag-ayo ang ilang report ug gamita ang gikinahanglang mga lagda. Sa pipila ka mga kaso kinahanglan nimo nga babagan ang trapiko sa UDP sa pipila nga mga pantalan usab.
22. Tugoti ang Natukod ug May Kalabutan nga mga Koneksyon
Ingon nga ang trapiko sa network bulag sa umaabot ug paggawas, gusto nimong tugutan ang natukod ug may kalabutan nga umaabot nga trapiko. Para sa umaabot nga mga koneksyon buhata kini sa:
# iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
Alang sa gawas nga paggamit:
# iptables -A OUTPUT -m conntrack --ctstate ESTABLISHED -j ACCEPT
23. Ihulog ang dili balido nga mga pakete sa mga IPtable
Posible nga adunay pipila ka mga pakete sa network nga gimarkahan nga dili balido. Ang ubang mga tawo mas gusto nga i-log ang mga pakete, apan ang uban gusto nga ihulog kini. Aron ihulog nga dili balido ang mga pakete, mahimo nimong gamiton ang:
# iptables -A INPUT -m conntrack --ctstate INVALID -j DROP
24. I-block ang Koneksyon sa Network Interface
Ang ubang mga sistema mahimong adunay labaw sa usa ka interface sa network. Mahimo nimong limitahan ang pag-access sa interface sa network o pag-block sa mga koneksyon gikan sa piho nga IP address.
Pananglitan:
# iptables -A INPUT -i eth0 -s xxx.xxx.xxx.xxx -j DROP
Usba ang \xxx.xxx.xxx.xxx gamit ang aktuwal nga IP address (o network) nga gusto nimong babagan.
25. I-disable ang Outgoing Mails pinaagi sa IPTables
Kung ang imong sistema dili kinahanglan magpadala bisan unsang mga email, mahimo nimong babagan ang mga outgoing port sa mga port sa SMTP. Pananglitan mahimo nimong gamiton kini:
# iptables -A OUTPUT -p tcp --dports 25,465,587 -j REJECT
Konklusyon
Ang Iptables usa ka kusgan nga firewall nga dali ka makabenepisyo. Importante alang sa matag tigdumala sa sistema nga makakat-on bisan sa mga sukaranan sa mga iptables. Kung gusto nimo makit-an ang mas detalyado nga kasayuran bahin sa mga iptables ug ang mga kapilian niini girekomenda nga basahon kini nga manwal:
# man iptables
Kung sa imong hunahuna kinahanglan namon nga idugang ang daghang mga mando sa kini nga lista, palihug ipaambit kini kanamo, pinaagi sa pagsumite niini sa seksyon sa komento sa ubos.