schutz vor bundestrojaner: firewall?

guten abend,

da mich die geschichte mit dem bundestrojaner langsam nervt und ich mir doch etwas mehr schutz wünsche, hab ich einmal den gedanken gehabt, dass ich doch einen pc mit 2 lan-karten ausstatten kann, und diesen zwischen dem www und meinen lan hängen kann.
auf diesem pc soll linux laufen. die aufgaben dieses pcs sind nur firewall und virenschutz.

wie würdet ihr sowas auf die beine stellen, habt ihr tipps für ein derartiges vorhaben?
welche distribution wäre am geeignetsten, kann ich die neueste von suse nehmen? welche firewall soll ich nehmen? wie soll ich das ganze am besten konfigurieren? welche pakete kann ich bei der installation getrost weglassen, welche muss ich haben?

ich habe bisher eher wenig erfahrung mit linux, da ich nur mit suse gearbeitet habe

wenn ihr im web texte dafür findet und postet wäre ich dankbar

mfg plooy
 
Ich glaube, du meinst einen Router? Da gibts extra Linux Distros... Coyote zum Beispiel...
 
wenn du schon nen zweitenrechner hast den du so bestücken kannst ist es nur gut. aber nen router mit openwrt wäre schon nen bisschen kostengünstiger in beschaffung, strom und platz.

greetz
 
mit dem router den ich hier habe, habe ich schonmal eine eher "schwache" firewall (sie ist mir suspekt) möglich, aber mit einem extra pc wäre es mir lieber, aus gründen der aktualität der software, und aus kostengründen, denn die hardware kann ich in den kommenden tagen besorgen (den größten teil habe ich schon). außerdem kann man an einem echten pc mehr konfigurieren

die idee mit dem router scheidet daher aus, aber danke ^^

mfg plooy
 
Warum so kompliziert?
Besorg dir eine LiveCD und eine externe Festplatte oder eine Spindel DVD´s.
Alles von dem niemand nie etwas erfahren soll erledigst und speicherst du mit Hilfe der LiveCD
auf der externen Festplatte(DVD). Benützen am besten nur Offline.
Dann findet kein Trojaner deinen "Schlafzimmerordner" :D
Auf dem Pc im Normalbetrieb benützt du halt einfach diese Medien nicht, dann hinterlassen sie
A. keine Spuren
B. können nicht geloggt werden.
Dann sind deine geheimen Daten sicher, alles andere ist Augenwischerei.
Ausserdem sind diese Dinge auch leichter zu verstecken.

Gruss
 
dieses how-to ist gold wert ^^

dieses (fast) ohne einschränkungen von intern nach extern ist zwar nicht ganz soooooo toll, aber von extern nach intern blockt es (fast) alles falsche ab ^^

danke, das werde ich umsetzen, sobald ich die hardware habe

wenn allerdings ein interner pc infiziert ist wäre es unpraktisch, wenn der trojaner nach hause telefoniert, habt ihr eine idee, wie man das unterbinden kann?
 
Du kannst das im Howto verwendete Script einfach entsprechend modifizieren und auch nur bestimmte Verbindungen von intern nach extern zulassen. Beispiel:

Code:
#!/bin/bash

echo "Starting firewall"

LOGLIMIT=20
IPTABLES=/usr/sbin/iptables
MODPROBE=/sbin/modprobe
LANDEVICE=[Interface-zum-LAN z.B. eth0, wlan0 usw.]
EXTDEVICE=[Interface-zum-Internet z.B. eth0, eth1 usw.]

