Ang pag-secure ng iyong network sa Iptables - Proxy - NAT - IDS: BAHAGI 2

Sa nakaraang post, nakita natin kung paano i-configure ang mga IPTable upang gumana bilang isang firewall. Ngayon ay makikita natin kung paano lumikha ng mga script upang awtomatikong patakbuhin ang mga panuntunan kapag nagsimula ang system, at kung paano rin tanggalin o pansamantalang ihinto ang mga panuntunang iyon.

Bago gawin ang script at ipakita sa iyo ang hitsura nito, pag-usapan natin nang kaunti ang tungkol sa NAT at ang konsepto ng kung ano ang nais naming gawin sa kagamitang ito.

NAT at Konteksto ng halimbawa.

Kapag pinag-uusapan natin ang tungkol sa NAT, maaari nating malito ito sa pagruruta, dahil pareho ang namamahala sa pagkonekta ng dalawang magkakaibang mga network sa bawat isa. Ang kaibahan talaga ay ang paglalagay ng routing upang mailipat mula sa isang lokal na network papunta sa isa pa at ang ibang network na ito ay maaaring kumonekta sa isang router at lumabas sa Internet.

Samakatuwid, kapag pinag-uusapan natin ang tungkol sa NAT, pinag-uusapan natin ang tungkol sa mga packet ng pagruruta mula sa isang lokal o pribadong network patungo sa isang pampublikong network o sa Internet. Ginagawa ito sa pamamagitan ng paglalagay ng masking mga packet sa pamamagitan ng paglalagay ng pampublikong IP kung saan ito pupunta sa Internet. Iyon ay, hindi namin kailangan ng isang router, dahil ang pampublikong IP ay direktang pagmamay-ari ng GNU / Linux computer.

nat

Gagawa namin ito sa slogan na ginagamit namin ang aming Linux bilang isang router / firewall upang pumunta sa Internet mula sa isang lokal na network. Ngunit dito maaaring lumitaw ang dalawang mga sitwasyon.

  • Ang aming Linux ay nasa pagitan ng router ng service provider at ng lokal na network.

Sa kasong ito, magkakaroon ng isang network sa pagitan ng router at ng ating Linux system, at ibang network sa pagitan ng Linux system at ng lokal na network. Nangangahulugan ito na hindi na kailangang magsagawa ng NAT ang ating router; sapat na ang simpleng traffic routing, gaya ng ipinaliwanag sa nakaraang post .

  • Na ang aming Linux ay may isang interface na konektado sa lokal na network at sa pamamagitan ng iba pang interface ay natatanggap nito nang direkta ang isang pampublikong IP kung saan ito nagna-navigate.

Nangangahulugan ito na dapat gawin ng aming Linux ang NAT upang maabot ng mga packet ang Internet.

Para sa mga layunin ng maliit na laboratoryo na ito, sasabihin namin na ang aming Linux ay tumatanggap ng isang pampublikong IP nang direkta at sa gayon ay masubukan ang mga epekto ng NAT.

Upang gawin Nat pagkatapos ay ginagamit namin ang syntax

 iptables -t nat -A POSTROUTING -O eth1 -j MASQUERADE

Kung saan ang eth1 ay ang interface kung saan natatanggap namin ang pampublikong ip, iyon ay, kung saan pupunta kami sa Internet.

Ginagamit ang MASQUERADE kapag ang ip ay pampubliko ngunit maaari itong mag-iba sa paglipas ng panahon (pabago-bago). Kung hindi man maaari naming gamitin ang SNAT –to-source ip

Lumilikha ng script ng iptables

Ipagpalagay na iyon: 172.26.0.0 ay ang aming lokal na network at 81.2.3.4 ay ang pampublikong IP na kung saan nagpupunta kami sa Internet. (ito ay isang static ip). Mayroon akong mga interface na eth0 (Local network)

eth1 (Public network).

Karaniwan itong binubuo ng paglikha ng isang script na maaaring tawagan mula sa /etc/init.d/firestop (halimbawa). at mula sa script na ito maaari naming simulan, ihinto o suriin ang katayuan ng aming pagsasaayos, tulad ng ginagawa namin sa anumang daemon ng system.

Ipagpalagay na ang aking mga patakaran sa IPTABLES AY:

