Auðveld uppsetning IPTables og dæmi á Ubuntu 16.04

Kynning

iptableser öflugt tól sem notað er til að stilla innbyggðan eldvegg Linux-kjarnans. Það er foruppsett á flestum Ubuntu dreifingum, en ef þú ert að nota sérsniðna Ubuntu útgáfu eða keyrir inni í íláti þarftu líklegast að setja það upp handvirkt.

sudo apt-get install iptables iptables-persistent

Eftir uppsetningu, ef þú ert spurður hvort þú eigir að vista núverandi reglur þínar, skiptir það ekki máli í augnablikinu því þú ætlar að fjarlægja eða búa til nýjar reglur síðar.

Ábendingar

Þú getur notað netcatskipunina (á annarri tölvu en þjóninum þínum) til að prófa hvaða tengi eru opin eða lokuð.

nc -z -w5 -v SERVER_IP PORT
  • nc er netcat skipunin.
  • -z sendu bara pakka án farms.
  • -w5 bíða í allt að 5 sekúndur eftir svari.
  • -v orðrænn háttur.
  • Skiptu út SERVER_IPfyrir netfangið þitt fyrir netþjóninn.
  • Skiptu út PORTfyrir tengið sem þú vilt prófa ef það er opið (td 22).

Á þjóninum þínum geturðu notað netstatskipunina til að sjá hvaða höfn eru að hlusta á tengingar.

sudo netstat -tulpn

Athugið: Þó að það netstatsé sniðugt að finna höfnin sem þú vilt vinna með, þá ættir þú að vera meðvitaður um forritin sem þú ert með uppsett á netþjóninum þínum og hvaða höfn eru að hlusta, þú þarft ekki að leyfa hvert tengi sem þú finnur í netstatúttakinu .

Setningafræði

sudo iptables -A INPUT -p tcp -m tcp --dport 22 --m geoip --src-cc PE -j ACCEPT
  • -A INPUTbæta reglu við INPUTkeðjuna, keðja er hópur reglna, þær sem við notum mest í þessari handbók verða INPUT, OUTPUTog PREROUTING.
  • -p tcpstillt tcpsem samskiptareglur sem þessi regla mun gilda um geturðu líka notað aðrar samskiptareglur eins og udp, icmpeða all.
  • -m tcpnotaðu tcpeininguna. iptablesstyður viðbótareiginleika í gegnum einingar, sumar þeirra eru þegar foruppsettar með iptablesog aðrar, svo sem geoipeininguna.
  • --dport 22skipanirnar sem byrja á --gefa til kynna viðbótarvalkosti fyrir áður notaða einingu, í þessu tilfelli munum við segja tcpeiningunni að eiga aðeins við um port 22.
  • -m geoipnotaðu geoipeininguna. Það mun takmarka pakka eftir landi (nánari upplýsingar í skrefi 5).
  • --src-cc PEsegðu geoipeiningunni að takmarka komandi pakka við þá sem koma frá Perú. Fyrir fleiri landsnúmer leitaðu að ISO 3166 country codesá netinu.
  • -j ACCEPTsem -jrök segir iptableshvað á að gera ef pakki passar skorður tilgreind í fyrri rök. Í þessu tilfelli verður ACCEPTþá pakka, aðrir valkostir eru REJECT, DROPog fleira. Þú getur fundið fleiri valkosti með því að leita iptables jump targetsá netinu.

1. Grunnatriði

Listaðu allar reglur.

sudo iptables -L

Listaðu allar skipanir sem voru notaðar til að búa til þær reglur sem nú eru notaðar, gagnlegar til að breyta eða eyða reglum.

sudo iptables -S

Til að eyða tiltekinni reglu skaltu velja reglu úr sudo iptables -Sog setja í staðinn -Afyrir -D.

# -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT

sudo iptables -D INPUT -p tcp -m tcp --dport 22 -j ACCEPT

Skráðu allar númeraðar reglur í INPUTkeðjunni.

sudo iptables -L INPUT --line-numbers

Eyða númeraðri reglu.

sudo iptables -D INPUT 2