case "$1" in
start)
	### PROC MANIPULATION ###
	# auf Broadcast-Pings nicht antworten
	echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
	# halt die Klappe bei komischen ICMP Nachrichten
	echo 0 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
	# Kicke den ganzen IP Spoofing Shit
	# (Source-Validierung anschalten)
	echo 1 > /proc/sys/net/ipv4/conf/all/rp_filter
	# Setze Default-TTL auf 61 (Default fuer Linux ist 64)
	echo 61 > /proc/sys/net/ipv4/ip_default_ttl
	# sende RST-Pakete wenn der Buffer voll ist
	echo 1 > /proc/sys/net/ipv4/tcp_abort_on_overflow
	# warte max. 30 secs auf ein FIN/ACK
	echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout
	# unterbreche Verbindungsaufbau nach 3 SYN-Paketen
	# Default ist 6
	echo 3 > /proc/sys/net/ipv4/tcp_syn_retries
	# unterbreche Verbindungsaufbau nach 3 SYN/ACK-Paketen
	# Default ist 6
	echo 3 > /proc/sys/net/ipv4/tcp_synack_retries
	
	# alle alten Regeln entfernen
	echo "Loesche alte Regeln"
	$IPTABLES -F
	$IPTABLES -X
	$IPTABLES -t nat -F

	### MAIN PART ###

	# Ketten initialisieren
	$IPTABLES -P INPUT DROP
	$IPTABLES -P FORWARD DROP # hier wird erstmal jegliches Forwarding/Routing geblockt
	$IPTABLES -P OUTPUT ACCEPT
	$IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
	$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

	# Routing
	echo 1 > /proc/sys/net/ipv4/ip_forward
	$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
	$IPTABLES -t nat -A POSTROUTING -o $EXTDEVICE -j MASQUERADE

	### ERSTELLE NEUE KETTEN ###
	# Logging aller geblockten Verbindungen 
	$IPTABLES -N LOGREJECT 
	$IPTABLES -A LOGREJECT -m limit --limit $LOGLIMIT/minute -j LOG --log-prefix "FIREWALL REJECT " --log-level notice --log-ip-options --log-tcp-options 
	$IPTABLES -A LOGREJECT -j REJECT --reject-with icmp-port-unreachable 
	
	# im Loopback koennen wir jedem trauen 
	$IPTABLES -A INPUT -i lo -j ACCEPT

	# ebenso im LAN
	$IPTABLES -A INPUT -i $LANDEVICE -j ACCEPT # Verbindungen lassen wir im LAN zu

	# erlaube Pings
	$IPTABLES -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
	$IPTABLES -A FORWARD -p icmp --icmp-type echo-request -j ACCEPT

	##################
	# lokale Dienste
        # hier könnte Zugriffe von aussen z.B. für Remote-Verwaltung via SSH zugelassen werden, Bsp:
        # $IPTABLES -A INPUT -p tcp --dport 22 --tcp-flags ALL SYN -j ACCEPT

	#####################
	# Forwarding-Regeln
	# SSH nach aussen zulassen
	$IPTABLES -A FORWARD -i $LANDEVICE -m state --state NEW -p tcp --dport 22 -j ACCEPT
	# HTTP nach aussen zulassen
	$IPTABLES -A FORWARD -i $LANDEVICE -m state --state NEW -p tcp --dport 80 -j ACCEPT
	$IPTABLES -A FORWARD -i $LANDEVICE -m state --state NEW -p udp --dport 80 -j ACCEPT
	# HTTPS nach aussen zulassen
	$IPTABLES -A FORWARD -i $LANDEVICE -m state --state NEW -p tcp --dport 443 -j ACCEPT
	# DNS nach aussen zulassen
	$IPTABLES -A FORWARD -i $LANDEVICE -m state --state NEW -p tcp --dport 53 -j ACCEPT
	$IPTABLES -A FORWARD -i $LANDEVICE -m state --state NEW -p udp --dport 53 -j ACCEPT
	# POP3 nach aussen zulassen
	$IPTABLES -A FORWARD -i $LANDEVICE -m state --state NEW -p tcp --dport 110 -j ACCEPT
	# IMAP nach aussen zulassen
	$IPTABLES -A FORWARD -i $LANDEVICE -m state --state NEW -p tcp --dport 143 -j ACCEPT

	# SMTP-Verbindungen zu bestimmten Servern erlauben
	# intmail
	$IPTABLES -A FORWARD -p tcp -d [IP des Mailservers] --dport 25 -j ACCEPT
	$IPTABLES -A FORWARD -p tcp -s [IP des Mailservers] --dport 25 -j ACCEPT
	$IPTABLES -A OUTPUT -p tcp -d [IP des Mailservers] --dport 25 -j ACCEPT

	# passive FTP
	$MODPROBE ip_conntrack_ftp

	# Portforwardings
	echo "Aktiviere Portforwardings ins LAN"
	$IPTABLES -A FORWARD -i $EXTDEVICE -m state --state NEW -p tcp --dport [Zielport] -j ACCEPT
	$IPTABLES -A INPUT -m state --state NEW -p tcp --dport [Zielport] -j ACCEPT
	$IPTABLES -t nat -A PREROUTING -i $EXTDEVICE -p TCP --dport [Zielport] -j DNAT --to-destination [LAN-IP-zu-der-wir-forwarden]


	# Alle TCP Packete, die bis hier hin kommen, werden 
    # geloggt und rejected 
    # Der Rest wird eh per Default Policy gedroppt... 
	$IPTABLES -A INPUT -p tcp -j LOGREJECT 
	$IPTABLES -A FORWARD -p tcp -j LOGREJECT
	;;
