Vytvorte si vlastný firewall s iptables pomocou tejto jednoduchej časti skriptu, časť 2

Firewall_ (sieťové pripojenie)

Ahojte všetci, dnes vám prinášam druhú časť tejto série tutoriálov o firewalle s iptables, veľmi jednoduchú, aby ste mohli kopírovať a prilepovať, myslím si, že na konci dňa to hľadajú všetci začiatočníci alebo dokonca najviac skúsený, prečo musíme znovu objavovať koleso stokrát, nie?

Tentokrát im hovorím, aby sa pokúsili zamerať na veľmi konkrétny prípad, či chceme, aby bol náš firewall oveľa agresívnejší pomocou politiky OUTPUT DROP. Tento príspevok je tiež na žiadosť čitateľa týchto stránok a mojich príspevkov. (V mojej mysli wiiiiiiiiiiiii)

Poďme si niečo povedať o „kladoch a záporoch“ pri vytváraní politík poklesu výstupov, o ktorých vám môžem povedať, je, že robí prácu oveľa zdĺhavejšou a namáhavejšou, výhodou však je, že na úrovni siete budete mať zabezpečenie než keby ste si sadli Ak chcete dobre premyslieť, navrhnúť a naplánovať politiky, budete mať oveľa bezpečnejší server.

Aby ste sa netrafili alebo sa nedostali do témy, rýchlo vám na príklade vysvetlím, aké by mali byť viac-menej vaše pravidlá

iptables -A VÝSTUP -o eth0 -p tcp –sport 80 -m stav –stav STAVEBNÉ -j AKCEPTOVAŤ
-A pretože sme pridali pravidlo
-o odkazuje na odchádzajúci prenos, potom sa rozhranie umiestni, ak nie je zadané, pretože sa zhoduje so všetkými z nich.
-šport prístav pôvodu, hrá dôležitú úlohu, pretože vo väčšine prípadov nevieme, z ktorého prístavu podajú žiadosť, ak áno, mohli by sme použiť dport
–Dport cieľový port, keď vopred konkrétne vieme, že odchádzajúce pripojenie musí smerovať iba do konkrétneho portu. Musí to byť niečo veľmi konkrétne, napríklad vzdialený server mysql.
-m stav –stav zriadený Toto je už ozdoba udržiavania už vytvorených spojení, mohli by sme sa tomu venovať v budúcom príspevku
-d hovoriť o cieľovom mieste, ak je možné ho určiť, napríklad ssh na konkrétny stroj podľa jeho ip

#!/bin/bash

# Čistíme tabuľky iptables -F iptables -X # Čistíme NAT iptables -t nat -F iptables -t nat -X # tabuľka mangle pre veci ako PPPoE, PPP a ATM iptables -t mangle -F iptables -t mangle -X # Politiky Myslím, že toto je najlepší spôsob pre začiatočníkov a # stále to nie je zlé, vysvetlím výstup (výstup), všetko preto, že sú to odchádzajúce spojenia #, vstup všetko zahodíme a žiadny server by nemal ďalej postupovať. iptables -P VSTUP DROP iptables -P VÝSTUP DROP iptables -P VPRED DROP # Intranet LAN intranet = eth0 #Extranet wan extranet = eth1 # Zachovať stav. Všetko, čo je už pripojené (zriadené), necháme to takto: iptables -A INPUT -m stav --state ZISŤOVANÉ, SÚVISIACE -j AKCEPT
iptables -A VÝSTUP -m stav --stav STANOVENÝ, SÚVISIACE -j AKCEPTOVAŤ
# Slučkové zariadenie. iptables -A VSTUP -i lo -j AKCEPTOVAŤ
# Iptables loopback output -A OUTPUT -o lo -j ACCEPT