Til að hreinsa allar reglur.

sudo iptables -F

Viðvörun: þú gætir misst tenginguna ef þú ert tengdur með SSH .

Hreinsaðu aðeins reglur í OUTPUTkeðjunni.

sudo iptables -F OUTPUT

2. Búðu til upphafsreglur

Leyfa SSHá eth0viðmóti

sudo iptables -A INPUT -i eth0 -p tcp -m tcp --dport 22 -j ACCEPT
  • -i eth0 beita reglu á tiltekið viðmót, til að leyfa frá hvaða viðmóti sem er að fjarlægja þessa skipun.

Til að takmarka komandi pakka við ákveðna IP (þ.e. 10.0.3.1/32).

sudo iptables -A INPUT -i eth0 -s 10.0.3.1/32 -p tcp -m tcp --dport 22 -j ACCEPT
  • -s 10.0.3.1/32 tilgreinir IP/undirnet til að leyfa tengingar frá.

Stilltu sjálfgefnar keðjureglur.

Viðvörun: Áður en þú heldur áfram skaltu ganga úr skugga um að þú hafir notað réttar SSH reglur ef þú vinnur á ytri netþjóni .

sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP 
sudo iptables -P OUTPUT ACCEPT 
  • -P INPUT DROP neitar öllum pökkum sem berast (þ.e. enginn mun geta tengst keyrandi netþjónum þínum eins og Apache, SQL osfrv.).
  • -P FORWARD DROP neitar öllum framsendum pökkum (þ.e. þegar þú ert að nota kerfið þitt sem leið).
  • -P OUTPUT ACCEPTleyfir alla senda pakka (þ.e. þegar þú framkvæmir HTTPbeiðni).

Leyfa alla umferð á bakslagsviðmóti ( mælt með ).

sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A OUTPUT -o lo -j ACCEPT

3. Gerðu reglur viðvarandi

Vistaðu núverandi iptablesreglur.

sudo netfilter-persistent save
sudo netfilter-persistent reload

Ef þú ert að keyra inni í gámi mun netfilter-persistentskipunin líklegast ekki virka, svo þú þarft að endurstilla iptables-persistentpakkann.

sudo dpkg-reconfigure iptables-persistent

4. Leyfa sendandi tengingar

Leyfa DNS fyrirspurnir.

sudo iptables -A OUTPUT -p tcp --dport 53 -m state --state NEW -j ACCEPT
sudo iptables -A OUTPUT -p udp --dport 53 -m state --state NEW -j ACCEPT

Notaðu stateeininguna til að leyfa RELATEDog senda ESTABLISHEDút pakka.

sudo iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

Leyfa viðeigandi höfn; í þessu tilviki, HTTPhafnir.

sudo iptables -A OUTPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT

Fleiri tengi sem þú gætir viljað nota.

  • FTP: tcp við höfn 21
  • HTTPS: tcp við höfn 443
  • DHCP: udp við höfn 67
  • NTP: udp við höfn 123

Athugið: Ef þú vilt leyfa apt-getgæti verið nauðsynlegt að leyfa FTPogHTTPS .

Leyfa aðeins skilaða umferð fyrir RELATEDog þegar ESTABLISHEDtengingar ( mælt með því stundum er tvíátta samskipta krafist).

sudo iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
Aðrar gagnlegar reglur

Leyfa ping beiðnir utan frá.

sudo iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
sudo iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT

Framsenda umferð á eth0höfn 2200til 10.0.3.21:22(gagnlegt ef þú vilt afhjúpa SSH netþjón sem er í gangi inni í gámi).

sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 2200 -j DNAT --to-destination 10.0.3.21:22

Ef þú skráir þig inn á netþjóninn þinn með SSH verður viðvarandi tenging búin til (þ.e. engar nýjar tengingar þó þú sért tengdur í meira en 1 klukkustund). Ef þér mistekst og reynir að skrá þig inn aftur, verður ný tenging búin til. Þetta mun loka á stöðugar SSH innskráningartilraunir með því að takmarka nýjar tengingar á klukkustund.