*)
	echo "Usage: `basename $0` {start}" >&2
	exit 64
	;;
esac

exit 0

Ich hoffe, dass da jetzt keine Fehler drin sind. War zu faul die Details nochmal in der Manpage nachzuschauen, aber die solltest du eh mal lesen. Wenn also irgendwas nicht wie gewünscht funktioniert, siehe 'man iptables'. ;)
 
Hallo

Kann mir bitte jeamand weiterhelfen??

Ich beschäftige mich seit ca. 2 Wochen mit Linux.
Habe einen ASUS router auf dem ich openwrt kamikaze laufen habe.
Das usb-modem (hsdpa) habe ich am router angeschlossen.
Nach zwei Wöchiger tüftelei läuft die Internetverbindung jetzt.
Jetz habe ich aber Probleme mit der Firewall.

Was muß ich da eingeben:

$IPTABLES -A INPUT -i <netzwerk-device-zum-lan> -j ACCEPT


$IPTABLES -t nat -A POSTROUTING -o <netzwerk-device-zum-internet> -j MASQUERADE

Was ist mit netzwerkdevice zum lan gemeint????
 
Aber was genau


wen ich ifconfig eingebe kommt folgende ausgabe:

root@OpenWrt:~# ifconfig
br-lan Link encap:Ethernet HWaddr 00:1B:FC:06:50:15
inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1223 errors:0 dropped:0 overruns:0 frame:0
TX packets:1224 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:309539 (302.2 KiB) TX bytes:461305 (450.4 KiB)

eth0 Link encap:Ethernet HWaddr ..................
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1215 errors:0 dropped:0 overruns:0 frame:0
TX packets:1221 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:335655 (327.7 KiB) TX bytes:471499 (460.4 KiB)
Interrupt:4

eth0.0 Link encap:Ethernet HWaddr ..................
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1223 errors:0 dropped:0 overruns:0 frame:0
TX packets:1224 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:314431 (307.0 KiB) TX bytes:466201 (455.2 KiB)

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

ppp0 Link encap:Point-to-Point Protocol
inet addr:................... P-t-P:10.64.64.64 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:623 errors:0 dropped:0 overruns:0 frame:0
TX packets:725 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:377338 (368.4 KiB) TX bytes:246320

Die Zahlen habe ich teilweise durch .................... ersetzt.

Habe jetzt schon eth0 eth0.0 lo und ppp0 und br-lan eingegeben. Immer das gleiche. Normalerweise wäre es eth0 oder?????
 
Na, die iptables-Befehle sehen ja sehr nach meinen Howto aus. ;)

Dein LAN-Interface ist das mit der IP 192.168.1.1 und ppp0 ist dein Interface zum Internet. Allerdings wundert mich etwas, dass das Netzwerk-Device eine Bridge ist. Hast du die eingerichtet oder war das per Default so?
 
Das ist wegen dem usb modem soweit ich weiß.
Dann müßte ich in :

$IPTABLES -A INPUT -i <netzwerk-device-zum-lan> -j ACCEPT


br-lan eingeben oder?????

Das funkt aber auch nicht.

Da kommt die Fehlermeldung cannot open br-lan
 
Das Skript startest du aber schon auf dem Router und nicht auf dem Rechner, den der Router ins Netz leiten soll, oder? Was sagt 'ls -lh /dev/br*'?
 
Hast du dich bei dem Befehl evtl. vertippt? (das ist ein kleines L und kein Pipe). Die Optionen sollte 'ls' eigentlich beherrschen (-l = list, -h = human readable).
 
Bei ls -lh /dev/ kommt folgendes:


