Debian Server als Netzwerkverwaltungsserver

Gemeinsam ins Internet mit Firewall und Proxy.
scretchy
Beiträge: 15
Registriert: 15.10.2009 17:30:23

Re: Debian Server als Netzwerkverwaltungsserver

Beitrag von scretchy » 26.04.2018 22:07:40

iptables-save

Code: Alles auswählen

# Generated by iptables-save v1.4.21 on Thu Apr 26 21:58:49 2018
*nat
:PREROUTING ACCEPT [1104:79902]
:INPUT ACCEPT [881:65858]
:OUTPUT ACCEPT [513:36768]
:POSTROUTING ACCEPT [736:50812]
COMMIT
# Completed on Thu Apr 26 21:58:49 2018
netstat -nr

Code: Alles auswählen

Kernel-IP-Routentabelle
Ziel            Router          Genmask         Flags   MSS Fenster irtt Iface
0.0.0.0         192.150.160.1   0.0.0.0         UG        0 0          0 eth0
192.150.160.0   0.0.0.0         255.255.255.0   U         0 0          0 eth0
192.150.170.0   0.0.0.0         255.255.255.0   U         0 0          0 eth1
ip a

Code: Alles auswählen

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:e5:62:f3 brd ff:ff:ff:ff:ff:ff
    inet 192.150.160.2/24 brd 192.150.160.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fee5:62f3/64 scope link
       valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:e5:62:fd brd ff:ff:ff:ff:ff:ff
    inet 192.150.170.1/24 brd 192.150.170.255 scope global eth1
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fee5:62fd/64 scope link
       valid_lft forever preferred_lft forever
traceroute -n 8.8.8.8 (DEB Server)

Code: Alles auswählen

 1  192.150.160.1  0.535 ms  0.617 ms  0.740 ms
 2  213.168.223.130  64.635 ms  64.755 ms  64.728 ms
 3  80.228.232.115  27.794 ms 80.228.232.113  29.240 ms  30.763 ms
 4  80.228.98.141  37.003 ms 80.228.98.145  33.494 ms  35.069 ms
 5  212.6.115.26  47.018 ms 212.6.115.130  49.242 ms 212.6.115.22  53.679 ms
 6  72.14.223.177  56.953 ms  56.608 ms  58.054 ms
 7  108.170.251.193  68.997 ms 108.170.229.95  41.650 ms 108.170.241.129  42.960 ms
 8  8.8.8.8  41.792 ms  40.394 ms  39.784 ms
traceroute -n 8.8.8.8 (WLAN Gerät) => Reiche ich morgen nach. Komme im Moment auf kein Gerät drauf.

IP-Adresse des WLAN-Gerätes: Werden per DHCP vergeben und liegen zwischen .170.10 und .100

Die FrizBox antwortet auf einen Ping vom Deb Server
Der Deb Server antwortet auf einen Ping vom WLAN Gerät
Die FritzBox antwortet nicht auf einen Ping vom WLAN Gerät

Jana66 hat geschrieben: ↑ zum Beitrag ↑
26.04.2018 21:59:06
Ehe "normale Clients" vergessen werden:
192.150.160.50-100 <= Clients mit DNS Server auf 192.150.160.2 und Gateway auf 192.150.160.1
DNS auf Debian-Server, Gateway = Fritzbox?! DNS auf Debian-Server ist Forwarder auf Fritzbox? Oder Resolver?
Korrekt. Ein Lokaler DNS für interne Namensauflösungen. Wenn die Adresse lokal nicht existiert, wird Sie von der FritzBox angefordert.

Benutzeravatar
heisenberg
Beiträge: 3473
Registriert: 04.06.2015 01:17:27
Lizenz eigener Beiträge: MIT Lizenz

Re: Debian Server als Netzwerkverwaltungsserver

Beitrag von heisenberg » 26.04.2018 22:17:27

Ich habe meine Checkliste nachträglich geändert. Bitte nochmal checken.

