Lumikha ng iyong sariling firewall gamit ang iptables gamit ang simpleng script part 2 na ito

Firewall_ (networking)

Kamusta sa lahat, ngayon dinadala ko sa iyo ang isang pangalawang bahagi ng seryeng ito ng mga tutorial sa firewall na may mga iptable, napaka-simple upang maaari mong kopyahin at i-paste, sa palagay ko na sa pagtatapos ng araw ito ang hinahanap ng lahat ng mga nagsisimula o kahit na ang pinaka may karanasan, bakit kailangan nating muling ibalik ang gulong ng 100 beses, tama ba?

Sa oras na ito ay sinabi ko sa kanila na subukang mag-focus sa napaka tukoy na kaso ng kung nais namin ang aming firewall na maging mas agresibo sa isang patakaran sa OUTPUT DROP. Ang post na ito ay sa kahilingan din ng isang mambabasa ng pahinang ito at ang aking post. (Sa loob ng aking isip wiiiiiiiiiiiiii)

Pag-usapan natin nang kaunti ang tungkol sa "mga kalamangan at kahinaan" ng pagtaguyod ng mga patakaran sa Output Drop, ang laban kung saan maaari kong sabihin sa iyo higit sa lahat ay ginagawang mas nakakapagod at masipag ang trabaho, subalit ang pro ay nasa antas ng network na magkakaroon ka seguridad kaysa kung umupo ka Upang mag-isip, mag-disenyo at magplano nang maayos ng mga patakaran, magkakaroon ka ng isang mas ligtas na server.

Upang hindi mag-rambol o makalabas sa paksa, mabilis kong ipaliwanag sa iyo ng isang halimbawa kung paano ang iyong mga patakaran ay dapat na higit pa o mas kaunti.

iptables -A OUTPUT -o eth0 -p tcp –sport 80 -m state –state Naitaguyod -j ACCEPT
-A dahil nagdagdag kami ng patakaran
-o tumutukoy sa papalabas na trapiko, pagkatapos ay inilalagay ang interface kung hindi ito tinukoy sapagkat tumutugma ito sa lahat ng mga ito.
-sport port ng pinanggalingan, gumaganap ng isang mahalagang papel dahil sa karamihan ng mga kaso hindi namin alam kung saan mula sa kung anong port sila ay hihilingin, kung maaari maaari naming gamitin ang dport
–Dport patutunguhan port, kapag partikular na alam namin nang maaga na ang papalabas na koneksyon ay dapat pumunta lamang sa isang tukoy na port. Ito ay dapat na para sa isang bagay na napaka tukoy tulad ng isang remote na server ng MySQL halimbawa.
-m estado –state Naitaguyod Ito ay isang adorno na ng pagpapanatili ng mga naitaguyod na na koneksyon, maaari nating tuklasin ito sa isang hinaharap na post
-d upang magsalita ng patutunguhan, kung maaari itong tukuyin, halimbawa ssh sa isang tukoy na makina sa pamamagitan ng ip nito

#!/bin/bash

# Nililinis namin ang mga talahanayan ng iptable -F iptables -X # Nililinis namin ang mga NAT iptable -t nat -F iptables -t nat -X # mangle table para sa mga bagay tulad ng PPPoE, PPP, at ATM iptables -t mangle -F iptables -t mangle -X # Mga Patakaran Sa palagay ko ito ang pinakamahusay na paraan para sa mga nagsisimula at # hindi pa rin masama, ipapaliwanag ko ang output lahat dahil ang mga ito ay papalabas na koneksyon #, input itinapon namin ang lahat, at walang server ang dapat na magpasa. iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP #Intranet LAN intranet = eth0 #Extranet wan extranet = eth1 # Panatilihin ang estado. Lahat ng bagay na nakakonekta na (naitatag) ay iniiwan natin ito tulad ng iptables -A INPUT -m estado --stado Naitaguyod, KAUGNAYAN -j TANGGAPIN
iptables -A OUTPUT -m estado --stado Naitaguyod, KAUGNAYAN -j TANGGAPIN
# Loop na aparato. iptables -A INPUT -i lo -j ACCEPT
# Iptables loopback output -A OUTPUT -o lo -j ACCEPT

