Luo oma palomuuri iptablesin avulla tällä yksinkertaisella komentosarjalla

Ajattelin kahta asiaa iptablesista jonkin aikaa: suurin osa niistä, jotka etsivät näitä opetusohjelmia, ovat aloittelijoita ja toiseksi monet etsivät jo jotain melko yksinkertaista ja jo kehitettyä.

Tämä esimerkki koskee verkkopalvelinta, mutta voit helposti lisätä lisää sääntöjä ja mukauttaa niitä tarpeisiisi.

Kun näet "x" muutoksen ip: si


#!/bin/bash

#Puhdistamme iptables-taulukot -F iptables -X # Puhdistamme NAT iptables -t nat -F iptables -t nat -X # mangle-taulukko esimerkiksi PPPoE-, PPP- ja ATM iptables -tangle -F iptables -t mangle -X # Käytännöt Mielestäni tämä on paras tapa aloittelijoille ja # ei silti ole huono, selitän kaikki lähdöt, koska he ovat lähteviä yhteyksiä #, syötteet hylkäämme kaiken, eikä yksikään palvelin saa lähettää eteenpäin. iptables -P INPUT DROP iptables -P LÄHTÖ HYVÄKSY iptables -P FORWARD DROP #Intranet LAN intranet = eth0 #Extranet wan extranet = eth1 # Säilytä tilaa. Kaikki, mikä on jo yhdistetty (vakiintunut), jää näin: iptables -A INPUT -m state - state ESTABLISHED, RELATED -j ACCEPT # Loop device. iptables -A INPUT -i lo -j HYVÄKSY # http, https, emme määritä käyttöliittymää, koska # haluamme sen olevan kaikki iptables -A INPUT -p tcp --port 80 -j HYVÄKSY iptables -A INPUT -p tcp - dport 443 -j HYVÄKSY # ssh vain sisäisesti ja tältä ip: n iptable-alueelta -A INPUT -p tcp -s 192.168.xx / 24 -i $ intranet --port 7659 -j ACCEPT # -valvonta esimerkiksi jos niillä on zabbix tai jokin muu snmp-palvelun iptables -A INPUT -p tcp -s 192.168.xx / 24 -i $ intranet --dport 10050 -j ACCEPT # icmp, ping, se on sinun tehtäväsi iptables -A INPUT -p icmp -s 192.168.xx / 24 - i $ intranet -j ACCEPT #mysql postgres on portti 5432 iptables -A INPUT -p tcp -s 192.168.xx --sport 3306 -i $ intranet -j ACCEPT #sendmail bueeeh, jos haluat lähettää sähköpostia #iptables -A LÄHTÖ -p tcp --port 25 -j HYVÄKSY # SPOOFINGin torjunta 09/07/2014 # SERVER_IP = "190.xxx" # palvelimen IP - palvelimen todellinen wan-ip LAN_RANGE = "192.168.xx / 21" # LAN-alue verkkoistasi tai vlan # IP: stäsi, joiden ei pitäisi koskaan päästä ekstranetiinon käyttää vähän # logiikkaa, jos meillä on puhtaasti WAN-liitäntä, sen ei pitäisi koskaan syöttää # LAN-tyyppistä liikennettä kyseisen käyttöliittymän kautta 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 "# Oletustoiminto - suoritetaan, kun mikä tahansa sääntö vastaa ACTION =" DROP "# Paketteja, joilla on sama palvelimeni IP-osoite wan iptables -A INPUT -i $ extranet -s $ SERVER_IP -j $ ACTION # iptables -A LÄHTÖ -o $ extranet -s $ SERVER_IP -j $ ACTION # Paketit, joissa on LAN-alue wanille, laitoin tämän näin, jos sinulla on # tiettyä verkkoa, mutta tämä on tarpeeton seuraavan # säännön sisällä silmukassa " kohteelle "iptables -A INPUT -i $ extranet -s $ LAN_RANGE -j $ ACTION iptables -A OUTPUT -o $ extranet -s $ LAN_RANGE -j $ ACTION ## Kaikki SPOOF-verkot, joita wan ip ei salli tiedostossa $ SPOOF_IPS tee iptables -A INPUT -i $ extranet -s $ ip -j $ ACTION iptables -A LÄHTÖ -o $ extranet -s $ ip -j $ ACTION valmis

Kuten aina, odotan kommenttejasi, pysy kuulolla tällä blogilla, kiitos