Der folgende Befehl ist nicht aktiv. Deine iptables-Ausgabe ist leer!

Code: Alles auswählen

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Die Folge ist, dass kein NAT/MASQUERADING aktiv ist und die Antworten nicht zurück kommen können.

Führe den Befehl erneut aus. Das könnte es bereits gewesen sein.
... unterhält sich hier gelegentlich mangels wunschgemäßer Gesprächspartner mal mit sich selbst.

BenutzerGa4gooPh

Re: Debian Server als Netzwerkverwaltungsserver

Beitrag von BenutzerGa4gooPh » 27.04.2018 07:56:28

Das Netzwerk ist (abgesehen von öffentlichen IPs) völlig falsch aufgebaut. Korrektur:

Code: Alles auswählen

Internet
|
WAN: DSL
[Fritzbox mit NAT, DNS-Forwarder, statische Route auf 192.168.160.0/24]
LANx und WLAN: 192.168.170.1/24, DHCP-Pool .101 bis .249
  |
GÄSTE (DNS-Server und GW = 192.168.170.1)
(geschütztes Netz hinter Debianserver nicht erreichbar)
  |
eth0:192.168.170.2/24
[Debianserver mit ip-Forwarding, DNS-Forwarder auf öffentliche DNS-Server]
eth1:192.168.160.1/24, DHCP-Pool .101 bis .249
  |
192.168.160.0/24 (DNS-Server und GW = 192.168.160.1)
(geschütztes Netz hinter Debian-"Firewall")
 |
[WLAN-Accesspoint] -- WLAN-Clients (geschützt)
Auf dem Debianserver kann der Zugang aus dem Gastnetz nun sehr einfach per iptables "eth0: "DENY INCOMING IP(+ICMP) ANY ANY" (sinngemäß) verboten werden. Oder man verwendet (Doppel-) NAT, gleicher Effekt.
Etwas Weiterbildung: https://www.administrator.de/wissen/kop ... html#toc-2

Wer für iptables in Verbindung mit systemd zu blöd oder zu faul ist, nutzt Debianufw :

Code: Alles auswählen

apt-get install ufw
ufw status verbose
-> inactive
ufw disable

nano /etc/default/ufw
IPV6=no
ufw enable

Regeln allgemein:
ufw allow|deny [proto <protokoll>] [from <adresse> [port <port>]] [to <addresse> [port <port>]]

Standardregeln:
ufw default deny incoming
ufw default allow outgoing
ufw logging off
Mit Debiangufw kann man sich Regeln "Zusammenklicken".
https://wiki.ubuntuusers.de/ufw/

Kann sein, dass man Routing / IP-Forwarding (und bei Bedarf NAT, siehe oben, eigentlich unnötig) in Debianufw einschalten/berücksichtigen muss. Konfig, /etc/default/ufw?
Debianufw setzt übrigens auf iptables auf, ist nur Frontend. Irgendwo stehen die fertigen iptables ... :wink:

Falls auf deinem Debianserver nur Netzwerkdienste laufen, kannst du dir mal PFSense oder OPNSense mit nettem GUI anschauen.
https://opnsense.org/download/
Zuletzt geändert von BenutzerGa4gooPh am 27.04.2018 08:45:48, insgesamt 1-mal geändert.

scretchy
Beiträge: 15
Registriert: 15.10.2009 17:30:23

Re: Debian Server als Netzwerkverwaltungsserver

Beitrag von scretchy » 27.04.2018 08:44:47

Guten morgen.
heisenberg hat geschrieben: ↑ zum Beitrag ↑
26.04.2018 22:17:27
Ich habe meine Checkliste nachträglich geändert. Bitte nochmal checken.

Der folgende Befehl ist nicht aktiv. Deine iptables-Ausgabe ist leer!

Code: Alles auswählen

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Die Folge ist, dass kein NAT/MASQUERADING aktiv ist und die Antworten nicht zurück kommen können.