root@OpenWrt:~# ls -lh /dev/
crw-r--r-- 1 root root 189, 1 Jan 1 00:00 1-1
crw-r--r-- 1 root root 5, 1 Jan 1 00:00 console
crw-rw-rw- 1 root root 1, 7 Jan 1 00:00 full
crw-r--r-- 1 root root 1, 2 Jan 1 00:00 kmem
crw-r--r-- 1 root root 1, 11 Jan 1 00:00 kmsg
srw-rw-rw- 1 root root 0 Jan 1 00:00 log
crw-r--r-- 1 root root 1, 1 Jan 1 00:00 mem
crw-r--r-- 1 root root 90, 0 Jan 1 00:00 mtd0
crw-r--r-- 1 root root 90, 1 Jan 1 00:00 mtd0ro
crw-r--r-- 1 root root 90, 2 Jan 1 00:00 mtd1
crw-r--r-- 1 root root 90, 3 Jan 1 00:00 mtd1ro
crw-r--r-- 1 root root 90, 4 Jan 1 00:00 mtd2
crw-r--r-- 1 root root 90, 5 Jan 1 00:00 mtd2ro
crw-r--r-- 1 root root 90, 6 Jan 1 00:00 mtd3
crw-r--r-- 1 root root 90, 7 Jan 1 00:00 mtd3ro
crw-r--r-- 1 root root 90, 8 Jan 1 00:00 mtd4
crw-r--r-- 1 root root 90, 9 Jan 1 00:00 mtd4ro
brw-r--r-- 1 root root 31, 0 Jan 1 00:00 mtdblock0
brw-r--r-- 1 root root 31, 1 Jan 1 00:00 mtdblock1
brw-r--r-- 1 root root 31, 2 Jan 1 00:00 mtdblock2
brw-r--r-- 1 root root 31, 3 Jan 1 00:00 mtdblock3
brw-r--r-- 1 root root 31, 4 Jan 1 00:00 mtdblock4
crw-rw-rw- 1 root root 1, 3 Jan 1 00:00 null
crw-r--r-- 1 root root 1, 4 Jan 1 00:00 port
crw------- 1 root root 108, 0 Jan 1 00:00 ppp
crw-rw-rw- 1 root root 5, 2 Jan 1 00:05 ptmx
drwxr-xr-x 2 root root 0 Jan 1 00:00 pts
crw-r--r-- 1 root root 1, 8 Jan 1 00:00 random
lrwxrwxrwx 1 root root 14 Jan 1 00:00 root -> /dev/mtdblock2
drwxr-xr-x 2 root root 40 Jan 1 00:00 shm
crw-rw-rw- 1 root root 5, 0 Jan 1 00:00 tty
crw-rw-rw- 1 root root 4, 64 Jan 1 00:00 ttyS0
crw-rw-rw- 1 root root 4, 65 Jan 1 00:00 ttyS1
crw-rw-rw- 1 root root 188, 0 Jan 1 00:00 ttyUSB0
crw-rw-rw- 1 root root 188, 1 Jan 1 00:00 ttyUSB1
crw-r--r-- 1 root root 1, 9 Jan 1 00:00 urandom
crw-r--r-- 1 root root 189, 0 Jan 1 00:00 usb1
crw-r--r-- 1 root root 189, 128 Jan 1 00:00 usb2
crw-r--r-- 1 root root 189, 0 Jan 1 00:00 usb3
crw-r--r-- 1 root root 254, 0 Jan 1 00:00 usbdev1.1_ep00
crw-r--r-- 1 root root 254, 1 Jan 1 00:00 usbdev1.1_ep81
crw-r--r-- 1 root root 254, 6 Jan 1 00:00 usbdev1.2_ep00
crw-r--r-- 1 root root 254, 8 Jan 1 00:00 usbdev1.2_ep04
crw-r--r-- 1 root root 254, 7 Jan 1 00:00 usbdev1.2_ep83
crw-r--r-- 1 root root 254, 6 Jan 1 00:00 usbdev1.3_ep00
crw-r--r-- 1 root root 254, 9 Jan 1 00:00 usbdev1.3_ep02
crw-r--r-- 1 root root 254, 13 Jan 1 00:00 usbdev1.3_ep04
crw-r--r-- 1 root root 254, 11 Jan 1 00:00 usbdev1.3_ep05
crw-r--r-- 1 root root 254, 7 Jan 1 00:00 usbdev1.3_ep81
crw-r--r-- 1 root root 254, 8 Jan 1 00:00 usbdev1.3_ep82
crw-r--r-- 1 root root 254, 12 Jan 1 00:00 usbdev1.3_ep83
crw-r--r-- 1 root root 254, 10 Jan 1 00:00 usbdev1.3_ep85
crw-r--r-- 1 root root 254, 2 Jan 1 00:00 usbdev2.1_ep00
crw-r--r-- 1 root root 254, 3 Jan 1 00:00 usbdev2.1_ep81
crw-r--r-- 1 root root 254, 4 Jan 1 00:00 usbdev3.1_ep00
crw-r--r-- 1 root root 254, 5 Jan 1 00:00 usbdev3.1_ep81
crw-rw-rw- 1 root root 1, 5 Jan 1 00:00 zero
 
