[Megoldva] Default tuzfal beallitas

 ( Tincibodal | 2008. június 21., szombat - 18:00 )

Sziasztok!

Tudom, hogy az ilyen kerdes mar reg leragott csont,

de meg arra lenne meg szuksegem, hogy a Debianban melyik fajl tartalmazza az alap tuzfal beallitasokat, amiket aztan BOOTolaskor betolt?

Vagy hol tudom megnezni, hogy honnan tolti be a debian a default tuzfalat?

Koszonom.

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

Mint az általad előzőleg nyitott topikban Kiskübi írta, ilyen nincs. Linkelt is egy leírást erről.

Idézet innen:
"The default Debian installation, unlike other Linux distributions, does not yet provide a way for the administrator to setup a firewall configuration throughout the default installation but you can install a number of firewall configuration packages."

A kérdés az, hogy milyen tűzfalcsomagot tettél fel az iptables mellett? Ha ezt tudható, akkor ez is megválaszolható.

Nagy az esélye, hogy a /etc alatt találod meg, itt egy grep -r a szabályokban szereplő egyik hálózati címre valószínűleg meg fogja adni amit keresel, illetve valószínűleg a syslog is segít a keresésben.

Koszonom, talan mintha elsiklottam volna a valasz felett, amit Kiskubi irt. :)

Mostmar tudom akkor, hogy nincs ilyen fajl, de akkor honnan tolti be a debian boot utan a default tuzfalat?

En a tuzfalra siman csak az iptablest hasznalom, azaz soronkent irtam be a szabalyokat. Kesobb aztan upgrade-eltem magam, es keszitettem egy bash filet, amit lefuttatva (legtobszor restart utan), feltoltotte nekem a tuzfalat (ki is probaltam, mukodik :) ). Csak igy tudtam megoldani, mert ha restart volt a serveren, es adtam egy "iptables -L"-t, akkor lattam, hogy tok ures a tuzfal (egyedul a nat van beallitva postrouting utan maszkolasra). Ennek ellenere lehet, hogy fent van valamilyen tuzfalcsomag? Es azt hogy talalom meg?

(A syslogban sem talaltam semmilyen info ezzel kapcsolatban)

altalaban ez a modja a tuzfal beallitasanak.
mondjuk ha berakod az init.d -be es linkeled a futasszintnak megfelelo konyvtarba akkor szepen lefut bootnal

Tedd be a bash scriptedet egy init scriptbe vagy a network beállítóscriptek közé.

Használhatod az iptables-save és iptables-restore kommandokat is.

Primitív megoldás:

iptables-el szépen beállítod amit kell, aztán:

iptables-save > /etc/firewall.conf

echo "#!/bin/sh" > /etc/network/if-up.d/iptables
echo "iptables-restore < /etc/firewall.conf" >> /etc/network/if-up.d/iptables
chmod +x /etc/network/if-up.d/iptables

Ez kezd erthetove valni, tehat, azok a fileok, amik az "if-up.d" ben vannak, azok automatikusan lefutnak bootolas utan ?

Nem, az if-up.d-ben a hálózati kapcsolat felépülésekor lefuttatandó scriptek vannak.
A hálózat meg bootnál gondolom elindul:)

Az rc.local-ban levő scriptek meg minden induláskor lefutnak a többi initscript után.
Az előbbi megoldás a javasoltabb, mert arra a pár másodpercre is aktív a tűzfal, mire befejeződik az indulás.

Ki is probaltam, betettem a skriptet az if-up.d be. Restartoltam a servert, es magatol betoltodott a tuzfal. Szoval igy szepen mukodik nekem.

Eleg egyszerunek tartom ezt megoldast, ugyhogy egyelore meg maradok ez mellett. :))

Koszonom mindenkinek a segitseget.

Utoljara volna meg ide vonatkozo ket kerdesem:
1.) Teha akkor barmilyen bash scriptet ha bemasolok az if-up.d be, akkor az lefut a halozati kapcsolat felepulese utan?

2.) Hogyan tudom megnezni, hogy estleg van-e meg valamilyen tuzfalcsomag a gepen az iptableson kivul?

Az if-up.d-ben is működik, de az ott lévő scriptek minden interfész felhúzásánál lefutnak, és a scriptnek kell vizsgálnia annak az interfésznek a nevét, ami éppen elindult. Ez a te esetedben valószínűleg nem fog problémát okozni. Ha csak egy interfészhez kell, akkor az interfaces-be up-ként. Bővebben man interfaces.

1.) Igen. Pontosabban bármely interfész felhúzása után.
2.) Ha tűzfalcsomag alatt "iptables frontendet" értünk, akkor dselect, aptitude, synaptic, stb. Az opt/net alatt lesz a legtöbb, de van néhány az opt alatt máshol is, főként a grafikusak. Vagy megnézheted az apt-cache search iptables firewall kimenetét is, ebben nem csak ezek lesznek, valamint ezek nem a feltelepítettek.