sudo iptables -I INPUT -p tcp --dport 22 -m state --state NEW -m recent --set
sudo iptables -I INPUT -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 3600 --hitcount 4 -j DROP

Beindu öllum beiðnum um port 443í port 4430(gagnlegt ef þú vilt bindast við port 443án root).

sudo iptables -t nat -A PREROUTING -i ens3 -p tcp --dport 443 -j REDIRECT --to-port 4430
sudo iptables -A INPUT -p tcp -m tcp --dport 4430 -m geoip --src-cc PE -j ACCEPT
  • ens3 netviðmótið.
  • -m geoip landblokkareining (sjá skref 5).

Viðvörun: Ekki nota lo, stýrikerfið mun fleygja öllum pökkum sem vísað er á bakhliðarviðmótið .

5. Leyfa eða loka fyrir heil lönd

5.1 Uppsetning xtables-addons

Þú getur sett upp xtables-addonseininguna með ýmsum aðferðum, ekki hika við að nota þá uppsetningaraðferð sem hentar þér best.

  • Settu upp með því að nota apt-get.

    sudo apt-get install xtables-addons-common
    
  • Settu upp með því að nota module-assistant.

    sudo apt-get install module-assistant xtables-addons-source
    sudo module-assistant --verbose --text-mode auto-install xtables-addons
    
  • Settu upp frá uppruna.

    sudo apt-get install git bc libncurses5-dev libtext-csv-xs-perl autoconf automake libtool xutils-dev iptables-dev
    git clone git://git.code.sf.net/p/xtables-addons/xtables-addons
    cd xtables-addons
    ./autogen.sh
    ./configure
    make
    sudo make install
    

Búðu til gagnagrunn „landa“.

sudo apt-get install libtext-csv-xs-perl unzip
sudo mkdir /usr/share/xt_geoip
sudo /usr/lib/xtables-addons/xt_geoip_dl
sudo /usr/lib/xtables-addons/xt_geoip_build -D /usr/share/xt_geoip *.csv
sudo rm GeoIPCountryCSV.zip GeoIPCountryWhois.csv GeoIPv6.csv

Endurræstu kerfið þitt.

sudo reboot

Eftir að xtables-addonshafa verið sett upp með góðum árangri, eftir fyrstu endurræsingu, keyrðu depmodannars landslokun virkar ekki rétt (þetta er aðeins krafist í fyrsta skipti).

sudo depmod 

Búðu til handrit til /etc/cron.monthly/geoip-updaterað uppfæra geoipgagnagrunninn mánaðarlega.

#!/usr/bin/env bash
# this script is intended to run with sudo privileges

