Brandvägg

När man inte förstår saker och ting är det skönt att man kan fråga andra. Slug-vännen "rodde" har gjort detta skript.

Läs under "Beskrivning" om det kan vara något för dig, i så fall, kopiera och spara som rc.firewall. Hur du får den att starta kan du läsa om längst ner under guarddog.


#!/bin/bash
#
# Namn: 	ipt.sh
# Version: 	0.5
# Beskrivning:	Iptables init script för att på ett
#		enkelt sätt blocka inkommande trafik
#		som inte är initierad från lokala datorn.
#		Jag tar det för givet att datorn enbart
#		har ett nätverkskort och inte använder ppp,
#		Alltså en dator kopplad via bredband.
#
# Av:		_--- Rodrigo Hidalgo ---_
#

PATH=/bin:/sbin:/usr/bin:/usr/sbin

#kolla om vi fått med argument
if [[ "$1" = "" ]] ;then
        echo "Usage: ipt.sh <start>/<stop>"
	exit
fi

echo -e " --___ Startar lokal firewall ___--\n"
logger Startar lokal firewall
# -- -- Fas1 -- -- #
IPT="/usr/sbin/iptables" 	# iptables binär
IF="eth0"		# första näteverks interfacet

#Ta reda på ip adress. För att kunna få dhcp_ip så kör denna script efter dhcp init

ETH0_IP=`ifconfig eth0|grep inet|awk '{print $2}'|tr -d addr:`

# Sätt kernel inställningar

#ingen ip_forwarding
echo "0" > /proc/sys/net/ipv4/ip_forward
#inga redirects
echo "0" > /proc/sys/net/ipv4/conf/all/accept_redirects
#inga source route
echo "0" > /proc/sys/net/ipv4/conf/all/accept_source_route
#logga ovanliga paket
echo "1" > /proc/sys/net/ipv4/conf/all/log_martians

# -- -- Fas2 -- -- #

# Kontrollera att iptables finns och att vi har ett ip på eth0

if [[ -f $IPT && -x $IPT ]];then
	echo -e "Fint vi har iptables och vi kan exekvera den!\n"
else
	echo -e "Hum jag kan inte hitta iptables eller så kan man inte exekvera den"
	exit
fi

if [[ "$ETH0_IP" = "" ]];then
	echo -e "Vi fick inte tag på eth ip, sorry"
	exit
else
	echo -e "Du har ip $ETH0_IP\n"
fi

start()
{
	#rensa nuvarande regler och kedjor
	$IPT -F
	$IPT -X

	#sätt standard policyn
	$IPT -P INPUT DROP
	$IPT -P FORWARD DROP
	$IPT -P OUTPUT ACCEPT

	$IPT -A INPUT -i lo -j ACCEPT
	$IPT -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
	#det här är för dcgui-qt
	#$IPT -A INPUT -i eth0 -d $ETH0_IP -p tcp --dport 9176 -j ACCEPT
	#$IPT -A INPUT -i eth0 -d $ETH0_IP -p udp --dport 9176 -j ACCEPT
        #det här är loggen
	#$IPT -A INPUT -m limit --limit 5/minute --limit-burst 3 -j LOG --log-prefix "MAIN_DROP"
	#det här är bit-torrent
	#$IPT -A INPUT -i eth0 -d $ETH0_IP -p tcp --dport 6881:6889 -j ACCEPT

        #OBS! Ta bort "#" ovan om du vill att det ska gälla.
}
        
stop()
{
	#rensa alla regler och kedjor
	$IPT -F
	$IPT -X

	#sätt accept regel
	$IPT -P INPUT ACCEPT
}


if [[ "$1" = "start" ]];then
	start
fi

if [[ "$1" = "stop" ]];then
	stop
fi

exit

Testa din dator.

Det finns bra IP-adresser där du kan testa din dator (http://scan.sygate.com/) och http://grc.com/

Som gav detta resultat :-)

(scan.sygate.com har köpts upp och lagts ned av Symantec. På grc.com fanns tidigare ett LeakTest som idag bara finns för Windows.
Däremot finns på https://www.grc.com/intro.htm Under Menyn->Services: ShieldsUP!->Proceed en Port scan som kan fördjupas genom knapparna "Common Ports" alt "All Service Ports"./le)

Guarddog, här kan du se hur du använder en brandvägg om du använder Kde.


Det finns "ton-vis" med info om brandväggar, titta först på Kjell Enbloms sidor
http://www.lysator.liu.se/~kjell-e/tekla/linux/, dom är på svenska.

Här finns några på Engelska.
https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/3/html/Security_Guide/s1-fireall-ipt-act.html-->liten lektion
http://easyfwgen.morizot.net/--> webbaserad.
http://sourceforge.net/projects/bastille-linux/-->Använd "källkod" för slackware!
http://sourceforge.net/projects/firestarter/-->Gnome, men går även med Kde.
http://www.innertek.com/-->kan ladda ner demo.

Valid HTML 4.01!