Führe den Befehl erneut aus. Das könnte es bereits gewesen sein.
Ich wollte nochmal von vorne anfangen, darum sind alle einträge leer. Ich habe aber jetzt den ersten Befehl schonmal eingetragen. Hier die Nachträge:

iptables -t nat -L -v -n
Chain PREROUTING (policy ACCEPT 447 packets, 26250 bytes)
pkts bytes target prot opt in out source destination

Chain INPUT (policy ACCEPT 433 packets, 25458 bytes)
pkts bytes target prot opt in out source destination

Chain OUTPUT (policy ACCEPT 26 packets, 2037 bytes)
pkts bytes target prot opt in out source destination

Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
40 2829 MASQUERADE all -- * eth0 0.0.0.0/0 0.0.0.0/0
cat /proc/sys/net/ipv4/ip_forward
1
traceroute -n 8.8.8.8 (Vom Gast) (Windows tracert)
tracert 8.8.8.8

Routenverfolgung zu google-public-dns-a.google.com [8.8.8.8]
über maximal 30 Hops:

1 3 ms 3 ms 3 ms nothing.attdns.com [192.150.170.1]
2 5 ms 3 ms 3 ms fritz.box [192.150.160.1]
3 28 ms 26 ms 25 ms bng-os-10.ewe-ip-backbone.de [213.168.223.130]
4 28 ms 26 ms 26 ms bbrt-os-0-ae14.ewe-ip-backbone.de [80.228.232.115]
5 29 ms 27 ms 27 ms bbrt.owo-0-ae2.ewe-ip-backbone.de [80.228.98.141]
6 34 ms 32 ms 32 ms bbrt.hb-2-xe-1-1-0.ewe-ip-backbone.de [80.228.90.34]
7 35 ms 32 ms 32 ms bbrt.aur-1-ge-7-0-4.ewe-ip-backbone.de [80.228.98.46]
8 34 ms 33 ms 33 ms 108.170.229.95
9 35 ms 34 ms 33 ms google-public-dns-a.google.com [8.8.8.8]
Antwortet die Fritzbox auf einen ping vom Gäste-WLAN-Gerät?
=> Nach eintrag der einen Regel: Ja


Ergebnis:
Die Gastgeräte haben jetzt Internetzugang aber auch Zugriff auf das Private Netz. An diesem Punkt hatte ich immer das Problem, den Zugang zu dem 160er Netz zu verbieten.
Eigentlich müsste man einfach im Prerouting sagen: Alle Pakete die an eth1 kommen und nach 160 wollen: DROP. Ich habe hier bisher immer mit -t nat probiert. DROP ist hier aber nicht verfügbar. Vermutlich muss ich aber die INPUT rule bemühen.? Das hat auch schon mit einer einzelnen IP geklappt, aber nicht mit einer IP-Range.

EDIT: -A INPUT -d 192.150.160.0/24 -i eht1 -j DROP brachte kein Erfolg.
iptables-save
# Generated by iptables-save v1.4.21 on Fri Apr 27 08:57:43 2018
*filter
:INPUT ACCEPT [1479:139409]
:FORWARD ACCEPT [830:296317]
:OUTPUT ACCEPT [1213:119524]
-A INPUT -d 192.150.160.0/24 -i eht1 -j DROP
COMMIT
# Completed on Fri Apr 27 08:57:43 2018
# Generated by iptables-save v1.4.21 on Fri Apr 27 08:57:43 2018
*nat
:PREROUTING ACCEPT [4504:292980]
:INPUT ACCEPT [4210:270620]
:OUTPUT ACCEPT [1234:88237]
:POSTROUTING ACCEPT [2:656]
-A POSTROUTING -o eth0 -j MASQUERADE
COMMIT
# Completed on Fri Apr 27 08:57:43 2018

Freundliche Grüße
Daniel
Zuletzt geändert von scretchy am 27.04.2018 08:59:55, insgesamt 1-mal geändert.

scretchy
Beiträge: 15
Registriert: 15.10.2009 17:30:23

