Vytvořte si svůj vlastní firewall s iptables pomocí této jednoduché skriptové části 2

Firewall_ (síťové připojení)

Ahoj všichni, dnes vám přinášíme druhou část této série tutoriálů o firewallu s iptables, velmi jednoduchou, takže můžete kopírovat a vkládat, myslím, že na konci dne je to, co hledají všichni začátečníci nebo dokonce nejvíce zkušený, proč musíme znovu objevit kolo stokrát, že?

Tentokrát jim říkám, aby se pokusili zaměřit na velmi specifický případ, zda chceme, aby byl náš firewall mnohem agresivnější s politikou OUTPUT DROP. Tento příspěvek je také na žádost čtenáře této stránky a mého příspěvku. (Uvnitř mé mysli Wiiiiiiiiiiiiii)

Pojďme si trochu promluvit o „kladech a záporech“ zavádění politik Výstupních poklesů, o kterých vám mohu říci je, že díky nim je práce mnohem zdlouhavější a pracnější, nicméně výhodou je, že na úrovni sítě budete mít zabezpečení než kdybyste se posadili Chcete-li dobře přemýšlet, navrhovat a plánovat zásady, budete mít mnohem bezpečnější server.

Abychom se neztráceli nebo nevystoupili z tématu, rychle vám vysvětlím na příkladu, jak by měla být vaše pravidla víceméně

iptables -A OUTPUT -o eth0 -p tcp –sport 80 -m state –state ESTABLISHED -j PŘIJMOUT
-A protože jsme přidali pravidlo
-o odkazuje na odchozí provoz, pak je rozhraní umístěno, pokud není zadáno, protože odpovídá všem.
-sport port původu, hraje důležitou roli, protože ve většině případů nevíme, z kterého portu se chystají vznést požadavek, pokud ano, mohli bychom použít dport
–Dport cílový port, když předem konkrétně víme, že odchozí připojení musí směřovat pouze na konkrétní port. Musí to být něco velmi specifického, například vzdálený server mysql.
-m stav –stav ustavený Toto je již ozdobou zachování již navázaných spojení, do které bychom se mohli ponořit v budoucím příspěvku
-d mluvit o cíli, pokud by to bylo možné určit, například ssh na konkrétní stroj podle jeho ip

#!/bin/bash

# Čistíme tabulky iptables -F iptables -X # Čistíme NAT iptables -t nat -F iptables -t nat -X # tabulka mangle pro věci jako PPPoE, PPP a ATM iptables -t mangle -F iptables -t mangle -X # Zásady Myslím, že toto je nejlepší způsob pro začátečníky a # stále to není špatné, vysvětlím výstup (výstup) vše proto, že se jedná o odchozí připojení #, vstup vše zahodíme a žádný server by neměl přeposílat. iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP #Intranet LAN intranet = eth0 #Extranet wan extranet = eth1 # Zachovat stav. Všechno, co je již připojeno (založeno), necháme to jako tento iptables -A INPUT -m stav --state ESTABLISHED, RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED, RELATED -j ACCEPT
# Smyčkové zařízení. iptables -A VSTUP -i lo -j PŘIJMOUT
# Iptables loopback output -A OUTPUT -o lo -j ACCEPT

# http, https, neurčujeme rozhraní, protože # chceme, aby to byly všechny iptables -A INPUT -p tcp --dport 80 -j ACCEPT iptables -A INPUT -p tcp --dport 443 -j ACCEPT
# odjezd
# http, https, rozhraní neurčujeme, protože
# chceme, aby to bylo pro všechny, ale pokud zadáme výstupní port
iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT iptables -A OUTPUT -p tcp --sport 443 -j ACCEPT

# ssh pouze interně a z této řady iptables ip -A INPUT -p tcp -s 192.168.xx / 24 -i $ intranet --dport 7659 -j PŘIJMOUT
# výstup # ssh pouze interně az tohoto rozsahu IP
iptables -A VÝSTUP -p tcp -d 192.168.xx / 24 -o $ intranet --sport 7659 -j PŘIJMOUT
# monitorování například pokud mají zabbix nebo jinou službu snmp iptables -A INPUT -p tcp -s 192.168.1.1 -i $ intranet --dport 10050 -j ACCEPT
# odjezd
# monitorování, například pokud mají zabbix nebo jinou službu snmp
iptables -A VÝSTUP -p tcp -d 192.168.1.1 -o $ intranet --dport 10050 -j PŘIJMOUT

# icmp, ping je na vás iptables -A INPUT -p icmp -s 192.168.xx / 24 -i $ intranet -j ACCEPT
# odjezd
# icmp, ping dobré je vaše rozhodnutí
iptables -A VÝSTUP -p icmp -d 192.168.xx / 24 -o $ intranet -j PŘIJMOUT

# mysql s postgres je port 5432 iptables -A INPUT -p tcp -s 192.168.xx --sport 3306 -i $ intranet -j ACCEPT
# výstup - otázka, kterou si uživatel také položil, aby vytvořil velmi konkrétní # pravidlo serveru: 192.168.1.2 mysql: 192.168.1.3
# mysql s postgres je port 5432
iptables -A VÝSTUP -p tcp -s 192.168.1.2 -d 192.168.1.3 --dport 3306 -o $ intranet -j PŘIJMOUT

#sendmail bueeeh, pokud chcete poslat poštu #iptables -A VÝSTUP -p tcp --dport 25 -j PŘIJMOUT # Anti-SPOOFING 09 # SERVER_IP = "07.xxx" # server IP - skutečná IP adresa vašeho serveru LAN_RANGE = "2014.xx / 190" # LAN rozsah vaší sítě nebo vašeho vlan # IP, které by nikdy neměly vstoupit do extranetu, je použít trochu # logiky, pokud máme čistě WAN rozhraní, nikdy by zadejte # přenos Typ LAN přes toto rozhraní 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" # Výchozí akce - provede se, když se jakékoli pravidlo shoduje AKCE = "DROP" # Pakety se stejným IP jako můj server přes wan iptables -A INPUT -i $ extranet -s $ SERVER_IP -j $ AKCE
iptables -A VÝSTUP -o $ extranet -s $ SERVER_IP -j $ AKCE

# Pakety s LAN rozsahem pro wan, dal jsem to takhle v případě, že máte # jakoukoli konkrétní síť, ale toto je nadbytečné s následujícím # pravidlem uvnitř smyčky „pro“ iptables -A INPUT -i $ extranet -s $ LAN_RANGE - j $ AKCE
iptables -A VÝSTUP -o $ extranet -s $ LAN_RANGE -j $ AKCE

## Všechny sítě SPOOF nejsou povoleny wanem pro ip v $ SPOOF_IPS do iptables -A INPUT -i $ extranet -s $ ip -j $ AKCE
iptables -A VÝSTUP -o $ extranet -s $ ip -j $ AKCE
hotový

V příštím přehledu provedeme rozsah portů a také vytvoříme zásady organizované podle jmen, mimo jiné ... Čekám na vaše komentáře a požadavky.


Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Odpovědný za údaje: Miguel Ángel Gatón
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.