Das Device scheint es tatsächlich nicht zu geben, was ich ziemlich seltsam finde. Gibt dir denn 'grep "br-lan" /var/log/messages' und 'grep "eth" /var/log/messages' irgendwelche Fehler aus? Und wie sehen die Konfigurationsdateien für's Netzwerk aus?

Allerdings wird das hier langsam ziemlich offtopic, denn dein Problem scheint in den Netzwerk-Einstellungen zu liegen. Dein Problem ist ja offenbar nicht der Zugriff auf das USB-Modem, sondern auf das Netzwerk-Interface zum LAN. Das USB-Modem benutzt offenbar ppp0 aber deine LAN-Einstellungen dürften ziemlich verkorkst sein.
 
Hallo

Habe jetzt openwrt (kamikaze) neu aufgespielt.
Habe aber die gleiche ausgabe (ohne modem)

Kannst du vieleicht mit dem etwas anfangen:


root@OpenWrt:~# uci show
dhcp.cfg1=dhcp
dhcp.cfg1.interface=lan
dhcp.cfg1.start=100
dhcp.cfg1.limit=150
dhcp.cfg1.leasetime=12h
dhcp.cfg2=dhcp
dhcp.cfg2.interface=wan
dhcp.cfg2.ignore=1
dropbear.cfg1=dropbear
dropbear.cfg1.TYPE=dropbear
dropbear.cfg1.PasswordAuth=on
dropbear.cfg1.Port=22
network.eth0=switch
network.eth0.vlan0=1 2 3 4 5*
network.eth0.vlan1=0 5
network.loopback=interface
network.loopback.ifname=lo
network.loopback.proto=static
network.loopback.ipaddr=127.0.0.1
network.loopback.netmask=255.0.0.0
network.lan=interface
network.lan.type=bridge
network.lan.ifname=eth0.0
network.lan.proto=static
network.lan.ipaddr=192.168.1.1
network.lan.netmask=255.255.255.0
network.wan=interface
network.wan.ifname=eth0.1
network.wan.proto=dhcp
system.cfg1=system
system.cfg1.TYPE=system
system.cfg1.hostname=OpenWrt
root@OpenWrt:~# uci show
dhcp.cfg1=dhcp
dhcp.cfg1.interface=lan
dhcp.cfg1.start=100
dhcp.cfg1.limit=150
dhcp.cfg1.leasetime=12h
dhcp.cfg2=dhcp
dhcp.cfg2.interface=wan
dhcp.cfg2.ignore=1
dropbear.cfg1=dropbear
dropbear.cfg1.TYPE=dropbear
dropbear.cfg1.PasswordAuth=on
dropbear.cfg1.Port=22
network.eth0=switch
network.eth0.vlan0=1 2 3 4 5*
network.eth0.vlan1=0 5
network.loopback=interface
network.loopback.ifname=lo
network.loopback.proto=static
network.loopback.ipaddr=127.0.0.1
network.loopback.netmask=255.0.0.0
network.lan=interface
network.lan.type=bridge
network.lan.ifname=eth0.0
network.lan.proto=static
network.lan.ipaddr=192.168.1.1
network.lan.netmask=255.255.255.0
network.wan=interface
network.wan.ifname=eth0.1
network.wan.proto=dhcp
system.cfg1=system
system.cfg1.TYPE=system
system.cfg1.hostname=OpenWrt
 
Zurück
Oben