Re: Debian Server als Netzwerkverwaltungsserver

Beitrag von scretchy » 27.04.2018 08:47:34

Jana66 hat geschrieben: ↑ zum Beitrag ↑
27.04.2018 07:56:28
Das Netzwerk ist (abgesehen von öffentlichen IPs) völlig falsch aufgebaut. Korrektur:

Code: Alles auswählen

Internet
|
WAN: DSL
[Fritzbox mit NAT, DNS-Forwarder, statische Route auf 192.168.160.0/24]
LANx und WLAN: 192.168.170.1/24, DHCP-Pool .101 bis .249
  |
GÄSTE (DNS-Server und GW = 192.168.170.1)
(geschütztes Netz hinter Debianserver nicht erreichbar)
  |
eth0:192.168.170.2/24
[Debianserver mit ip-Forwarding, DNS-Forwarder auf öffentliche DNS-Server]
eth1:192.168.160.1/24, DHCP-Pool .101 bis .249
  |
192.168.160.0/24 (DNS-Server und GW = 192.168.160.1)
(geschütztes Netz hinter Debian-"Firewall")
 |
[WLAN-Accesspoint] -- WLAN-Clients (geschützt)
Auf dem Debianserver kann der Zugang aus dem Gastnetz nun sehr einfach per iptables "eth0: "DENY INCOMING IP(+ICMP) ANY ANY" (sinngemäß) verboten werden. Oder man verwendet (Doppel-) NAT, gleicher Effekt.
Etwas Weiterbildung: https://www.administrator.de/wissen/kop ... html#toc-2
Grundsätzlich verstehe ich deinen Vorschlag und den Aufbau. Ich habe mich damals aber gegen diesen Aufbau entschieden, da der eingesetzte Server nicht zuverlässig war. Wenn dieser ausgefallen wäre, wär das ganze Interne Netz tot.

Freundliche Grüße
Daniel

BenutzerGa4gooPh

Re: Debian Server als Netzwerkverwaltungsserver

Beitrag von BenutzerGa4gooPh » 27.04.2018 09:07:17

scretchy hat geschrieben: ↑ zum Beitrag ↑
27.04.2018 08:47:34
Ich habe mich damals aber gegen diesen Aufbau entschieden, da der eingesetzte Server nicht zuverlässig war. Wenn dieser ausgefallen wäre, wär das ganze Interne Netz tot.
Keine plausible Begründung für fehlerhaftes Design. Gastnetz könntest du auch nur mit Fritzbox und evtl. Switch realisieren, für LAN und WLAN:
https://avm.de/service/fritzbox/fritzbo ... inrichten/
https://avm.de/service/fritzbox/fritzbo ... inrichten/
Eine zusätzliche Hardware (Firewall, Server) sollte Sinn haben, schützen.
Ein absichtlich fehlerhaftes Design muss man selber beherrschen, bei Anfragen korrekt beschreiben (eigener Netzwerk-Plan) oder einfach stabile Hardware für eine zusätzliche Firewall nutzen.

Benutzeravatar
heisenberg
Beiträge: 3473
Registriert: 04.06.2015 01:17:27
Lizenz eigener Beiträge: MIT Lizenz

Re: Debian Server als Netzwerkverwaltungsserver

Beitrag von heisenberg » 27.04.2018 11:20:02

Die Gastgeräte haben jetzt Internetzugang aber auch Zugriff auf das Private Netz. An diesem Punkt hatte ich immer das Problem, den Zugang zu dem 160er Netz zu verbieten.
Eigentlich müsste man einfach im Prerouting sagen: Alle Pakete die an eth1 kommen und nach 160 wollen: DROP. Ich habe hier bisher immer mit -t nat probiert. DROP ist hier aber nicht verfügbar. Vermutlich muss ich aber die INPUT rule bemühen.?
Schema der iptables-Chains und -tables

