Opret din egen firewall med iptables ved hjælp af dette enkle script del 2

Firewall_ (netværk)

Hej alle sammen, i dag bringer jeg jer en anden del af denne serie af tutorials om firewall med iptables, meget enkel, så du kan kopiere og indsætte, jeg tror, ​​at det i slutningen af ​​dagen er, hvad alle begyndere ser efter eller endda mest oplevet, hvorfor skal vi genopfinde hjulet 100 gange, ikke?

Denne gang beder jeg dem om at prøve at fokusere på det meget specifikke tilfælde af, om vi vil have vores firewall til at være meget mere aggressiv med en OUTPUT DROP-politik. Dette indlæg er også på anmodning af en læser af denne side og mit indlæg. (Inde i mit sind wiiiiiiiiiiiii)

Lad os tale lidt om "fordele og ulemper" ved at etablere Output Drop-politikker, den som jeg primært kan fortælle dig om, er at det gør jobbet meget mere kedeligt og besværligt, men proffset er, at du på netværksniveau har sikkerhed, end hvis du satte dig ned For at tænke, designe og planlægge politikkerne godt har du en meget mere sikker server.

For ikke at vandre rundt eller komme væk fra emnet, vil jeg hurtigt forklare dig med et eksempel på, hvordan dine regler skal være mere eller mindre

iptables -A OUTPUT -o eth0 -p tcp –sport 80 -m tilstand –state ETABLERET -j ACCEPT
-A fordi vi tilføjede reglen
-o henviser til udgående trafik, så placeres grænsefladen, hvis den ikke er specificeret, fordi den matcher dem alle.
-sport oprindelseshavn, spiller en vigtig rolle, fordi vi i de fleste tilfælde ikke ved, fra hvilken havn de skal fremsætte anmodningen, hvis vi i så fald kunne bruge dport
–Dport destinationsport, når vi på forhånd specifikt ved, at den udgående forbindelse kun skal gå til en bestemt port. Det skal være for noget meget specifikt som f.eks. En fjern mysql-server.
-m tilstand –stat ETABLERET Dette er allerede et udsmykning af at opretholde de allerede etablerede forbindelser, vi kan dykke ned i det i et fremtidigt indlæg
-d at tale om destination, hvis det kunne specificeres, for eksempel ssh til en bestemt maskine ved hjælp af dens ip

#!/bin/bash

# Vi renser iptables-tabeller -F iptables -X # Vi renser NAT iptables -t nat -F iptables -t nat -X # mangelbord til ting som PPPoE, PPP og ATM iptables -t mangle -F iptables -t mangle -X # Politikker Jeg synes, det er den bedste måde for begyndere og # stadig ikke dårlig, jeg forklarer output alt, fordi de er udgående forbindelser #, input, vi kasserer 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 # Hold tilstand. Alt, hvad der allerede er tilsluttet (etableret), efterlader vi det som denne iptables -A INPUT -m-tilstand --stat ESTABLISHED, RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED, RELATED -j ACCEPT
# Loop-enhed. iptables -A INPUT -i lo -j ACCEPT
# Iptables loopback output -A OUTPUT -o lo -j ACCEPT

# http, https, vi specificerer ikke grænsefladen, fordi # vi vil have, at det skal være alle iptables -A INPUT -p tcp --dport 80 -j ACCEPT iptables -A INPUT -p tcp --dport 443 -j ACCEPT
# afgang
# http, https, vi specificerer ikke grænsefladen, fordi
# vi vil have det for alle, men hvis vi specificerer outputporten
iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT iptables -A OUTPUT -p tcp --sport 443 -j ACCEPT

# ssh kun internt og fra dette interval af ip's iptables -A INPUT -p tcp -s 192.168.xx / 24 -i $ intranet --dport 7659 -j ACCEPT
# output # ssh kun internt og fra denne række af ip'er
iptables -A OUTPUT -p tcp -d 192.168.xx / 24 -o $ intranet - sport 7659 -j ACCEPT
# overvågning for eksempel hvis de har zabbix eller en anden snmp-tjeneste iptables -A INPUT -p tcp -s 192.168.1.1 -i $ intranet --dport 10050 -j ACCEPT
# afgang
# overvågning for eksempel hvis de har zabbix eller en anden snmp-tjeneste
iptables -A OUTPUT -p tcp -d 192.168.1.1 -o $ intranet --port 10050 -j ACCEPT

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

#mysql med postgres er port 5432 iptables -A INPUT -p tcp -s 192.168.xx --sport 3306 -i $ intranet -j ACCEPT
# output - spørgsmål også stillet af en bruger til at oprette en meget specifik # 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 $ intranet -j ACCEPT

#sendmail bueeeh hvis du vil sende nogle mails #iptables -A OUTPUT -p tcp --dport 25 -j ACCEPT # Anti-SPOOFING 09/07/2014 # SERVER_IP = "190.xxx" # server IP - den rigtige wan ip af din LAN_RANGE-server = "192.168.xx / 21" # LAN-rækkevidde for dit netværk eller dine vlan # IP'er, der aldrig skal komme ind i ekstranettet, det er at bruge lidt # logik, hvis vi har et rent WAN-interface, det skal aldrig indtast # trafik LAN-type gennem denne grænseflade 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 udføres, når en regel matcher ACTION = "DROP" # Pakker med samme ip som min server gennem wan iptables -A INPUT -i $ extranet -s $ SERVER_IP -j $ ACTION
iptables -A OUTPUT -o $ extranet -s $ SERVER_IP -j $ ACTION

# Pakker med LAN-området til wan, jeg sætter det sådan, hvis du har # et bestemt netværk, men dette er overflødigt med følgende # regel inde i "for" loop iptables -A INPUT -i $ extranet -s $ LAN_RANGE -j $ HANDLING
iptables -A OUTPUT -o $ extranet -s $ LAN_RANGE -j $ ACTION

## Alle SPOOF-netværk er ikke tilladt af wan for ip i $ SPOOF_IPS gør iptables -A INPUT -i $ extranet -s $ ip -j $ ACTION
iptables -A OUTPUT -o $ extranet -s $ ip -j $ ACTION
færdig

I den næste gennemgang vil vi lave havneområde og også etablere politikker organiseret efter navn blandt andet ... Jeg afventer dine kommentarer og anmodninger.


Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.