SuSE Linux: Verze 6.4 do 7.1
Kernel: Od verze 2.2
firewals
na
SuSEfirewall
.
ipchains
, protože od verze 2.4.x
nově koncipován kód pro filtrování paketů a pro konfiguraci filtrování
paketů se používá. Firewallový skript, který používá
iptables
se vytváří. V současnosti je ale lepší používat
i SuSE Linux 7.1 s jádrem 2.2.18, pokud ho budete používat jako
firewall.
Upozornění: tento postup sice představuje nejméně složitý způsob přístupu na Internet pro všechny interní počítače, ale neposkytuje je jim takřka žádnou ochranu. Tzn., že byste neměli tuto variantu používat v případě, že potřebujete chránit svá data.
Druhé upozornění: od verze 7.1 byste neměli tento postup používat.
Místo toho můžete použít personal firewall
pro maškarádu
(viz níže).
Z tohoto důvodu zde také není uvedeno, že od verze 7.1 je
/sbin/init.d
přesunut do /etc/init.d
. Proto také
nebudou cesty v tomto odstavci odpovídat.
Je třeba instalovat balík ipchains (série sec).
Proměnnou START_FW
v souboru /etc/rc.config
nastavte na "no"
.
Vytvořte soubor /sbin/init.d/masquerade
(od verze 7.1 /etc/init.d/masquerade
) s následujícím obsahem:
Protože často dochází k chybám při cut and paste mezi prohlížečem a programem, tak nejlepší je spustit následující příkaz:
lynx -dump http://sdb.suse.de/sdb/de/html/sm_masq2.html > masqueradePotom už stačí pouze smazat text před a za skriptem.
#! /bin/sh . /etc/rc.config PROG="/sbin/ipchains" WORLD_DEV="ippp0" return=$rc_done if [ ! -x $PROG ] then echo -n "Starting masquerading failed- install ipchains" return=$rc_failed echo -e "$return" exit 1 fi case "$1" in start) echo -n "Starting masquerading" echo "1" > /proc/sys/net/ipv4/ip_forward $PROG -F || return=$rc_failed $PROG -A forward -i $WORLD_DEV -j MASQ || return=$rc_failed echo -e "$return" ;; stop) echo -n "Shutting down masquerading" $PROG -F || return=$rc_failed test "$IP_FORWARD" = no && echo "0" > /proc/sys/net/ipv4/ip_forward echo -e "$return" ;; *) echo "Usage: $0 {start|stop}" exit 1 ;; esac test "$return" = "$rc_done" || exit 1 exit 0
Je třeba nahradit "ippp0"
správným názvem zařízení, pomocí kterého je zprostředkováno
připojení k Internetu:
Postup platí také pro analogové připojení a ppp0
Označte tento soubor jako spustitelný : chmod 700 /sbin/init.d/masquerade
.
Vytvořte odpovídající odkazy pro automatické spuštění při určitém runlevelu:
ln -s ../masquerade /sbin/init.d/rc2.d/S99masquerade ln -s ../masquerade /sbin/init.d/rc2.d/K51masquerade ln -s ../masquerade /sbin/init.d/rc3.d/S99masquerade ln -s ../masquerade /sbin/init.d/rc3.d/K51masquerade
Při dalším startu můžete přistupovat na Internet z interní sítě, pokud určíte počítač s maškarádou jako přednastavenou bránu.
Od SuSE Linuxu 7.1 je lepší používat pro jednoduchou maškarádu
personal-firewall
. Tato možnost je také výrazně jednodušší,
nabízí ale zároveň určitou ochranu interní sítě protože zakazuje všechna
příchozí spojení. Je třeba pouze upravit jednu proměnnou:
REJECT_ALL_INCOMING_CONNECTIONS
v souboru
/etc/rc.config.d/security.rc.config
.
Platné jsou následující hodnoty:
no
všechna pravidla jsou smazána, maškaráda a firewall jsou vypnuty.
yes
jsou zakázána všechna příchozí spojení.
ippp0
pro ISDN.
masq
pro maskování provozu v interní síti, tímto bude maskováno vše, co projde rozhraním a není blokováno.
Tzn., pro standardní případ síťové karty eth0
a ISDN
připojení ippp0
bude zápis vypadat následovně (pokud chcete
veškerý provoz interní sítě přes ippp0 maskovat a blokovat všechna příchozí
spojení):
Zde je pouze krátký popis nastavení v souboru /etc/rc.config.d/firewall.rc.config
.
Je třeba mít nainstalovány následující balíky:
Proměnnou START_FW=
v souboru /etc/rc.config
nastavte na "yes"
tak, aby byl při startu spouštěny firewalové skripty.
Pokud váš počítač s firewallem disponuje dynamickými IP adresami, je třeba přidat
volání /sbin/SuSEfirewall
do skriptu /etc/ppp/ip-up
.
test -x /etc/ppp/ip-up.local && /etc/ppp/ip-up.local $*
test -x /etc/ppp/ip-down.local && /etc/ppp/ip-down.local $*
test -x /etc/ppp/ip-up.local && /etc/ppp/ip-up.local $*
test -x /etc/ppp/ip-down.local && /etc/ppp/ip-down.local $*
Pokud používáte SuSE Linux 7.0 nebo 7.1, pak jsou již odpovídající zápisy do souboru
/etc/ppp/ip-up
provedeny.
Je pouze třeba nastavit proměnnou START_FW
v
/etc/rc.config
na hodnotu yes
.
Pokud se při startu zobrazí chybové hlášení o chybějícím zařízení, tak
ho ignorujte.
Všechna ostatní nastavení provádějte v souboru /etc/rc.config.d/firewall.rc.config
.
Věnujte obzvláštní pozornost následujícím radám:
Pro konfiguraci vašeho firewallu vám nemůžeme poskytnout žádnou pomoc v rámci instalační podpory.
Nezapomeňte si také přečíst dokumentaci na
/usr/doc/packages/firewals
pro verzi SuSE Linux 6.4,
/usr/share/doc/packages/firewals
pro SuSE Linux 7.0,
/usr/share/doc/packages/SuSEfirewall/
pro SuSE Linux 7.1 a v
manuálu.
Pokud aplikujete pouze toto nastavení a chcete použít SuSEfirewall, není váš systém v žádném
případě absolutně chráněn!
Neexistuje žádné řešení, které jednoduše nainstalujete a jste chráněni před všemi nectnostmi sítě.
secumod
, který je na CD.
tripwire
a také balík seccheck
).
FW_DEV_WORLD
FW_DEV_WORLD="ippp0"
FW_DEV_INT
FW_DEV_INT="eth0"
FW_DEV_DMZ
FW_ROUTE
na "yes" a
umožnit přeposílání (forwarding) nabízených služeb FW_FORWARD_TCP
a FW_FORWARD_UDP
.FW_DEV_INT="eth2"
FW_ROUTE
"yes"
v případě, když chcete povolit přímé
spojení (bez proxy služeb na firewalu) mezi počítači z interní sítě, Internetu a/nebo DMZ.FW_MASQUERADE
nebo konfigurovat
FW_FORWARD_*
pro přeposílané služby.IP_FORWARD
v souboru /etc/rc.config
.
FW_MASQUERADE
, FW_MASQ_NETS
a FW_MASQ_DEV
FW_MASQUERADE
nastavte tuto volbu na "yes" v případě, kdy
chcete, aby váš počítač z interní sítě s privátní IP adresou (např. 192.168.x.x) měl přímý
přístup na Internet bez proxy služeb.FW_DEV_INT
,
FW_MASQ_NETS
, FW_MASQ_DEV
a FW_ROUTE="yes"
.
FW_MASQ_NETS
zde uveďte všechny počítače/sítě, které
získají prostřednictvím maškarády přístup k Intenetu.FW_MASQ_NETS="192.168.1.1 192.168.2.0/24"
pro počítač 192.168.1.1 a
síť Class C 192.168.2.x .
FW_MASQ_DEV
Zde uveďte výchozí port, většinou:
FW_MASQ_DEV="$FW_DEV_WORLD"
FW_PROTECT_FROM_INTERNAL
FW_DEV_INT
.
FW_AUTOPROTECT_GLOBAL_SERVICES
FW_SERVICES_*
FW_PROTECT_FROM_INTERNAL="no"
"123 524"
pro porty 123 a 524.
"3200:3299"
pro všechny porty od 3200 do čísla 3299.
/etc/services
,
např.: "smtp telnet"
.
FW_TRUSTED_NETS
a
FW_SERVICES_TRUSTED_*
.FW_TRUSTED_HOSTS
: počítače/sítě z Internetu, kterým důvěřujete
a které získají přístup k určitým interním službám.FW_MASQ_NETS="192.168.1.1 192.168.2.0/24"
pro počítač 192.168.1.1 a
síť Class C 192.168.2.x .
FW_SERVICES_TRUSTED_*
potvrďte služby firewallu, ke kterým
má tento počítač/síť přístup.FW_ALLOW_INCOMING_HIGHPORTS_*
"yes"
, žádný "no"
nebo:
/etc/services
.FW_ALLOW_INCOMING_HIGHPORTS_UDP
by měl obsahovat "dns"
,
aby mohly být vaše dotazy v /etc/resolv.conf
zodpovězeny.
FW_ALLOW_INCOMING_HIGHPORTS_TCP
hodnotu "ftp-data"
.FW_SERVICE_*
FW_SERVICE_DNS
nastavte na yes
,
pokud budete chtít používat nameserver na firewallu.FW_SERVICES_*_*
uvolnit pro odpovídající síť port 53
(nebo doménu
), kam mohou být zasílány jednotlivé požadavky.
FW_SERVICE_DHCLIENT
nastavte na yes
,
když potřebujete používat DHCP klienta pro firewall.
FW_SERVICE_DHCPD
nastavte na yes
,
když budete chtít používat na firewallu DHCP server.
FW_SERVICE_SAMBA
nastavte na yes
,pokud používáte na tomto počítači sambu (server nebo klienta). Pokud bude
počítač běžet jako samba server, je třeba uvést port 139 do správné
proměnné FW_SERVICES_*_TCP
. Na tomto firewallu by neměl samba
server běžet.
FW_FORWARD_*
"12.12.12.0/24,13.13.13.13,25"
povoluje přístup z externí sítě 12.12.12.0/24 přes port 25 interního počítače 13.13.13.13.
FW_LOG_*
FW_KERNEL_SECURITY
FW_STOP_KEEP_ROUTING_STATE
FW_ROUTE=yes
.
FW_ALLOW_PING_*
"yes"
nebo "no"
.
Následující volby by měly být ponechány ve standardním tvaru, případně editovány pouze v případě, kdy jste si naprosto jisti jejich významem:
FW_FORWARD_MASQ_*
FW_FORWARD_MASQ_TCP="0/0,1.2.3.4,80"
FW_REDIRECT_*
FW_ALLOW_FW_TRACEROUTE
FW_UDP_ALLOW_INCOMING_HIGHPORTS
.
FW_ALLOW_FW_PING="yes"
FW_MASQ_MODULES
FW_ROUTE
a
FW_MASQUERADE
.
FW_CUSTOMRULES
/etc/rc.config.d/firewall-custom.rc.config
SDB-sm_masq2
)