Filtern geht immer nur in der Filter-Table. Die Prerouting-Chain hat keine Filter-Table. Filtern geht nur in den Chains INPUT, OUTPUT und FORWARD. FORWARD ist die Stelle, an der Du gerouteten Traffic filterst.

---

Was das Setup angeht. Ja. Ist von der Privatsphäre her schon subobtimal, wie Jana das aufgezeigt hat. Das Argument, dass man da einen Server hat der nicht immer stabil ist und dass das für privat ja vollkommen ok so ist, kann ich da aber schon nachvollziehen.

Was ich mich frage, ist, ob da ein Desktoprechner als Server steht, der ja schon für einen ordentlich Batzen Geld Strom wegsaugt?
Das hat auch schon mit einer einzelnen IP geklappt, aber nicht mit einer IP-Range.
Beispiel

Code: Alles auswählen

iptables -A FORWARD -p tcp -i eth1 -d 192.168.160.0/24 -j REJECT
Das verbietet jegliche Verbindungen von allem was über eth1 reinkommt in das Netz 192.168.160.0/24.

bzw. nach dem Erlaubnisprinzip

Code: Alles auswählen

iptables -A FORWARD -p tcp -i eth1 -m multiport --dports=80,443  ! -d 192.168.160.0/24 -j ACCEPT
Das erlaubt alle gerouteten TCP Verbindungen zu Port 80,443 überall hin ausser nach 192.168.160.0/24. Die Einschränkung nur für Port 80 und 443 habe ich hinzugenommen, weil das sonst vielleicht viel mehr freischalten könnte, als man vielleicht meinen mag.
Zuletzt geändert von heisenberg am 29.04.2018 17:51:49, insgesamt 1-mal geändert.
... unterhält sich hier gelegentlich mangels wunschgemäßer Gesprächspartner mal mit sich selbst.

scretchy
Beiträge: 15
Registriert: 15.10.2009 17:30:23

Re: Debian Server als Netzwerkverwaltungsserver

Beitrag von scretchy » 29.04.2018 17:22:33

Hallo heisenberg.

Vielen Dank für deine Mühe. Jetzt hab ich die Geschichte mit Filter und NAT auch verstanden. Hatte eben noch schwierigkeiten mit den Standartwerten und der Reihnefolge der Regeln. Das ist nun auch klar.
:THX: :THX: :hail:

Ich würde nun gerne noch als Sicherheit alle INPUT's, bis auf die DNS Anfragen zum Firewallserver aus der eth1 Schnittstelle blocken.

Folgende Tabelle hab ich jetzt
# Generated by iptables-save v1.4.21 on Sun Apr 29 17:16:58 2018
*filter
:INPUT DROP [149:10648]
:FORWARD ACCEPT [59:14530]
:OUTPUT ACCEPT [279:30179]
-A INPUT -i eth0 -j ACCEPT
-A INPUT -d 192.150.170.1/32 -i eht1 -p udp -m udp --sport 1024:65535 --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT
-A INPUT -d 192.150.170.1/32 -i eht1 -p udp -m udp --sport 53 --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT
-A FORWARD -d 192.150.160.0/24 -i eth1 -j REJECT --reject-with icmp-port-unreachable
COMMIT
# Completed on Sun Apr 29 17:16:58 2018
# Generated by iptables-save v1.4.21 on Sun Apr 29 17:16:58 2018
*nat
:PREROUTING ACCEPT [104643:7069381]
:INPUT ACCEPT [99385:6675818]
:OUTPUT ACCEPT [32476:2340931]
:POSTROUTING ACCEPT [150:46716]
-A POSTROUTING -o eth0 -j MASQUERADE
COMMIT
# Completed on Sun Apr 29 17:16:58 2018
Wo ist der Fehler, dass keine DNS Anfragen aus dem eth1 Netz beantwortet werden?

Freundliche Grüße
Daniel

scretchy
Beiträge: 15
Registriert: 15.10.2009 17:30:23

Re: Debian Server als Netzwerkverwaltungsserver

Beitrag von scretchy » 29.04.2018 17:52:17