Koszonom a kimerito magyarazatot.

Megkerestem az osszes 'opt' konyvtarat, es teljesen uresek. Ez azt jelenti, hogy nincs semmilyen iptables frontend felinstallalva ?

Nem. Az /opt olyasmi, mint a /usr/local (nem disztróval települő külső cuccok helye) (majd az okosok javítanak).

Inkább:
dpkg --get-selections | less
telepített csomagok listája; /-rel keress csomagnevekre. pl. fwbuilder, stb.

Mivel a securing debian howto jelenleg csak google-tárolóban elérhető, írom a csomagneveket:
firestarter, guarddog, knetfilter, fireflier
Szerverre javasolják:
fwbuilder, shorewall, bastille

"... akkor dselect, aptitude, synaptic, stb. Az opt/net alatt lesz a legtöbb..."
"Megkerestem az osszes 'opt' konyvtarat..."

Az opt/net a csomag Priority és Section kategóriájára értendő. Teljes nevükön optional és net, és a fent említett dpkg frontendek csomaglistájában látható kategóriákat jelentik.

Az "az opt alatt máshol is" pedig azt akarta jelenteni, hogy nem csak az optional/net szekcióban, hanem például az optional/kde (kmyfirewall), vagy az optional/gnome (gnome-lokkit) alatt is találhatsz ilyeneket.

Koszonom, ez a kis manual hatasos volt. :) Megoldottam vele.

Ha az rc.local-ba hivd meg a tuzfal szabalyt es jo lesz ;)

Huha, akkorat mar nem tudok varazsolni :) Tudnad ezt egy kicsit reszletezni?

Es ez a megoldas mennyivel jobb, mint az elozo ? Esetleg ugyanaz?

/etc/init./iptables-firewall

#! /bin/sh
### BEGIN INIT INFO
# Provides:          skeleton
# Required-Start:    $local_fs $remote_fs
# Required-Stop:     $local_fs $remote_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Example initscript
# Description:       This file should be used to construct scripts to be
#                    placed in /etc/init.d.
### END INIT INFO

# Author: Foo Bar <foobar@baz.org>
#
# Please remove the "Author" lines above and replace them
# with your own name if you copy and modify this script.

# Do NOT "set -e"

# PATH should only include /usr/* if it runs after the mountnfs.sh script
PATH=/usr/sbin:/usr/bin:/sbin:/bin
DESC="iptables firewall"
NAME=iptables-firewall
#DAEMON=/usr/sbin/$NAME
#DAEMON_ARGS="--options args"
#PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME

# Exit if the package is not installed
#[ -x "$DAEMON" ] || exit 0

# Read configuration variable file if it is present
#[ -r /etc/default/$NAME ] && . /etc/default/$NAME

# Load the VERBOSE setting and other rcS variables
[ -f /etc/default/rcS ] && . /etc/default/rcS

# Define LSB log_* functions.
# Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
. /lib/lsb/init-functions

#
# Function that starts the daemon/service
#
do_start()
{
	iptables-restore  /etc/iptables/iptables.save &&
	ip6tables-restore /etc/iptables/ip6tables.save &&
	return 0 ||
	return 1
}

#
# Function that stops the daemon/service
#
do_stop()
{
	iptables -F
	iptables -P INPUT   ACCEPT
	iptables -P FORWARD ACCEPT
	iptables -P OUTPUT  ACCEPT
	#
	ip6tables -F
	ip6tables -P INPUT   ACCEPT
	ip6tables -P FORWARD ACCEPT
	ip6tables -P OUTPUT  ACCEPT
	return 0
}


case "$1" in
  start)
	[ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
	do_start
	case "$?" in
		0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
		2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
	esac
	;;
  stop)
	[ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
	do_stop
	case "$?" in
		0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
		2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
	esac
	;;
  restart|force-reload)
	log_daemon_msg "Restarting $DESC" "$NAME"
	do_stop
	case "$?" in
	  0|1)
		do_start
		case "$?" in
			0) log_end_msg 0 ;;
			1) log_end_msg 1 ;; # Old process is still running
			*) log_end_msg 1 ;; # Failed to start
		esac
		;;
	  *)
	  	# Failed to stop
		log_end_msg 1
		;;
	esac
	;;
  *)
	echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
	exit 3
	;;
esac

:

ls -s /etc/init.d/iptables-firewall /etc/init./iptables-firewall /etc/rcS.d/S17iptables-firewall

és a /etc/iptables/ip{6}tables.save -> amit iptables-save-vel hozol letre, gyorsabban lefut egy iptables-restore, mint minden alkalommal legeneralni a szabalyokat


debian gnu/linux @ linux-2.6.22.24-op1 | patch
info

Én ITT találtam meg a nekem megfelelő példascript-et, amit azóta is használok.

/mazursky