# http, https, hindi namin tinukoy ang interface dahil # nais namin itong maging lahat ng iptables -A INPUT -p tcp --dport 80 -j ACCEPT iptables -A INPUT -p tcp --dport 443 -j ACCEPT
# pag-alis
# http, https, hindi namin tinukoy ang interface dahil
# Nais naming maging para sa lahat ngunit kung tinukoy namin ang output port
iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT iptables -A OUTPUT -p tcp --sport 443 -j ACCEPT

# ssh sa loob lamang at mula sa saklaw na ito ng iptables ng ip -A INPUT -p tcp -s 192.168.xx / 24 -i $ intranet --dport 7659 -j ACCEPT
# output # ssh sa loob lamang at mula sa saklaw na ito ng ip's
iptables -A OUTPUT -p tcp -d 192.168.xx / 24 -o $ intranet --sport 7659 -j ACCEPT
# pagsubaybay halimbawa kung mayroon silang zabbix o ilang ibang snmp service iptables -A INPUT -p tcp -s 192.168.1.1 -i $ intranet --dport 10050 -j ACCEPT
# pag-alis
# pagsubaybay halimbawa kung mayroon silang zabbix o ibang serbisyo sa snmp
iptables -A OUTPUT -p tcp -d 192.168.1.1 -o $ intranet --dport 10050 -j ACCEPT

# icmp, ping mabuti ang iyong desisyon iptables -A INPUT -p icmp -s 192.168.xx / 24 -i $ intranet -j ACCEPT
# pag-alis
# icmp, ping mabuti ang iyong pasya
iptables -A OUTPUT -p icmp -d 192.168.xx / 24 -o $ intranet -j ACCEPT

Ang #mysql na may postgres ay port 5432 iptables -A INPUT -p tcp -s 192.168.xx --sport 3306 -i $ intranet -j ACCEPT
# output - tinanong din ng isang gumagamit upang gumawa ng isang napaka-tukoy na # panuntunan sa server: 192.168.1.2 MySQL: 192.168.1.3
Ang #mysql na may postgres ay port 5432
iptables -A OUTPUT -p tcp -s 192.168.1.2 -d 192.168.1.3 --port 3306 -o $ intranet -j ACCEPT

#sendmail bueeeh kung nais mong magpadala ng ilang mail #iptables -A OUTPUT -p tcp --dport 25 -j ACCEPT # Anti-SPOOFING 09/07/2014 # SERVER_IP = "190.xxx" # server IP - ang totoong wan ip ng iyong LAN_RANGE server = "192.168.xx / 21" # LAN range ng iyong network o iyong vlan # IP's na hindi dapat ipasok sa extranet, ito ay ang paggamit ng kaunting # lohika kung mayroon kaming isang pulos na interface ng WAN, hindi ito dapat kailanman ipasok ang # trapiko na uri ng LAN sa pamamagitan ng interface na SPOOF_IPS = "0.0.0.0/8 127.0.0.0/8 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16" # Default na aksyon - upang maisagawa kapag ang anumang patakaran ay tumutugma sa ACTION = "DROP" # Mga packet na may parehong ip bilang aking server sa pamamagitan ng wan iptables -A INPUT -i $ extranet -s $ SERVER_IP -j $ ACTION
iptables -A OUTPUT -o $ extranet -s $ SERVER_IP -j $ ACTION

# Mga packet na may LAN Range para sa wan, inilagay ko ito tulad nito kung sakaling mayroon kang # anumang partikular na network, ngunit ito ay kalabisan sa sumusunod na # panuntunan sa loob ng "para sa" loop iptables -A INPUT -i $ extranet -s $ LAN_RANGE -j $ ACTION
iptables -A OUTPUT -o $ extranet -s $ LAN_RANGE -j $ ACTION

## Lahat ng Mga Network ng SPOOF ay hindi pinapayagan ng wan para sa ip sa $ SPOOF_IPS ay maaaring iptable -A INPUT -i $ extranet -s $ ip -j $ ACTION
iptables -A OUTPUT -o $ extranet -s $ ip -j $ ACTION
tapos

Sa susunod na pagsusuri gagawin namin ang saklaw ng port at magtatatag din ng mga patakaran na inayos ayon sa mga pangalan, bukod sa iba pang mga bagay ... Naghihintay ako sa iyong mga komento at kahilingan.


Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: Miguel Ángel Gatón
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.