Problem gelöst. So scheints zu laufen:
# Generated by iptables-save v1.4.21 on Sun Apr 29 17:46:36 2018
*nat
:PREROUTING ACCEPT [35:2628]
:INPUT ACCEPT [10:1000]
:OUTPUT ACCEPT [18:1272]
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -o eth0 -j MASQUERADE
COMMIT
# Completed on Sun Apr 29 17:46:36 2018
# Generated by iptables-save v1.4.21 on Sun Apr 29 17:46:36 2018
*filter
:INPUT DROP [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [148:15616]
-A INPUT -i lo -j ACCEPT
-A INPUT -i eth0 -j ACCEPT
-A INPUT -i eth1 -p tcp -m tcp --dport 53 -j ACCEPT
-A INPUT -i eth1 -p udp -m udp --dport 53 -j ACCEPT
-A FORWARD -d 192.150.160.0/24 -i eth1 -j REJECT --reject-with icmp-port-unreachable
COMMIT
# Completed on Sun Apr 29 17:46:36 2018

Alles in allem erwirke ich damit folgende "Sicherheit".

Eingehende Verbindungen auf den Server mit Ausnahme von Port 53 für DNS Anfragen werden an eth1 blockiert. An allen anderen interfaces ist alles erlaubt.
Ausgehende Verbindungen sind erlaubt.
Alle Routing Anfragen werden bis auf ins 160er Netz blockiert und bei Bedarf Maskiert.

Sieht jemand noch irgendwo gravierende Probleme?

Freundliche Grüße
Daniel

Benutzeravatar
heisenberg
Beiträge: 3473
Registriert: 04.06.2015 01:17:27
Lizenz eigener Beiträge: MIT Lizenz

Re: Debian Server als Netzwerkverwaltungsserver

Beitrag von heisenberg » 29.04.2018 17:55:14

-i eht1
Schreibfehler. Soll bestimmt -i eth1 heissen.
... unterhält sich hier gelegentlich mangels wunschgemäßer Gesprächspartner mal mit sich selbst.

scretchy
Beiträge: 15
Registriert: 15.10.2009 17:30:23

Re: Debian Server als Netzwerkverwaltungsserver

Beitrag von scretchy » 29.04.2018 17:58:15

? Verstehe nich wo du meinst?

Benutzeravatar
ThorstenS
Beiträge: 2875
Registriert: 24.04.2004 15:33:31

Re: Debian Server als Netzwerkverwaltungsserver

Beitrag von ThorstenS » 29.04.2018 19:30:36

Das, was ich mir nicht merken kann, weiß meine ~/.bash_history. Und damit die nix vergißt, steht das hier in meiner ~/.bashrc

Code: Alles auswählen

HISTCONTROL=ignoredups:erasedups:ignorespace                                                                  
HISTIGNORE="&:ls:[bf]g:exit:k"
HISTTIMEFORMAT="%F %T "
TIME_STYLE=long-iso
HISTSIZE=800000
HISTFILESIZE=3000000
Dann hättest du nur STRG+riptables ein tippen müssen und hättest deine alten Einträge wiedergefunden.
Fürs nächste Mal also: History lesen ;-)

Benutzeravatar
heisenberg
Beiträge: 3473
Registriert: 04.06.2015 01:17:27
Lizenz eigener Beiträge: MIT Lizenz

Re: Debian Server als Netzwerkverwaltungsserver

Beitrag von heisenberg » 29.04.2018 19:42:53

scretchy hat geschrieben: ↑ zum Beitrag ↑
29.04.2018 17:58:15
? Verstehe nich wo du meinst ?
Mein Beitrag hat ca. 50 Zeichen und ich habe 8 Zeichen von Dir zitiert. Nehme Dir doch mal 1 Minute Zeit um den Beitrag genau durchzulesen.
... unterhält sich hier gelegentlich mangels wunschgemäßer Gesprächspartner mal mit sich selbst.

Antworten