Lag din egen brannmur med iptables ved hjelp av dette enkle skriptet del 2

Brannmur_ (nettverk)

Hei alle sammen, i dag gir jeg deg en andre del av denne veiledningen om brannmur med iptables, veldig enkelt slik at du kan kopiere og lime inn, jeg tror at det på slutten av dagen er det alle nybegynnere ser etter eller til og med de mest erfarne, hvorfor vi må finne opp hjulet på nytt 100 ganger, ikke sant?

Denne gangen ber jeg dem om å prøve å fokusere på det helt spesifikke tilfellet om vi vil at brannmuren vår skal være mye mer aggressiv med en OUTPUT DROP-policy. Dette innlegget er også på forespørsel fra en leser av disse sidene og innleggene mine. (Inni i mitt sinn wiiiiiiiiiiiii)

La oss snakke litt om "fordeler og ulemper" med å etablere Output Drop-politikk, den som jeg hovedsakelig kan fortelle deg er at det gjør jobben mye mer kjedelig og arbeidskrevende, men proffen er at du på nettverksnivå vil ha sikkerhet enn om du satte deg ned For å tenke, designe og planlegge policyene godt, vil du ha en mye sikrere server.

For ikke å vandre rundt eller gå av emnet, skal jeg fort forklare med et eksempel hvordan reglene dine skal være mer eller mindre

iptables -A OUTPUT -o eth0 -p tcp –sport 80 -m tilstand –state ETABLERET -j GODKJENNER
-A fordi vi la til regelen
-o refererer til utgående trafikk, så plasseres grensesnittet hvis det ikke er spesifisert fordi det samsvarer med dem alle.
-sport opprinnelseshavn, spiller en viktig rolle fordi vi i de fleste tilfeller ikke vet fra hvilken havn de skal sende forespørselen, hvis vi kan bruke dport
–Dport destinasjonsport, når vi spesifikt vet på forhånd at den utgående forbindelsen bare må gå til en bestemt port. Det må være for noe veldig punktlig som for eksempel en ekstern mysql-server.
-m tilstand –stat OPPRETTET Dette er allerede et pryd for å opprettholde de allerede etablerte forbindelsene, vi kan fordype oss i det i et fremtidig innlegg
-d å snakke om destinasjon, hvis det kunne spesifiseres, for eksempel ssh til en bestemt maskin med sin ip

#!/bin/bash

#Vi renser iptables-tabeller -F iptables -X # Vi renser NAT iptables -t nat -F iptables -t nat -X # mangelbord for ting som PPPoE, PPP og ATM iptables -t mangle -F iptables -t mangle -X # Politikk Jeg tror dette er den beste måten for nybegynnere og # fortsatt ikke dårlig, jeg skal forklare utdata alt fordi de er utgående tilkoblinger #, input vi forkaster alt, og ingen server skal videresende. iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP #Intranet LAN intranet = eth0 #Extranet wan extranet = eth1 # Keep state. Alt som allerede er koblet (etablert), lar vi det ligge som dette iptables -A INPUT -m state --state ESTABLISHED, RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED, RELATED -j ACCEPT
# Sløyfeenhet. iptables -A INNGANG -i lo -j ACCEPT
# Iptables loopback output -A OUTPUT -o lo -j ACCEPT

# http, https, vi spesifiserer ikke grensesnittet fordi # vi vil at det skal være alle iptables -A INPUT -p tcp --dport 80 -j ACCEPT iptables -A INPUT -p tcp --dport 443 -j ACCEPT
# avgang
# http, https, vi spesifiserer ikke grensesnittet fordi
# vi vil at det skal være for alle, men hvis vi spesifiserer utgangsporten
iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT iptables -A OUTPUT -p tcp --sport 443 -j ACCEPT

# ssh bare internt og fra dette spekteret av ip's iptables -A INPUT -p tcp -s 192.168.xx / 24 -i $ intranett --port 7659 -j ACCEPT
# output # ssh bare internt og fra dette spekteret av ip-er
iptables -A UTGANG -p tcp -d 192.168.xx / 24 -o $ intranett - sport 7659 -j AKSepterer
# overvåking for eksempel hvis de har zabbix eller andre SNMP-tjenestetabeller -A INPUT -p tcp -s 192.168.1.1 -i $ intranett --port 10050 -j ACCEPT
# avgang
# overvåking for eksempel hvis de har zabbix eller annen snmp-tjeneste
iptables -A OUTPUT -p tcp -d 192.168.1.1 -o $ intranett --dport 10050 -j ACCEPT

# icmp, ping bra er din beslutning iptables -A INPUT -p icmp -s 192.168.xx / 24 -i $ intranet -j ACCEPT
# avgang
# icmp, ping bra er din beslutning
iptables -A OUTPUT -p icmp -d 192.168.xx / 24 -o $ intranett -j ACCEPT

#mysql med postgres er port 5432 iptables -A INPUT -p tcp -s 192.168.xx --sport 3306 -i $ intranett -j ACCEPT
# output - spørsmål også stilt av en bruker for å lage en veldig spesifikk # regelserver: 192.168.1.2 mysql: 192.168.1.3
#mysql med postgres er port 5432
iptables -A OUTPUT -p tcp -s 192.168.1.2 -d 192.168.1.3 --dport 3306 -o $ intranett -j ACCEPT

#sendmail bueeeh hvis du vil sende litt e-post #iptables -A OUTPUT -p tcp --dport 25 -j ACCEPT # Anti-SPOOFING 09/07/2014 # SERVER_IP = "190.xxx" # server IP - the real wan ip of your LAN_RANGE server = "192.168.xx / 21" # LAN-område for nettverket ditt eller dine vlan # IP-er som aldri skal komme inn i ekstranettet, det er å bruke litt # logikk hvis vi har et rent WAN-grensesnitt, det skal aldri gå inn i # trafikk LAN-type gjennom det grensesnittet 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" # Standardhandling - skal utføres når noen regel samsvarer med ACTION = " DROP "# Pakker med samme ip som serveren min gjennom wan iptables -A INPUT -i $ extranet -s $ SERVER_IP -j $ ACTION
iptables -A UTGANG -o $ ekstranett -s $ SERVER_IP -j $ HANDLING

# Pakker med LAN Range for wan, jeg setter det slik hvis du har # noe bestemt nettverk, men dette er overflødig med følgende # regel inne i "for" loop iptables -A INPUT -i $ extranet -s $ LAN_RANGE -j $ ACTION
iptables -A UTGANG -o $ ekstranett -s $ LAN_RANGE -j $ HANDLING

## Alle SPOOF-nettverk ikke tillatt av wan for ip i $ SPOOF_IPS gjør iptables -A INNGANG -i $ ekstranett -s $ ip -j $ ACTION
iptables -A UTGANG -o $ ekstranett -s $ ip -j $ HANDLING
gjort

I neste gjennomgang vil vi gjøre havneområde og også etablere retningslinjer organisert etter navn, blant annet ... Jeg avventer kommentarer og forespørsler.


Bli den første til å kommentere

Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.