echo 'Removing old database---------------------------------------------------'
rm -rf /usr/share/xt_geoip/*
mkdir -p /usr/share/xt_geoip

echo 'Downloading country databases-------------------------------------------'
mkdir /tmp/geoip-updater
cd /tmp/geoip-updater
/usr/lib/xtables-addons/xt_geoip_dl

echo 'Building geoip database-------------------------------------------------'
/usr/lib/xtables-addons/xt_geoip_build -D /usr/share/xt_geoip *.csv

echo 'Removing temporary files------------------------------------------------'
cd /tmp
rm -rf /tmp/geoip-updater

Gerðu /etc/cron.monthly/geoip-updaterexecutable.

sudo chmod +x /etc/cron.monthly/geoip-updater

5.2 Dæmi um reglur

_Athugið: Ef þú færð iptables: No chain/target/match by that namevillu þegar þú reynir að beita geoipreglu er hugsanlegt að hún xtables-addonshafi ekki verið sett upp rétt. Prófaðu aðra uppsetningaraðferð.

Lokaðu fyrir alla pakka sem berast frá Kína, Hong Kong, Rússlandi og Kóreu.

sudo iptables -A INPUT -m geoip --src-cc CN,HK,RU,KR -j DROP

Leyfa komandi pakka á höfn 80alls staðar að nema löndunum hér að ofan.

sudo iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT

Leyfa komandi pökkum á ens3viðmótinu á höfn 22eingöngu frá Perú (veljið landsnúmerið sem þú vilt taka við pökkum frá, til dæmis USfyrir Bandaríkin).

sudo iptables -A INPUT -i ens3 -p tcp -m tcp --dport 22 -m geoip --src-cc PE -j ACCEPT

Leyfa komandi pakka á höfn 443aðeins frá Perú.

sudo iptables -A INPUT -p tcp -m tcp --dport 443 -m geoip --src-cc PE -j ACCEPT

Skildu eftir athugasemd

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Gervigreind er ekki í framtíðinni, hún er hér í nútímanum Í þessu bloggi Lestu hvernig gervigreindarforrit hafa haft áhrif á ýmsa geira.

DDOS árásir: Stutt yfirlit

DDOS árásir: Stutt yfirlit

Ertu líka fórnarlamb DDOS árása og ruglaður með forvarnaraðferðirnar? Lestu þessa grein til að leysa spurningar þínar.

Hefur þú einhvern tíma velt því fyrir þér hvernig tölvuþrjótar græða peninga?

Hefur þú einhvern tíma velt því fyrir þér hvernig tölvuþrjótar græða peninga?

Þú gætir hafa heyrt að tölvuþrjótar græða mikið af peningum, en hefur þú einhvern tíma velt því fyrir þér hvernig þeir vinna sér inn svona peninga? við skulum ræða.

Byltingarkenndar uppfinningar frá Google sem munu auðvelda lífi þínu.

Byltingarkenndar uppfinningar frá Google sem munu auðvelda lífi þínu.

Viltu sjá byltingarkenndar uppfinningar frá Google og hvernig þessar uppfinningar breyttu lífi hvers manns í dag? Lestu síðan til að blogga til að sjá uppfinningar frá Google.

Föstudagur Nauðsynlegur: Hvað varð um gervigreindardrifna bíla?

Föstudagur Nauðsynlegur: Hvað varð um gervigreindardrifna bíla?

Hugmyndin um að sjálfkeyrandi bílar fari á göturnar með hjálp gervigreindar er draumur sem við höfum átt um tíma núna. En þrátt fyrir nokkur loforð eru þau hvergi sjáanleg. Lestu þetta blogg til að læra meira…

Tæknileg sérkenni: Fjarlæg framtíð mannlegrar siðmenningar?

Tæknileg sérkenni: Fjarlæg framtíð mannlegrar siðmenningar?

Þar sem vísindin þróast hratt og taka yfir mikið af viðleitni okkar, eykst hættan á því að verða fyrir óútskýranlegri einstæðu. Lestu, hvað sérkenni gæti þýtt fyrir okkur.

Virkni Big Data Reference Architecture Layers

Virkni Big Data Reference Architecture Layers

Lestu bloggið til að þekkja mismunandi lög í Big Data Architecture og virkni þeirra á einfaldasta hátt.

Þróun gagnageymslu – Infographic

Þróun gagnageymslu – Infographic

Geymsluaðferðir gagna hafa verið að þróast gæti verið frá fæðingu gagna. Þetta blogg fjallar um þróun gagnageymslu á grundvelli upplýsingamynda.

6 ótrúlegir kostir þess að hafa snjall heimilistæki í lífi okkar

6 ótrúlegir kostir þess að hafa snjall heimilistæki í lífi okkar

Í þessum stafræna heimi hafa snjallheimilistæki orðið afgerandi hluti af lífi. Hér eru nokkrir ótrúlegir kostir snjallheimatækja um hvernig þau gera líf okkar þess virði að lifa því og einfaldara.

macOS Catalina 10.15.4 viðbót uppfærsla veldur fleiri vandamálum en að leysa

macOS Catalina 10.15.4 viðbót uppfærsla veldur fleiri vandamálum en að leysa

Nýlega gaf Apple út macOS Catalina 10.15.4 viðbótaruppfærslu til að laga vandamál en svo virðist sem uppfærslan sé að valda fleiri vandamálum sem leiða til múrsteins á Mac vélum. Lestu þessa grein til að læra meira