# http, https, rozhranie neurčujeme, pretože # chceme, aby to boli všetky iptables -A INPUT -p tcp --dport 80 -j ACCEPT iptables -A INPUT -p tcp --dport 443 -j ACCEPT
# odchod
# http, https, neurčujeme rozhranie, pretože
# chceme, aby to bolo pre všetkých, ale ak zadáme výstupný port
iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT iptables -A OUTPUT -p tcp --sport 443 -j ACCEPT

# ssh iba interne a z tohto rozsahu iptables ip -A INPUT -p tcp -s 192.168.xx / 24 -i $ intranet --dport 7659 -j ACCEPT
# výstup # ssh iba interne a z tohto rozsahu adries IP
iptables -A VÝSTUP -p tcp -d 192.168.xx / 24 -o $ intranet --sport 7659 -j ACCEPT
# monitoring napríklad ak majú zabbix alebo inú službu snmp iptables -A INPUT -p tcp -s 192.168.1.1 -i $ intranet --dport 10050 -j ACCEPT
# odchod
# monitoring napríklad ak majú zabbix alebo inú snmp službu
iptables -A VÝSTUP -p tcp -d 192.168.1.1 -o $ intranet --dport 10050 -j ACCEPT

# icmp, ping dobré je vaše rozhodnutie iptables -A INPUT -p icmp -s 192.168.xx / 24 -i $ intranet -j ACCEPT
# odchod
# icmp, ping dobré je tvoje rozhodnutie
iptables -A VÝSTUP -p icmp -d 192.168.xx / 24 -o $ intranet -j ACCEPT

#mysql s postgres je port 5432 iptables -A INPUT -p tcp -s 192.168.xx --sport 3306 -i $ intranet -j ACCEPT
# output - otázka položená používateľom aj na vytvorenie veľmi špecifického # pravidla servera: 192.168.1.2 mysql: 192.168.1.3
# mysql s postgresom je port 5432
iptables -A VÝSTUP -p tcp -s 192.168.1.2 -d 192.168.1.3 --dport 3306 -o $ intranet -j ACCEPT

#sendmail bueeeh, ak chcete poslať poštu #iptables -A VÝSTUP -p tcp --dport 25 -j AKCEPT # Anti-SPOOFING 09 # SERVER_IP = "07.xxx" # server IP - skutočná IP adresa vášho servera LAN_RANGE = "2014.xx / 190" # LAN rozsah vašej siete alebo vášho vlan # IP, ktoré by nikdy nemali vstúpiť do extranetu, je použiť trochu # logiky, ak máme čisto WAN rozhranie, nikdy by nemalo vstúpiť # prenos typu LAN cez toto rozhranie SPOOF_IPS = "192.168/21 0.0.0.0/8 127.0.0.0/8 10.0.0.0/8 172.16.0.0/12" # Predvolená akcia - vykoná sa, keď sa ktorékoľvek pravidlo zhoduje s ACTION = " DROP "# Pakety s rovnakou IP ako môj server cez wan iptables -A VSTUP -i $ extranet -s $ SERVER_IP -j $ AKCIA
iptables -A VÝSTUP -o $ extranet -s $ SERVER_IP -j $ AKCIA

# Pakety s LAN rozsahom pre wan, dal som to takto pre prípad, že máte # akúkoľvek konkrétnu sieť, ale toto je nadbytočné s nasledujúcim # pravidlom vo vnútri „pre“ loop iptables -A INPUT -i $ extranet -s $ LAN_RANGE - j $ AKCIA
iptables -A VÝSTUP -o $ extranet -s $ LAN_RANGE -j $ AKCIA

## Všetky siete SPOOF nepovolené wan pre ip v $ SPOOF_IPS robia iptables -A INPUT -i $ extranet -s $ ip -j $ AKCIA
iptables -A VÝSTUP -o $ extranet -s $ ip -j $ AKCIA
vykonané

V nasledujúcej recenzii urobíme rozsah portov a tiež vytvoríme politiky organizované podľa mien, okrem iného ... Očakávam vaše pripomienky a požiadavky.


Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Zodpovedný za údaje: Miguel Ángel Gatón
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.