» »

Enostavna nastavitev požarnega zidu na linuxu

Enostavna nastavitev požarnega zidu na linuxu

mojca ::

Živijo,

Na strežniku z Debianom (brez grafičnega vmesnika) bi rada zagnala požarni zid in za promet od zunaj zaprla vse porte razen 23, 80 in še enega. Ima kdo kakšen mušter, kako to najlažje skonfigurirati (za nekoga, ki se ni še nikoli ukvarjal s požarnim zidom)?

Strežnik podpira tako IPv4 kot IPv6.

Hvala

GTX970 ::

Zgodovina sprememb…

  • spremenilo: GTX970 ()

jype ::

23? Upam, da gre za domačo nalogo. Telnet je neprimeren za sodobno rabo - namesto njega se uporablja ssh (na 22/tcp).

Načeloma gre takole nekako: Privzeto zmečeš vse proč, potem pa dovoliš pakete z lokalnega vmesnika, pakete, ki pripadajo obstoječim povezavam, icmp, ter nove povezave na porte, ki jih hočeš spustit skozi:

#!/bin/bash

# naštejemo tcp porte, ki bi jih radi spustili skoz
PORTS="22 80 443"

ipt=/sbin/iptables
ip6=/sbin/ip6tables

# pobrišemo vsa pravila in postavimo privzete usode paketov
$ipt -t nat -P INPUT ACCEPT
$ipt -t nat -P OUTPUT ACCEPT
$ipt -t nat -P PREROUTING ACCEPT
$ipt -t nat -P POSTROUTING ACCEPT
$ipt -t nat -F
$ipt -t nat -X
$ipt -t mangle -P INPUT ACCEPT
$ipt -t mangle -P OUTPUT ACCEPT
$ipt -t mangle -P FORWARD ACCEPT
$ipt -t mangle -P PREROUTING ACCEPT
$ipt -t mangle -P POSTROUTING ACCEPT
$ipt -t mangle -F
$ipt -t mangle -X
$ipt -t raw -P OUTPUT ACCEPT
$ipt -t raw -P PREROUTING ACCEPT
$ipt -t raw -F
$ipt -t raw -X
$ipt -P INPUT DROP
$ipt -P FORWARD DROP
$ipt -P OUTPUT ACCEPT
$ipt -F
$ipt -X

# in enako storimo še za ipv6
$ip6 -t mangle -P INPUT ACCEPT
$ip6 -t mangle -P OUTPUT ACCEPT
$ip6 -t mangle -P FORWARD ACCEPT
$ip6 -t mangle -P PREROUTING ACCEPT
$ip6 -t mangle -P POSTROUTING ACCEPT
$ip6 -t mangle -F
$ip6 -t mangle -X
$ip6 -t raw -P OUTPUT ACCEPT
$ip6 -t raw -P PREROUTING ACCEPT
$ip6 -t raw -F
$ip6 -t raw -X
$ip6 -P INPUT DROP
$ip6 -P FORWARD DROP
$ip6 -P OUTPUT ACCEPT
$ip6 -F
$ip6 -X

# postavimo pravila za ipv4
$ipt -N openports
$ipt -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$ipt -A INPUT -p icmp -j ACCEPT
$ipt -A INPUT -i lo -j ACCEPT
$ipt -A INPUT -m state --state NEW -j openports

# in pravila za ipv6
$ip6 -N openports
$ip6 -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$ip6 -A INPUT -p icmpv6 -j ACCEPT
$ip6 -A INPUT -i lo -j ACCEPT
$ip6 -A INPUT -m state --state NEW -j openports

# potem pa še pravila za odprte porte
for port in $PORTS; do
        $ipt -A openports -p tcp --dport $port -j ACCEPT
        $ip6 -A openports -p tcp --dport $port -j ACCEPT
done

Zgodovina sprememb…

  • spremenilo: jype ()

mojca ::

jype je izjavil:

23? Upam, da gre za domačo nalogo. Telnet je neprimeren za sodobno rabo - namesto njega se uporablja ssh (na 22/tcp).


Pardon, zatipkala sem se. Seveda sem imela v mislih port 22 (ssh), telnet me že dolgo ne zanima. (In ne, ne gre za domačo nalogo. Gre za strežnik, za katerega upam, da bo dlje časa uspešno služil.)

jype ::

No, potem je skripta zgoraj že pravilna. Poskrbeti moraš še za to, da se požene ob vsakem zagonu strežnika.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

iptables problem

Oddelek: Operacijski sistemi
242105 (1871) poweroff
»

ProtFtp Passive mode in iptables

Oddelek: Programska oprema
252108 (1930) SasoS
»

IPTables

Oddelek: Operacijski sistemi
211894 (1523) Brane2
»

iptables skripta

Oddelek: Omrežja in internet
72051 (1831) karafeka
»

Linux & port forwarding

Oddelek: Operacijski sistemi
131135 (990) Gandalfar

Več podobnih tem