#! / bin / bash # Firewall ng aking tahanan. # Pangalan ng file / etc / firewall_on # Sa pamamagitan ng Jlcmux Twitter: @Jlcmux # # Pangunahing patakaran. iptables -P INPOUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP # #NAT upang ibahagi ang Internet mula sa eth0 hanggang eth1 iptables -t nat -A POSTROUTING -O eth1 -j SNAT --to-source 81.2.3.4
# # Pahintulutan ang mga papasok na koneksyon na pinasimulan ng aking mga iptable -A PADALA -m estado --stado Naitaguyod, KAUGNAYAN -j TANGGAPIN # # Pinapahintulutang papalabas na mga iptable ng trapiko -A PARAAN -i-et0 -o eth1 -p tcp --dport 80 -j ACCEPT iptables -A FORWARD -i eth0 -o eth1 -p tcp --dport 443 -j ACCEPT iptables -A FORWARD -i eth0 -o eth1 -p udp --dport 53 -j ACCEPT
Huwag kalimutan na magbigay ng mga pahintulot sa pagpapatupad

Paliwanag:

Karaniwang ginagawa ng script ang mga sumusunod:

  1. Paghigpitan muna ang lahat ng nabigasyon, koneksyon at trapiko. (Pangunahing Mga Patakaran sa Firewall)
  2. Pagkatapos ay likhain ang NAT sa patutunguhang eth1. na nagpapahiwatig na mayroon kaming isang static na pampublikong ip "81.2.3.4"
  3. Binubuksan nito ang mga port na kinakailangan upang matanggap ang mga packet ng koneksyon na pinasimulan ko.
  4. Tumatanggap ng papalabas na trapiko ng HTTP, HTTPS, at DNS.
Ang mga patakaran ay nakalaan para sa FORWARD traffic sapagkat ginagamit namin ang aming Linux bilang isang Router, kaya ginagamit ang mga patakaran para sa trapiko na PUMUNTA sa pamamagitan ng Linux, iyon ay, gumaganap ito bilang isang tagapamagitan. Nangangahulugan ito na ang aming Linux ay hindi maaaring mag-navigate o makatanggap ng anumang data nang direkta. Nalalapat lamang ito sa mga computer na konektado dito, ngunit hindi sa sarili nito

Kung nais naming gamitin ang aming kagamitan upang mag-navigate dapat naming ulitin ang mga linya at baguhin ang FORWARD sa INPUT o OUTPUT kung naaangkop.

Kanselahin ang script.

Ngayon ay lilikha kami ng isang script na nag-o-override sa lahat ng nasa itaas at iniiwan ang computer na malinis sa lahat ng ito. (Para sa mga layunin sa pagsubok o nais lamang naming patayin ang firewall).

#! / bin / bash # Firewall ng aking tahanan. # Pangalan ng file / etc / firewall_off # Sa pamamagitan ng Jlcmux Twitter: @Jlcmux # #Deleting iptables Rules -F # #Paglalapat ng mga default na patakaran (tinanggap lahat ng trapiko) iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT iptables -P FORWARD ACCEPT

Pag-automate.

Ngayon kailangan nating gumawa ng script sa loob ng /etc/init.d/ para awtomatikong magsimula ang serbisyo at mas madali natin itong mapamahalaan.

#! / bin / bash # Firewall ng aking tahanan. # Pangalan ng file /etc/init.d/ firewall # Sa pamamagitan ng Jlcmux Twitter: @Jlcmux kaso $ 1 sa pagsisimula) / etc / firewall_on ;; itigil) / etc / firewall_off ;; katayuan) iptables -L ;; *) echo "Maling syntax. Balido = /etc/init.d/ pagsisimula ng firewall | ihinto | katayuan ;; esac

Paliwanag:

Ilalagay natin ang huling script na ito sa /etc/init.d/ na may pangalang "firewall" . Pagkatapos, kung gusto nating pamahalaan ang firewall, maaari nating gamitin ang command na /etc/init.d/firewall start. Maaari rin natin itong ihinto o tingnan ang status nito sa parehong paraan.

Ngayon ay ie-edit natin ang /etc/rc.local file at magdadagdag ng katulad nito: /etc/init.d/firewall start para magsimula ito sa system.

Din. Ito ang ikalawang bahagi. Sana may dalhin ito sa inyong lahat. Sa susunod makikita natin ang Proxy at IDS.


Idagdag bilang ginustong mapagkukunan sa Google