Cruthaigh do bhalla dóiteáin féin le iptables ag baint úsáide as an script shimplí seo

Chaith mé tamall ag smaoineamh ar dhá rud faoi na iptables seo: is tosaitheoirí an chuid is mó díobh siúd a bhíonn ag cuardach na ranganna teagaisc seo agus sa dara háit, tá go leor ag lorg rud éigin simplí agus casta cheana féin.

Tá an sampla seo le haghaidh freastalaí gréasáin, ach is féidir leat níos mó rialacha a chur leis go héasca agus iad a chur in oiriúint do do chuid riachtanas.

Nuair a fheiceann tú athrú "x" do do ip


#!/bin/bash

# Glanaimid táblaí iptables -F iptables -X # Glanaimid NAT iptables -t nat -F iptables -t nat -X # tábla mangle le haghaidh rudaí mar PPPoE, PPP, agus ATM iptables -t mangle -F iptables -t mangle -X # Polasaithe Sílim gurb é seo an bealach is fearr do thosaitheoirí agus # nach bhfuil go dona fós, míneoidh mé aschur go léir toisc gur naisc iad atá ag dul as oifig #, ionchur déanaimid gach rud a scriosadh, agus níor cheart aon fhreastalaí a chur ar aghaidh. iptables -P INPUT DROP iptables -P OUTPUT ACCEPT iptables -P FORWARD DROP #Intranet LAN inlíon = eth0 #Extranet wan extranet = eth1 # Coinnigh stáit. Fágtar gach rud atá ceangailte (bunaithe) cheana féin mar seo: iptables -A INPUT -m state --state ESTABLISHED, RELATED -j ACCEPT # Loop device. iptables -A INPUT -i lo -j ACCEPT # http, https, ní shonraímid an comhéadan mar gheall ar # ba mhaith linn go mbeadh sé do gach iptables -A INPUT -p tcp --dport 80 -j ACCEPT iptables -A INPUT -p tcp - dport 443 -j ACCEPT # ssh ach go hinmheánach agus ón raon seo de iptables ip -A INPUT -p tcp -s 192.168.xx / 24 -i $ inlíon --dport 7659 -j ACCEPT # monatóireacht mar shampla má tá zabbix nó roinnt eile acu snmp iptables service -A INPUT -p tcp -s 192.168.xx / 24 -i $ inlíon --dport 10050 -j ACCEPT # icmp, ping go maith is fútsa atá sé iptables -A INPUT -p icmp -s 192.168.xx / 24 - i $ inlíon -j ACCEPT #mysql le postgres is port 5432 iptables -A INPUT -p tcp -s 192.168.xx --sport 3306 -i $ inlíon -j ACCEPT #sendmail bueeeh más mian leat roinnt ríomhphoist a sheoladh #iptables -A OUTPUT -p tcp --dport 25 -j ACCEPT # Anti-SPOOFING 09/07/2014 # SERVER_IP = "190.xxx" # IP freastalaí - an fíor wan ip de do fhreastalaí LAN_RANGE = "192.168.xx / 21" # raon LAN de do líonra nó de do vlan # Ip's nár cheart dul isteach san eislíon riamh,ná beagán # loighic a úsáid má tá comhéadan WAN amháin againn níor cheart dó riamh trácht de chineál # LAN a iontráil tríd an gcomhéadan sin 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 "# Gníomh réamhshocraithe - le déanamh nuair a mheaitseálann riail ar bith ACTION =" DROP "# Paicéid leis an ip céanna de mo fhreastalaí trí na wan iptables -A INPUT -i $ extranet -s $ SERVER_IP -j $ ACTION # iptables -A OUTPUT -o $ extranet -s $ SERVER_IP -j $ ACTION # Paicéid leis an Raon LAN don wan, cuirim mar seo é ar eagla go mbeadh # aon líonra ar leith agat, ach tá sé seo iomarcach leis an riail # seo a leanas taobh istigh den lúb " in ionad "iptables -A INPUT -i $ extranet -s $ LAN_RANGE -j $ ACTION iptables -A OUTPUT -o $ extranet -s $ LAN_RANGE -j $ ACTION ## Gach Líonra SPOOF nach gceadaíonn an wan do ip i $ SPOOF_IPS do iptables -A INPUT -i $ extranet -s $ ip -j $ ACTION iptables -A OUTPUT -o $ extranet -s $ ip -j $ ACTION déanta

Bím i gcónaí ag fanacht le do chuid tuairimí, bí ag faire ar an mblag seo, Go raibh maith agat


Cloíonn ábhar an ailt lenár bprionsabail eitic eagarthóireachta. Chun earráid a thuairisciú cliceáil anseo.

12 trácht, fág mise

Fág do thrácht

Ní thabharfar do sheoladh r-phoist a fhoilsiú. Réimsí riachtanacha atá marcáilte le *

*

*

  1. Freagrach as na sonraí: Miguel Ángel Gatón
  2. Cuspóir na sonraí: SPAM a rialú, bainistíocht trácht.
  3. Legitimation: Do thoiliú
  4. Na sonraí a chur in iúl: Ní chuirfear na sonraí in iúl do thríú páirtithe ach amháin trí oibleagáid dhlíthiúil.
  5. Stóráil sonraí: Bunachar sonraí arna óstáil ag Occentus Networks (EU)
  6. Cearta: Tráth ar bith is féidir leat do chuid faisnéise a theorannú, a aisghabháil agus a scriosadh.

  1.   HO2Gi a dúirt

    Cabhraíonn sé liom leanúint ar aghaidh ag foghlaim beagán níos mó buíochas a cóipeáladh.

    1.    BrodyDalle a dúirt

      tá fáilte romhat, sásta cabhrú leat

  2.   Xavier a dúirt

    Tá brón mór orm, ach tá dhá cheist agam (agus ceann mar bhronntanas 😉):

    An dtiocfá leis an gcumraíocht seo chun Apache a rith agus an chuid eile a dhúnadh seachas SSH?

    # Táimid glan táblaí
    iptables-F
    iptables-X

    Glanann muid NAT

    iptables -t nat -F
    iptables -t nat -X

    iptables -A INPUT -p tcp –dport 80 -j ACCEPT

    ssh ach go hinmheánach agus ón raon ip seo

    iptables -A INPUT -p tcp -s 192.168.xx / 24 -i $ inlíon –dport 7659 -j ACCEPT

    An dara ceist: An é 7659 an calafort a úsáidtear in SSH sa sampla seo?

    Agus an tríú agus an ceann deireanach: cén comhad ba cheart an chumraíocht seo a shábháil?

    Go raibh míle maith agat as an rang teagaisc, is mór an náire go bhfuil tú chomh nua-aoiseach agus nach féidir leat leas a bhaint as go maith.

    1.    BrodyDalle a dúirt

      is é seo an riail atá uait le haghaidh http ó apache
      iptables -A INPUT -p tcp –dport 80 -j ACCEPT

      ach ní mór duit polasaithe réamhshocraithe titim a dhearbhú freisin (tá sé sa script)
      iptables -P INPUT DROP
      iptables -P ACHOMHAIRC AMHÁIN
      iptables -P DROP FORWARD

      agus seo mar má tá tú iargúlta, caithfidh sé tú ar shiúl.
      iptables -A INPUT -m state –state BUNAITHE, GAOLMHARA -j ACCEPT

      más é 7659 calafort an ssh sin sa sampla, de réir réamhshocraithe tá sé 22, cé go molaim duit athrú go calafort “nach bhfuil ar eolas go maith”
      fear Níl a fhios agam, mar is mian leat ... firewall.sh agus cuireann tú é i rc.local (sh firewall.sh) ionas go rithfidh sé go huathoibríoch, braitheann sé ar an gcóras oibriúcháin atá agat, tá comhaid ann ina bhfuil tú in ann na rialacha a chur go díreach.

  3.   Jge a dúirt

    Hey, tá do script an-mhaith, ag déanamh anailíse air…. An bhfuil a fhios agat conas a d’fhéadfainn gach iarratas ó m’úsáideoirí a dhiúltú ar shuíomh Gréasáin ar leith?…. ach tá go leor freastalaithe ar an suíomh gréasáin seo….

    1.    BrodyDalle a dúirt

      Molaim roghanna eile:
      1) Is féidir leat crios bréige a chruthú i do dns ...
      2) Is féidir leat seachfhreastalaí a chur le acl
      lánchosc pheaca
      Maidir le iptables is féidir leat é seo a dhéanamh ... ní hé an rogha is fearr i gcónaí é (tá níos mó bealaí ann)
      iptables -A INPUT -s blog.desdelinux.ne -j DROP
      iptables -A OUTPUT -d blog.fromlinux.net -j DROP

      Inis dom ar oibrigh sé

  4.   Xavier a dúirt

    Go raibh maith agat as an bhfreagra, glanadh gach rud. Bhí mé ag fiafraí faoin gcalafort mar bhí iontas orm an 7659 a úsáid, ós rud é go dtosaíonn na calafoirt phríobháideacha ag an 49152, agus d’fhéadfadh sé cur isteach ar sheirbhís éigin nó ar rud éigin.
    Arís, go raibh maith agat as gach rud, tá sin go deas!

    Beannachtaí.

  5.   sic a dúirt

    BrodyDalle, conas is féidir liom teagmháil a dhéanamh leat? An-suimiúil do script.

  6.   Carlos a dúirt

    An bhfuil an líne roimhe seo "iptables -A OUTPUT -o $ extranet -s $ ip -j $ ACTION" chun do mheaisín féin a chosc ó spoofing? Nó an féidir go dtéann paicéad nimhithe éigin isteach agus go bhfágfaidh sé leis an bhfoinse nimhithe sin agus is é sin an fáth go bhfuil an riail san áireamh le OUTPUT freisin?
    Go raibh míle maith agat as an soiléiriú !!!

  7.   fran a dúirt

    seo mo script iptables féin, tá sé an-iomlán:

    # franes.iptables.airoso
    # doc.iptables.airoso: iptables le haghaidh leagáide agus le haghaidh nft
    #
    # calafoirt balla dóiteáin
    ############################
    #! / bin / bash
    #
    # an scáileán a ghlanadh
    ############################## tús /etc/f-iptables/default.cfg |||||
    soiléir
    # fág líne bhán
    chailleann
    easpórtáil tá = »» níl = »macalla as»
    # na hathróga is féidir leat a athrú chun rochtain a cheadú
    ###################### athróga le modhnú le $ tá nó $ níl
    hayexcepciones a onnmhairiú = »$ no»
    # tá eisceachtaí ann: $ sea chun óstach eisceachtúil agus $ níl a dhíchumasú
    onnmhairiú féar = »$ níl»
    # hayping: $ sea chun ligean do phinginí tríú páirtí agus $ níl a shéanadh
    onnmhairiú haylogserver = »$ no»
    # haylogeosserver: $ sea le bheith in ann tcp $ a logáil isteach gan a bheith in ann tcp a logáil
    ######
    ###################### athróga le modhnú trí "," nó le raonta ":" a chur leis
    eisceachtaí onnmhairiúcháin = »baldras.wesnoth.org»
    # ceadaíonn eisceachtaí óstach aonair nó iolrach ó bhalla dóiteáin nó gan aon luach
    onnmhaireoir logserver = scriosadh, ipp, dict, ssh
    calafoirt freastalaí # tcp atá logáilte isteach nuair a thagann paicéid isteach
    athsheoltóir onnmhairithe = 0/0
    # athsheoltóir: is fearr an líonra do chalafoirt freastalaí an líonra áitiúil nó roinnt ips
    cliant easpórtála dearg = 0/0
    #clientnet: an líonra do chalafoirt cliant is fearr ná gach líonra
    onnmhairiú servidortcp = scriosadh, ipp, dict, 6771
    # servidortcp: na calafoirt freastalaí tcp sonraithe
    easpórtáil serverudp = scriosadh
    #udpserver: na calafoirt freastalaí udp sonraithe
    onnmhairiú clientudp = fearann, bootpc, bootps, ntp, 20000: 45000
    cliant #udp: na calafoirt cliant udp sonraithe
    onnmhairiú clienttcp = fearann, http, https, ipp, git, dict, 14999: 15002
    cliant # tcp: na calafoirt shonraithe cliant tcp
    ############################ deireadh /etc/f-iptables/default.cfg |||||
    ############################## deireadh na n-athróg le modhnú
    balla dóiteáin a onnmhairiú = $ 1 athróg = $ 2
    más rud é ["$ athróg" = "$ NULL"]; ansin foinse /etc/f-iptables/default.cfg;
    foinse eile / etc / f-iptables / $ 2; fi
    ############################### nó scríobhfaidh sé na hathróga le comhad .cfg
    ################################################ #########################################
    balla dóiteáin onnmhairithe = $ 1 athróg onnmhairithe = $ 2
    #######################################
    más rud é ["$ firewall" = "dícheangailte"]; ansin macalla FIREWALL DISCONNECTED;
    export activateserver = »$ no» activclient = »$ no» fliuch = »$ níl»;
    elif ["$ firewall" = "cliant"]; ansin macalla FIREWALL CLIENT;
    export activateserver = »$ no» activclient = »» fliuch = »$ níl»;
    elif ["$ firewall" = "freastalaí"]; ansin macalla FIREWALL SERVER;
    export activateserver = »» activclient = »$ no» fliuch = »$ níl»;
    elif ["$ firewall" = "cliant agus freastalaí"]; ansin macalla FIREWALL CLIENT AND SERVER;
    freastalaí gníomhachtaithe onnmhairithe = »»; onnmhairiú activclient = »»; onnmhairiú fliuch = »$ níl»;
    elif ["$ firewall" = "ceadaitheach"]; ansin macalla DÓITEÁIN CEADÚNACH;
    export activateserver = »$ no» activclient = »$ níl» fliuch = »»;
    eile
    $ seiceáil sudo macalla iptables-leagáid:
    $ seiceáil sudo iptables-leagáid -v -L INPUT
    $ seiceáil sudo iptables-leagáid -v -L TORADH
    $ seiceáil sudo macalla iptables-nft:
    $ seiceáil sudo iptables-nft -v -L INPUT
    $ seiceáil sudo iptables-nft -v -L OUTPUT
    macalla _____parameters____ $ 0 $ 1 $ 2
    macalla "teilgthe gan pharaiméadair is ea iptables a liostáil."
    macalla "An chéad pharaiméadar (iptables a chumasú): dícheangailte nó cliant nó freastalaí nó cliant agus freastalaí nó ceadaitheach."
    macalla "An dara paraiméadar: (roghnach): roghnaíonn an comhad default.cfg /etc/f-iptables/default.cfg"
    macalla "Socruithe inathraithe:" $ (ls / etc / f-iptables /)
    scoir 0; fi
    #################
    chailleann
    macalla Caith $ 0 dícheangailte nó cliant nó freastalaí nó cliant agus freastalaí nó ceadaitheach nó athróg nó gan paraiméadar a úsáid chun iptables a liostáil.
    macalla Tá roinnt athróg inite sa chomhad $ 0.
    ############################### na hathróga thuas i ngníomh
    ###############################
    macalla ag socrú na n-athróg iptables
    athróga gníomhachtaithe macalla
    chailleann
    ########################### na rialacha iptables
    macalla Ag socrú iptables-leagáid
    sudo / usr / sbin / iptables-leagáid -t scagaire -F
    sudo / usr / sbin / iptables-leagáid -t nat -F
    sudo / usr / sbin / iptables-leagáid -t mangle -F
    sudo / usr / sbin / ip6tables-leagáid -t scagaire -F
    sudo / usr / sbin / ip6tables-leagáid -t nat -F
    sudo / usr / sbin / ip6tables-leagáid -t mangle -F
    sudo / usr / sbin / ip6tables-leagáid -A INPUT -j DROP
    sudo / usr / sbin / ip6tables-leagáid -A TORADH -j DROP
    sudo / usr / sbin / ip6tables-leagáid -A RÉAMHRÁ -j DROP
    sudo / usr / sbin / iptables-leagáid -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT> / dev / null
    $ haylogserver sudo / usr / sbin / iptables-leagáid -A INPUT -p tcp -m multiport –dports $ logserver -j LOG> / dev / null
    $ hayeexceptions sudo / usr / sbin / iptables-leagáid -A INPUT -s $ eisceachtaí -j ACCEPT> / dev / null
    $ gníomhaigh sudo / usr / sbin / iptables-leagáid -A INPUT -p udp -m multiport –dports $ serverudp -s $ redserver -d $ redserver -j ACCEPT> / dev / null
    $ gníomhachtú sudo / usr / sbin / iptables-leagáid -A INPUT -p tcp -m multiport –dports $ serverrtcp -s $ redserver -d $ redserver -j ACCEPT> / dev / null
    $ activclient sudo / usr / sbin / iptables-leagáid -A INPUT -p udp -m multiport –sports $ clientudp -m state –state bunaithe -s $ clientnet -d $ clientnet -j ACCEPT> / dev / null
    $ activclient sudo / usr / sbin / iptables-leagáid -A INPUT -p tcp -m multiport –sports $ clienttcp -m state –state bunaithe -s $ clientnet -d $ clientnet -j ACCEPT> / dev / null
    $ hayping sudo / usr / sbin / iptables-leagáid -A INPUT -p icmp –icmp-type macalla-freagra -j ACCEPT> / dev / null
    sudo / usr / sbin / iptables-leagáid -A INPUT -j DROP> / dev / null
    sudo / usr / sbin / iptables-leagáid -A TORADH -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT> / dev / null
    $ hayeexceptions sudo / usr / sbin / iptables-leagáid -A TORADH -d $ eisceachtaí -j ACCEPT> / dev / null
    $ gníomhaigh sudo / usr / sbin / iptables-leagáid -A OUTPUT -p udp -m multiport –sports $ serverudp -s $ redserver -d $ redserver -j ACCEPT> / dev / null
    $ gníomhachtú sudo / usr / sbin / iptables-leagáid -A OUTPUT -p tcp -m multiport –sports $ serverrtcp -s $ redserver -d $ redserver -j ACCEPT> / dev / null
    $ activclient sudo / usr / sbin / iptables-leagáid -A OUTPUT -p udp -m multiport –dports $ clientudp -s $ clientnet -d $ clientnet -j ACCEPT> / dev / null
    $ activclient sudo / usr / sbin / iptables-leagáid -A OUTPUT -p tcp -m multiport –dports $ clienttcp -s $ clientnet -d $ clientnet -j ACCEPT> / dev / null
    $ hayping sudo / usr / sbin / iptables-Heritage -A OUTPUT -p icmp –icmp-type echo-request -j ACCEPT> / dev / null
    sudo / usr / sbin / iptables-leagáid -A TORADH -j DROP
    sudo / usr / sbin / iptables-leagáid -A RÉAMHRÁ -j DROP
    macalla iptables-leagáid cumasaithe
    chailleann
    macalla Ag socrú iptables-nft
    scagaire sudo / usr / sbin / iptables-nft -t -F
    sudo / usr / sbin / iptables-nft -t nat -F
    sudo / usr / sbin / iptables-nft -t mangle -F
    scagaire sudo / usr / sbin / ip6tables-nft -t -F
    sudo / usr / sbin / ip6tables-nft -t nat -F
    sudo / usr / sbin / ip6tables-nft -t mangle -F
    sudo / usr / sbin / ip6tables-nft -A INPUT -j DROP
    sudo / usr / sbin / ip6tables-nft -A OUTPUT -j DROP
    sudo / usr / sbin / ip6tables-nft -A RÉAMHRÁ -j DROP
    sudo / usr / sbin / iptables-nft -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT> / dev / null
    $ haylogserver sudo / usr / sbin / iptables-nft -A INPUT -p tcp -m multiport –dports $ logserver -j LOG> / dev / null
    $ hayeexceptions sudo / usr / sbin / iptables-nft -A INPUT -s $ eisceachtaí -j ACCEPT> / dev / null
    $ gníomhaigh sudo / usr / sbin / iptables-nft -A INPUT -p udp -m multiport –dports $ serverudp -s $ redserver -d $ redserver -j ACCEPT> / dev / null
    $ gníomhaigh sudo / usr / sbin / iptables-nft -A INPUT -p tcp -m multiport –dports $ serverrtcp -s $ redserver -d $ redserver -j ACCEPT> / dev / null
    $ activclient sudo / usr / sbin / iptables-nft -A INPUT -p udp -m multiport –sports $ clientudp -m state –state bunaithe -s $ clientnet -d $ clientnet -j ACCEPT> / dev / null
    $ activclient sudo / usr / sbin / iptables-nft -A INPUT -p tcp -m multiport –sports $ clienttcp -m state –state bunaithe -s $ clientnet -d $ clientnet -j ACCEPT> / dev / null
    $ hayping sudo / usr / sbin / iptables-nft -A INPUT -p icmp –icmp-type macalla-freagra -j ACCEPT> / dev / null
    sudo / usr / sbin / iptables-nft -A INPUT -j DROP> / dev / null
    sudo / usr / sbin / iptables-nft -A OUTPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT> / dev / null
    $ hayeexceptions sudo / usr / sbin / iptables-nft -A OUTPUT -d $ eisceachtaí -j ACCEPT> / dev / null
    $ gníomhaigh sudo / usr / sbin / iptables-nft -A OUTPUT -p udp -m multiport –sports $ serverudp -s $ redserver -d $ redserver -j ACCEPT> / dev / null
    $ gníomhachtú sudo / usr / sbin / iptables-nft -A OUTPUT -p tcp -m multiport –sports $ serverrtcp -s $ redserver -d $ redserver -j ACCEPT> / dev / null
    $ cumasaigh cliant sudo / usr / sbin / iptables-nft -A OUTPUT -p udp -m multiport –dports $ clientudp -s $ clientnet -d $ clientnet -j ACCEPT> / dev / null
    $ activclient sudo / usr / sbin / iptables-nft -A OUTPUT -p tcp -m multiport –dports $ clienttcp -s $ clientnet -d $ clientnet -j ACCEPT> / dev / null
    $ hayping sudo / usr / sbin / iptables-nft -A OUTPUT -p icmp –icmp-type echo-request -j ACCEPT> / dev / null
    sudo / usr / sbin / iptables-nft -A OUTPUT -j DROP
    sudo / usr / sbin / iptables-nft -A RÉAMHRÁ -j DROP
    macalla iptables-nft cumasaithe
    chailleann
    $ fliuch sudo / usr / sbin / iptables-leagáid -F> / dev / null
    $ fliuch sudo / usr / sbin / iptables-leagáid -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT> / dev / null
    $ fliuch sudo / usr / sbin / iptables-leagáid -A INPUT -m state –state bunaithe -j ACCEPT> / dev / null
    $ fliuch sudo / usr / sbin / iptables-leagáid -A INPUT -j DROP> / dev / null
    $ fliuch sudo / usr / sbin / iptables-leagáid -A TORADH -j ACCEPT> / dev / null
    $ fliuch sudo / usr / sbin / iptables-leagáid -A RÉAMHRÁ -j DROP> / dev / null
    $ fliuch sudo / usr / sbin / iptables-nft -F> / dev / null
    $ fliuch sudo / usr / sbin / iptables-nft -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT> / dev / null
    $ fliuch sudo / usr / sbin / iptables-nft -A INPUT -m state –state bunaithe -j ACCEPT> / dev / null
    $ fliuch sudo / usr / sbin / iptables-nft -A INPUT -j DROP> / dev / null
    $ fliuch sudo / usr / sbin / iptables-nft -A TORADH -j ACCEPT> / dev / null
    $ fliuch sudo / usr / sbin / iptables-nft -A RÉAMHRÁ -j DROP> / dev / null
    ###########################
    macalla a chaith tú $ 0 $ 1 $ 2
    # scoir an script
    scoir 0

  8.   Luis Duran a dúirt

    Conas a leagfainn riail dá n-úsáidfeadh an balla dóiteáin seo é le haghaidh mo gheata agus go mbeadh scuid laistigh den LAN ???