[gelöst] openVPN "alles" durch den Tunnel

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Benutzeravatar
bluestar
Beiträge: 1100
Registriert: 26.10.2004 11:16:34
Wohnort: Rhein-Main-Gebiet

Re: openVPN "alles" durch den Tunnel

Beitrag von bluestar » 09.02.2019 17:08:53

dirk11 hat geschrieben: ↑ zum Beitrag ↑
09.02.2019 15:29:07
ich habe eine einzeln stehende 1 noch nie bei einer iptables-Regel gesehen.
Vielleicht mal zur Erklärung:

Code: Alles auswählen

iptables -A CHAIN ....
Fügt eine Regel an das Ende des Chains hinzu (append).

Code: Alles auswählen

iptables -I CHAIN n ....
Fügt eine Regel an Position "n" in dem Chain ein (insert), wobei die Reglen bei n = 1 beginnen.

dirk11
Beiträge: 2512
Registriert: 02.07.2013 11:47:01

Re: openVPN "alles" durch den Tunnel

Beitrag von dirk11 » 09.02.2019 17:51:11

:THX:

Der Grund für meine Frage und den Wunsch, überhaupt diese Option zu bekommen, war übrigens ein Zwischenstopp in einem der "Five-Eyes" Staaten vor kurzem. Hier in D interessiert mich wenig, ob die Telekom mein Surf-Verhalten über das Festnetz oder über das Mobilnetz verfolgt...

mat6937
Beiträge: 1426
Registriert: 09.12.2014 10:44:00

Re: openVPN "alles" durch den Tunnel

Beitrag von mat6937 » 09.02.2019 18:07:03

dirk11 hat geschrieben: ↑ zum Beitrag ↑
09.02.2019 15:29:07
..., ich habe eine einzeln stehende 1 noch nie bei einer iptables-Regel gesehen.
BTW: Hätte ich dich vorher fragen sollen, ob Du schon eine oder mehrere iptables-Regel(n) in der POSTROUTING chain/nat table hast?
Wenn ich die Regel mit der 1 (... d. h. sie wird an 1. Stelle in der chain gesetzt) schreibe, weiß ich, dass diese Regel auch immer wirksam ist.

dirk11
Beiträge: 2512
Registriert: 02.07.2013 11:47:01

Re: openVPN "alles" durch den Tunnel

Beitrag von dirk11 » 09.02.2019 18:26:19

Alles gut. Ich wußte überhaupt nicht, daß es diese Möglichkeit bei iptables gibt, ich dachte immer, die werden der Reihe nach abgearbeitet. Von daher ist die MASQUERADE-Regel sowieso die erste im postrouting-Zweig.

mat6937
Beiträge: 1426
Registriert: 09.12.2014 10:44:00

Re: openVPN "alles" durch den Tunnel

Beitrag von mat6937 » 09.02.2019 18:29:39

dirk11 hat geschrieben: ↑ zum Beitrag ↑
09.02.2019 18:26:19
..., ich dachte immer, die werden der Reihe nach abgearbeitet.
Und genau das kann ja zum Problem werden. Denn wenn eine Regel zutrifft/ wirksam ist, werden die nachfolgenden Regeln nicht mehr berücksichtigt.

dirk11
Beiträge: 2512
Registriert: 02.07.2013 11:47:01

Re: openVPN "alles" durch den Tunnel

Beitrag von dirk11 » 09.02.2019 18:46:37

Na ja. Das kann nur dann zum Problem werden, wenn man das nicht beachtet oder nicht weiß (mir war das schon bekannt). Aber gut, daß Du es nochmal erwähnst, für andere Leser.

mat6937
Beiträge: 1426
Registriert: 09.12.2014 10:44:00

Re: openVPN "alles" durch den Tunnel

Beitrag von mat6937 » 09.02.2019 19:01:42

dirk11 hat geschrieben: ↑ zum Beitrag ↑
09.02.2019 18:46:37
... (mir war das schon bekannt). ..., für andere Leser.
Poste mal die Ausgabe von:

Code: Alles auswählen

iptables -nvx -L FORWARD

dirk11
Beiträge: 2512
Registriert: 02.07.2013 11:47:01

Re: openVPN "alles" durch den Tunnel

Beitrag von dirk11 » 09.02.2019 19:18:30

Code: Alles auswählen

# iptables -nvx -L FORWARD
Chain FORWARD (policy DROP 0 packets, 0 bytes)
    pkts      bytes target     prot opt in     out     source               destination         
      19     1596 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0            icmptype 8 limit: avg 1/sec burst 5
       0        0 DROP       icmp --  *      *       0.0.0.0/0            0.0.0.0/0            icmptype 8
     119    62144 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0           
      85     5100 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp flags:0x17/0x02 limit: avg 10/sec burst 5
      17      680 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp flags:0x17/0x04 limit: avg 10/sec burst 5
       0        0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp flags:0x3F/0x00 limit: avg 5/hour burst 5
       0        0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp flags:0x3F/0x3F limit: avg 5/hour burst 5
      41    40772 ACCEPT     all  --  tun+   eth0    10.1.0.0/24          0.0.0.0/0            ctstate NEW
       0        0 ACCEPT     all  --  tun+   eth0    10.2.0.0/24          0.0.0.0/0            ctstate NEW
       0        0 ACCEPT     all  --  eth0   tun+    192.168.17.0/24       0.0.0.0/0            ctstate NEW
   56424 45575256 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED
       0        0 ACCEPT     all  --  eth0   eth0    0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED
       0        0 ACCEPT     all  --  tun+   tun+    0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED
       0        0 ACCEPT     all  --  eth0   tun+    0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED
       0        0 ACCEPT     all  --  tun+   eth0    0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED
       0        0 REJECT     all  --  eth0   eth0    0.0.0.0/0            0.0.0.0/0            reject-with icmp-port-unreachable
       0        0 REJECT     all  --  tun+   tun+    0.0.0.0/0            0.0.0.0/0            reject-with icmp-port-unreachable
       0        0 LOG        all  --  *      *       0.0.0.0/0            0.0.0.0/0            limit: avg 5/min burst 5 LOG flags 0 level 4 prefix "Invalid FORWARD: "

mat6937
Beiträge: 1426
Registriert: 09.12.2014 10:44:00

Re: openVPN "alles" durch den Tunnel

Beitrag von mat6937 » 09.02.2019 19:21:54

dirk11 hat geschrieben: ↑ zum Beitrag ↑
09.02.2019 19:18:30

Code: Alles auswählen

   56424 45575256 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED
       0        0 ACCEPT     all  --  eth0   eth0    0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED
       0        0 ACCEPT     all  --  tun+   tun+    0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED
       0        0 ACCEPT     all  --  eth0   tun+    0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED
       0        0 ACCEPT     all  --  tun+   eth0    0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED
  
Hier sieht man, dass es dir doch nicht bekannt war. Denn die Regel:

Code: Alles auswählen

56424 45575256 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED
sorgt dafür, dass die 4 nachfolgenden Regeln nie wirksam (d. h. nie gebraucht) werden. Der Zähler (counter) dieser 4 Regeln wird immer bei 0 (null) bleiben.

dirk11
Beiträge: 2512
Registriert: 02.07.2013 11:47:01

Re: openVPN "alles" durch den Tunnel

Beitrag von dirk11 » 09.02.2019 20:54:17

Ok. 8O Jetzt wird's krank... 8)

Dann sag' mir doch bitte, wo mein Fehler liegt - das Konstrukt ist über 15 Jahre alt, im Laufe der Zeit gewachsen, und ich war mir eigentlich sicher, daß alles in Ordnung ist:

Code: Alles auswählen

01. LOCAL="192.168.17.0/24"
02. IPTABLES="/sbin/iptables"
03. 
04. ## echo 1 > /proc/sys/net/ipv4/ip_forward
05. 
06. Stop()
07. {
08.     Flush ACCEPT
09. }
10.
11. Close()
12. {
13.     Flush DROP
14. }
15.
16. Flush()
17. {
18.     $IPTABLES -F
19.     $IPTABLES -t nat -F
20.     $IPTABLES -t mangle -F      # ignore if you get an error here
21.     $IPTABLES -X                # deletes every non-builtin chain in the table
22.     $IPTABLES -A INPUT -i lo -j ACCEPT          # accepts packets from localhost
23.     $IPTABLES -A INPUT -i eth0 -j ACCEPT        # accepts packets from outside
24.     $IPTABLES -A INPUT -i eth1 -j ACCEPT        # accepts packets from intranet
25.     $IPTABLES -A INPUT -i tun0 -j ACCEPT        # accepts packets from intranet
26.     $IPTABLES -A INPUT -i tun1 -j ACCEPT        # accepts packets from intranet
27.     $IPTABLES -P INPUT DROP
28.     $IPTABLES -P FORWARD DROP
29. }
30. 
31. Start()
32. {
33.     $IPTABLES -F
34.     $IPTABLES -t nat -F
35.     ## Zaehlregeln fuer autoaus-script (folgende fünf Zeilen, Traffic im Intranet-Bereich):
36.     $IPTABLES -N TRAFFIC_ACCT
37.     $IPTABLES -A TRAFFIC_ACCT
38.     $IPTABLES -I INPUT -s 192.168.17.0/24 -j TRAFFIC_ACCT
39.     $IPTABLES -I INPUT -s 10.1.0.0/24 -j TRAFFIC_ACCT # eventuell anstelle von /26 auch ueberall /29
40.     $IPTABLES -I INPUT -s 10.2.0.0/24 -j TRAFFIC_ACCT # eventuell anstelle von /26 auch ueberall /29
41.
42.     ## Firewall ICMP. ICMP is useful so allow any by default.
43.     ## mit den ersten drei Zeilen wird verhindert, dass mein Rechner
44.     ## zu viele Antworten schickt (also auf zu viele ping-Anfragen
45.     ## reagiert) und damit den eigenen upload dichtmacht. Ohne "-i ! eth0"
46.     ## nach dem INPUT und vor dem -p gilt es fuer jede Schnittstelle.
47.     $IPTABLES -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
48.     $IPTABLES -A INPUT -p icmp --icmp-type echo-request -j DROP
49.     $IPTABLES -A OUTPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
50.     $IPTABLES -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT # Schutz vor "ping of death"
51.     $IPTABLES -A FORWARD -p icmp --icmp-type echo-request -j DROP                        # ?
52.     $IPTABLES -A INPUT   -p icmp -j ACCEPT
53.     $IPTABLES -A OUTPUT  -p icmp -j ACCEPT
54.     $IPTABLES -A FORWARD -p icmp -j ACCEPT
55.
56. ### Regeln fuer INPUT:
57.     $IPTABLES -A INPUT -i lo -j ACCEPT
58.
59.     ## Alle TCP-Sessions muessen mit einem SYN beginnen, sonst werden sie verworfen:
60.     $IPTABLES -A INPUT -p tcp ! --syn -m state --state NEW -j LOG --log-prefix "Stealth Scan: "
61.     $IPTABLES -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
62.
63.     ## Ungewoehnliche Flags verwerfen:
64.     $IPTABLES -A INPUT -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP
65.     $IPTABLES -A INPUT -p tcp --tcp-flags ALL ALL -j DROP
66.     $IPTABLES -A INPUT -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j DROP
67.     $IPTABLES -A INPUT -p tcp --tcp-flags ALL NONE -j DROP
68.     $IPTABLES -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
69.     $IPTABLES -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP
70.
71.     ## SYN-Flood-Schutz:
72.     $IPTABLES -N SYN_FLOOD
73.     $IPTABLES -A INPUT -p tcp --syn -j SYN_FLOOD
74.     $IPTABLES -A SYN_FLOOD -m limit --limit 10/s --limit-burst 40 -j RETURN
75.     $IPTABLES -A SYN_FLOOD -j DROP
76.
77.     $IPTABLES -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
78. #    $IPTABLES -A INPUT -m state --state NEW -i ! ppp+ -j ACCEPT
79.
80. ##  -> Hier neue Dienste einfuegen, die von aussen akzeptiert werden sollen, z.B.:
81. ##  (mit den folgenden 20 Zeilen werden die IPs geblockt, von denen innerhalb
82. ##  von 1m mehr als 5 Einlogversuche kommen, und zwar fuer je 1m.
83. ##  ACHTUNG: nach einer uptime >25d funktioniert das nicht mehr und von
84. ##  ausserhalb kann sich niemand mehr einloggen!
85. ##  Deshalb Einfuegung in /usr/local/bin/autoaus)
86.
87. ##^ NEU Anti-Bruteforce fuer Ports 22 und 33:
88.     $IPTABLES -N SSH_WHITELIST
89.     $IPTABLES -A SSH_WHITELIST -s 192.168.17.0/24 -m recent --remove --name ssh -j ACCEPT
90.     $IPTABLES -A SSH_WHITELIST -s 10.1.0.0/26 -m recent --remove --name ssh -j ACCEPT
91.     $IPTABLES -A SSH_WHITELIST -s 10.2.0.0/26 -m recent --remove --name ssh -j ACCEPT
92.     $IPTABLES -N SSH_BADGUYS
93.     $IPTABLES -A SSH_BADGUYS -m recent --name ssh_badguys --set
94.     $IPTABLES -A SSH_BADGUYS -j LOG --log-prefix "SSH scanner detected: "
95.     $IPTABLES -A SSH_BADGUYS -j REJECT --reject-with icmp-admin-prohibited
96. ##  auch hier: ohne "-i ! eth1" nach dem INPUT und vor dem -p gilt es fuer jede Schnittstelle:
97.     $IPTABLES -A INPUT -p tcp --dport 22 -m state --state NEW -j SSH_WHITELIST
98.     $IPTABLES -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --name ssh_badguys --update --seconds 120 -j REJECT --reject-with icmp-admin-prohibited
99.     $IPTABLES -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --set --name ssh
100.     $IPTABLES -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --rcheck --seconds 60 --hitcount 5 --name ssh -j SSH_BADGUYS
101.
102.     $IPTABLES -N SSH_WHITELIST2
103.     $IPTABLES -A SSH_WHITELIST2 -s 192.168.17.0/24 -m recent --remove --name ssh2 -j ACCEPT
104.     $IPTABLES -A SSH_WHITELIST2 -s 10.1.0.0/26 -m recent --remove --name ssh2 -j ACCEPT
105.     $IPTABLES -A SSH_WHITELIST2 -s 10.2.0.0/26 -m recent --remove --name ssh2 -j ACCEPT
106.     $IPTABLES -N SSH_BADGUYS2
107.     $IPTABLES -A SSH_BADGUYS2 -m recent --name ssh_badguys2 --set
108.     $IPTABLES -A SSH_BADGUYS2 -j LOG --log-prefix "SSH scanner detected: "
109.     $IPTABLES -A SSH_BADGUYS2 -j REJECT --reject-with icmp-admin-prohibited
110. ##  auch hier: ohne "-i ! eth1" vor dem -p gilt es fuer jede Schnittstelle:
111.     $IPTABLES -A INPUT -p tcp --dport 33 -m state --state NEW -j SSH_WHITELIST2
112.     $IPTABLES -A INPUT -p tcp --dport 33 -m state --state NEW -m recent --name ssh_badguys2 --update --seconds 120 -j REJECT --reject-with icmp-admin-prohibited
113.     $IPTABLES -A INPUT -p tcp --dport 33 -m state --state NEW -m recent --set --name ssh2
114.     $IPTABLES -A INPUT -p tcp --dport 33 -m state --state NEW -m recent --rcheck --seconds 60 --hitcount 5 --name ssh2 -j SSH_BADGUYS2
115. ##^
116.
117. ##  Diese Ports sind von ueberall erreichbar:
118. #    $IPTABLES -A INPUT -p tcp --dport ftp-data -j ACCEPT
119. #    $IPTABLES -A INPUT -p tcp --dport ftp -j ACCEPT
120.     $IPTABLES -A INPUT -p tcp --dport ssh -j ACCEPT
121.     $IPTABLES -A INPUT -p udp --dport ssh -j ACCEPT
122.     $IPTABLES -A INPUT -p tcp --dport 33 -j ACCEPT
123.     $IPTABLES -A INPUT -p udp --dport 33 -j ACCEPT
124.     $IPTABLES -A INPUT -p tcp --dport 25 -j ACCEPT
125.     $IPTABLES -A INPUT -p tcp --dport finger -j ACCEPT
126.     ## Limit bietet Schutz gegen DoS:
127.     $IPTABLES -A INPUT -p tcp --dport http -m limit --limit 25/minute --limit-burst 100 -j ACCEPT
128.     $IPTABLES -A INPUT -p udp --dport http -m limit --limit 25/minute --limit-burst 100 -j ACCEPT
129.     $IPTABLES -A INPUT -p tcp --dport https -m limit --limit 25/minute --limit-burst 100 -j ACCEPT
130.     $IPTABLES -A INPUT -p udp --dport https -m limit --limit 25/minute --limit-burst 100 -j ACCEPT
131.     ##
132.     $IPTABLES -A INPUT -p tcp --dport imaps -j ACCEPT
133.     $IPTABLES -A INPUT -p udp --dport imaps -j ACCEPT
134. #    $IPTABLES -A INPUT -p tcp --dport openvpn -j ACCEPT
135.     $IPTABLES -A INPUT -p udp --dport openvpn -j ACCEPT
136.     $IPTABLES -A INPUT -p tcp --dport 1195 -j ACCEPT
137.
138. ##  Diese Ports sind nur aus dem Intranet erreichbar:
139.     $IPTABLES -A INPUT -s 192.168.17.0/24 -p tcp --dport time  -j ACCEPT # timeserver
140.     $IPTABLES -A INPUT -s 192.168.17.0/24 -p udp --dport time  -j ACCEPT # timeserver
141.     $IPTABLES -A INPUT -s 192.168.17.0/24 -p udp --dport timed -j ACCEPT # timeserver
142.     $IPTABLES -A INPUT -s 192.168.17.0/24 -p tcp --dport ntp   -j ACCEPT # timeserver
143.     $IPTABLES -A INPUT -s 192.168.17.0/24 -p udp --dport ntp   -j ACCEPT # timeserver
144.     $IPTABLES -A INPUT -s 192.168.17.0/24 -p tcp --dport 442   -j ACCEPT # https lighttpd
145.     $IPTABLES -A INPUT -s 192.168.17.0/24 -p udp --dport 442   -j ACCEPT # https lighttpd
146.     $IPTABLES -A INPUT -s 192.168.17.0/24 -p udp --dport netbios-ns  -j ACCEPT # Samba Nameserver
147.     $IPTABLES -A INPUT -s 192.168.17.0/24 -p udp --dport netbios-dgm -j ACCEPT # Samba datagram
148.     $IPTABLES -A INPUT -s 192.168.17.0/24 -p tcp --dport netbios-ssn -j ACCEPT # Samba session service
149.     $IPTABLES -A INPUT -s 192.168.17.0/24 -p tcp --dport microsoft-ds -j ACCEPT # Samba Microsoft Naked CIFS
150.     $IPTABLES -A INPUT -s 192.168.17.0/24 -p udp --dport microsoft-ds -j ACCEPT # Samba Microsoft Naked CIFS
151.     $IPTABLES -A INPUT -s 192.168.17.0/24 -p tcp --dport 323   -j ACCEPT # timeserver fuer chrony
152.     $IPTABLES -A INPUT -s 192.168.17.0/24 -p udp --dport 323   -j ACCEPT # timeserver fuer chrony
153. #    $IPTABLES -A INPUT -s 192.168.17.0/24 -p tcp --dport openvpn -j ACCEPT # openvpn
154. #    $IPTABLES -A INPUT -s 192.168.17.0/24 -p udp --dport openvpn -j ACCEPT # openvpn
155. #    $IPTABLES -A INPUT -s 192.168.17.0/24 -p tcp --dport 1195 -j ACCEPT # openvpn
156.     $IPTABLES -A INPUT -s 192.168.17.0/24 -p tcp --dport 8118  -j ACCEPT # tor
157.     $IPTABLES -A INPUT -s 192.168.17.0/24 -p udp --dport 8118  -j ACCEPT # tor
158.     $IPTABLES -A INPUT -s 192.168.17.0/24 -p tcp --dport 9050  -j ACCEPT # tor
159.     $IPTABLES -A INPUT -s 192.168.17.0/24 -p udp --dport 9050  -j ACCEPT # tor
160.     $IPTABLES -A INPUT -s 192.168.17.0/24 -p tcp --dport ftp-data -j ACCEPT
161.     $IPTABLES -A INPUT -s 192.168.17.0/24 -p tcp --dport ftp   -j ACCEPT
162.     $IPTABLES -A INPUT -s 192.168.17.0/24 -p tcp --dport ipp   -j ACCEPT
163.     $IPTABLES -A INPUT -s 192.168.17.0/24 -p udp --dport ipp   -j ACCEPT
164.     $IPTABLES -A INPUT -s 192.168.17.0/24 -p tcp --dport dict  -j ACCEPT
165.     $IPTABLES -A INPUT -s 192.168.17.0/24 -p udp --dport dict  -j ACCEPT
166.     $IPTABLES -A INPUT -s 192.168.17.0/24 -p udp --dport tftp  -j ACCEPT
167.     $IPTABLES -A INPUT -s 192.168.17.0/24 -p tcp --dport sunrpc -j ACCEPT # nfs/sunrpc
168.     $IPTABLES -A INPUT -s 192.168.17.0/24 -p udp --dport sunrpc -j ACCEPT # nfs/sunrpc
169.     $IPTABLES -A INPUT -s 192.168.17.0/24 -p tcp --dport nfs    -j ACCEPT # nfs/sunrpc
170.     $IPTABLES -A INPUT -s 192.168.17.0/24 -p udp --dport nfs    -j ACCEPT # nfs/sunrpc
171.     $IPTABLES -A INPUT -s 192.168.17.0/24 -p tcp --dport 32765  -j ACCEPT # nfs/sunrpc
172.     $IPTABLES -A INPUT -s 192.168.17.0/24 -p udp --dport 32765  -j ACCEPT # nfs/sunrpc
173.     $IPTABLES -A INPUT -s 192.168.17.0/24 -p tcp --dport 32766  -j ACCEPT # nfs/sunrpc
174.     $IPTABLES -A INPUT -s 192.168.17.0/24 -p udp --dport 32766  -j ACCEPT # nfs/sunrpc
175.     $IPTABLES -A INPUT -s 192.168.17.0/24 -p tcp --dport 32767  -j ACCEPT # nfs/sunrpc
176.     $IPTABLES -A INPUT -s 192.168.17.0/24 -p udp --dport 32767  -j ACCEPT # nfs/sunrpc
177.     $IPTABLES -A INPUT -s 192.168.17.0/24 -p tcp --dport 1900   -j ACCEPT # mediatomb-DLNA
178.     $IPTABLES -A INPUT -s 192.168.17.0/24 -p udp --dport 1900   -j ACCEPT # mediatomb-DLNA
179.     $IPTABLES -A INPUT -s 192.168.17.0/24 -p tcp --dport 49152  -j ACCEPT # mediatomb-DLNA
180.     $IPTABLES -A INPUT -s 192.168.17.0/24 -p udp --dport 49152  -j ACCEPT # mediatomb-DLNA
181.     $IPTABLES -A INPUT -s 192.168.17.0/24 -p tcp --dport 9981  -j ACCEPT # hts TVheadend
182.     $IPTABLES -A INPUT -s 192.168.17.0/24 -p tcp --dport 9982  -j ACCEPT # hts TVheadend
183.
184.     ## Dasselbe fuer das TUN-device tun0 von VPN:
185.     $IPTABLES -A INPUT -s 10.1.0.0/26 -p tcp --dport time  -j ACCEPT # timeserver
186.     $IPTABLES -A INPUT -s 10.1.0.0/26 -p udp --dport time  -j ACCEPT # timeserver
187.     $IPTABLES -A INPUT -s 10.1.0.0/26 -p udp --dport timed -j ACCEPT # timeserver
188.     $IPTABLES -A INPUT -s 10.1.0.0/26 -p tcp --dport ntp   -j ACCEPT # timeserver
189.     $IPTABLES -A INPUT -s 10.1.0.0/26 -p udp --dport ntp   -j ACCEPT # timeserver
190.     $IPTABLES -A INPUT -s 10.1.0.0/26 -p tcp --dport 442   -j ACCEPT # https lighttpd
191.     $IPTABLES -A INPUT -s 10.1.0.0/26 -p udp --dport 442   -j ACCEPT # https lighttpd
192.     $IPTABLES -A INPUT -s 10.1.0.0/26 -p udp --dport netbios-ns  -j ACCEPT # Samba Nameserver
193.     $IPTABLES -A INPUT -s 10.1.0.0/26 -p udp --dport netbios-dgm -j ACCEPT # Samba datagram
194.     $IPTABLES -A INPUT -s 10.1.0.0/26 -p tcp --dport netbios-ssn -j ACCEPT # Samba session service
195.     $IPTABLES -A INPUT -s 10.1.0.0/26 -p tcp --dport microsoft-ds -j ACCEPT # Samba Microsoft Naked CIFS
196.     $IPTABLES -A INPUT -s 10.1.0.0/26 -p udp --dport microsoft-ds -j ACCEPT # Samba Microsoft Naked CIFS
197.     $IPTABLES -A INPUT -s 10.1.0.0/26 -p tcp --dport 323   -j ACCEPT # timeserver fuer chrony
198.     $IPTABLES -A INPUT -s 10.1.0.0/26 -p udp --dport 323   -j ACCEPT # timeserver fuer chrony
199. #    $IPTABLES -A INPUT -s 10.1.0.0/26 -p tcp --dport openvpn -j ACCEPT # openvpn
200. #    $IPTABLES -A INPUT -s 10.1.0.0/26 -p udp --dport openvpn -j ACCEPT # openvpn
201. #    $IPTABLES -A INPUT -s 10.1.0.0/26 -p tcp --dport 1195 -j ACCEPT # openvpn
202.     $IPTABLES -A INPUT -s 10.1.0.0/26 -p tcp --dport 8118  -j ACCEPT # tor
203.     $IPTABLES -A INPUT -s 10.1.0.0/26 -p udp --dport 8118  -j ACCEPT # tor
204.     $IPTABLES -A INPUT -s 10.1.0.0/26 -p tcp --dport 9050  -j ACCEPT # tor
205.     $IPTABLES -A INPUT -s 10.1.0.0/26 -p udp --dport 9050  -j ACCEPT # tor
206.     $IPTABLES -A INPUT -s 10.1.0.0/26 -p tcp --dport ftp-data -j ACCEPT
207.     $IPTABLES -A INPUT -s 10.1.0.0/26 -p tcp --dport ftp   -j ACCEPT
208.     $IPTABLES -A INPUT -s 10.1.0.0/26 -p tcp --dport ipp   -j ACCEPT
209.     $IPTABLES -A INPUT -s 10.1.0.0/26 -p udp --dport ipp   -j ACCEPT
210.     $IPTABLES -A INPUT -s 10.1.0.0/26 -p tcp --dport dict  -j ACCEPT
211.     $IPTABLES -A INPUT -s 10.1.0.0/26 -p udp --dport dict  -j ACCEPT
212.     $IPTABLES -A INPUT -s 10.1.0.0/26 -p udp --dport tftp  -j ACCEPT
213.     $IPTABLES -A INPUT -s 10.1.0.0/26 -p tcp --dport sunrpc -j ACCEPT # nfs/sunrpc
214.     $IPTABLES -A INPUT -s 10.1.0.0/26 -p udp --dport sunrpc -j ACCEPT # nfs/sunrpc
215.     $IPTABLES -A INPUT -s 10.1.0.0/26 -p tcp --dport nfs    -j ACCEPT # nfs/sunrpc
216.     $IPTABLES -A INPUT -s 10.1.0.0/26 -p udp --dport nfs    -j ACCEPT # nfs/sunrpc
217.     $IPTABLES -A INPUT -s 10.1.0.0/26 -p tcp --dport 32765  -j ACCEPT # nfs/sunrpc
218.     $IPTABLES -A INPUT -s 10.1.0.0/26 -p udp --dport 32765  -j ACCEPT # nfs/sunrpc
219.     $IPTABLES -A INPUT -s 10.1.0.0/26 -p tcp --dport 32766  -j ACCEPT # nfs/sunrpc
220.     $IPTABLES -A INPUT -s 10.1.0.0/26 -p udp --dport 32766  -j ACCEPT # nfs/sunrpc
221.     $IPTABLES -A INPUT -s 10.1.0.0/26 -p tcp --dport 32767  -j ACCEPT # nfs/sunrpc
222.     $IPTABLES -A INPUT -s 10.1.0.0/26 -p udp --dport 32767  -j ACCEPT # nfs/sunrpc
223.     $IPTABLES -A INPUT -s 10.1.0.0/26 -p tcp --dport 1900   -j ACCEPT # mediatomb-DLNA
224.     $IPTABLES -A INPUT -s 10.1.0.0/26 -p udp --dport 1900   -j ACCEPT # mediatomb-DLNA
225.     $IPTABLES -A INPUT -s 10.1.0.0/26 -p tcp --dport 49152  -j ACCEPT # mediatomb-DLNA
226.     $IPTABLES -A INPUT -s 10.1.0.0/26 -p udp --dport 49152  -j ACCEPT # mediatomb-DLNA
227.     $IPTABLES -A INPUT -s 10.1.0.0/26 -p tcp --dport 9981  -j ACCEPT # hts TVheadend
228.     $IPTABLES -A INPUT -s 10.1.0.0/26 -p tcp --dport 9982  -j ACCEPT # hts TVheadend
229.
230.     ## Dasselbe fuer das TUN-device tun1 von VPN:
231.     $IPTABLES -A INPUT -s 10.2.0.0/26 -p tcp --dport time  -j ACCEPT # timeserver
232.     $IPTABLES -A INPUT -s 10.2.0.0/26 -p udp --dport time  -j ACCEPT # timeserver
233.     $IPTABLES -A INPUT -s 10.2.0.0/26 -p udp --dport timed -j ACCEPT # timeserver
234.     $IPTABLES -A INPUT -s 10.2.0.0/26 -p tcp --dport ntp   -j ACCEPT # timeserver
235.     $IPTABLES -A INPUT -s 10.2.0.0/26 -p udp --dport ntp   -j ACCEPT # timeserver
236.     $IPTABLES -A INPUT -s 10.2.0.0/26 -p tcp --dport 442   -j ACCEPT # https lighttpd
237.     $IPTABLES -A INPUT -s 10.2.0.0/26 -p udp --dport 442   -j ACCEPT # https lighttpd
238.     $IPTABLES -A INPUT -s 10.2.0.0/26 -p udp --dport netbios-ns  -j ACCEPT # Samba Nameserver
239.     $IPTABLES -A INPUT -s 10.2.0.0/26 -p udp --dport netbios-dgm -j ACCEPT # Samba datagram
240.     $IPTABLES -A INPUT -s 10.2.0.0/26 -p tcp --dport netbios-ssn -j ACCEPT # Samba session service
241.     $IPTABLES -A INPUT -s 10.2.0.0/26 -p tcp --dport microsoft-ds -j ACCEPT # Samba Microsoft Naked CIFS
242.     $IPTABLES -A INPUT -s 10.2.0.0/26 -p udp --dport microsoft-ds -j ACCEPT # Samba Microsoft Naked CIFS
243.     $IPTABLES -A INPUT -s 10.2.0.0/26 -p tcp --dport 323   -j ACCEPT # timeserver fuer chrony
244.     $IPTABLES -A INPUT -s 10.2.0.0/26 -p udp --dport 323   -j ACCEPT # timeserver fuer chrony
245. #    $IPTABLES -A INPUT -s 10.2.0.0/26 -p tcp --dport openvpn -j ACCEPT # openvpn
246. #    $IPTABLES -A INPUT -s 10.2.0.0/26 -p udp --dport openvpn -j ACCEPT # openvpn
247. #    $IPTABLES -A INPUT -s 10.2.0.0/26 -p tcp --dport 1195 -j ACCEPT # openvpn
248.     $IPTABLES -A INPUT -s 10.2.0.0/26 -p tcp --dport 8118  -j ACCEPT # tor
249.     $IPTABLES -A INPUT -s 10.2.0.0/26 -p udp --dport 8118  -j ACCEPT # tor
250.     $IPTABLES -A INPUT -s 10.2.0.0/26 -p tcp --dport 9050  -j ACCEPT # tor
251.     $IPTABLES -A INPUT -s 10.2.0.0/26 -p udp --dport 9050  -j ACCEPT # tor
252.     $IPTABLES -A INPUT -s 10.2.0.0/26 -p tcp --dport ftp-data -j ACCEPT
253.     $IPTABLES -A INPUT -s 10.2.0.0/26 -p tcp --dport ftp   -j ACCEPT
254.     $IPTABLES -A INPUT -s 10.2.0.0/26 -p tcp --dport ipp   -j ACCEPT
255.     $IPTABLES -A INPUT -s 10.2.0.0/26 -p udp --dport ipp   -j ACCEPT
256.     $IPTABLES -A INPUT -s 10.2.0.0/26 -p tcp --dport dict  -j ACCEPT
257.     $IPTABLES -A INPUT -s 10.2.0.0/26 -p udp --dport dict  -j ACCEPT
258.     $IPTABLES -A INPUT -s 10.2.0.0/26 -p udp --dport tftp  -j ACCEPT
259.     $IPTABLES -A INPUT -s 10.2.0.0/26 -p tcp --dport sunrpc -j ACCEPT # nfs/sunrpc
260.     $IPTABLES -A INPUT -s 10.2.0.0/26 -p udp --dport sunrpc -j ACCEPT # nfs/sunrpc
261.     $IPTABLES -A INPUT -s 10.2.0.0/26 -p tcp --dport nfs    -j ACCEPT # nfs/sunrpc
262.     $IPTABLES -A INPUT -s 10.2.0.0/26 -p udp --dport nfs    -j ACCEPT # nfs/sunrpc
263.     $IPTABLES -A INPUT -s 10.2.0.0/26 -p tcp --dport 32765  -j ACCEPT # nfs/sunrpc
264.     $IPTABLES -A INPUT -s 10.2.0.0/26 -p udp --dport 32765  -j ACCEPT # nfs/sunrpc
265.     $IPTABLES -A INPUT -s 10.2.0.0/26 -p tcp --dport 32766  -j ACCEPT # nfs/sunrpc
266.     $IPTABLES -A INPUT -s 10.2.0.0/26 -p udp --dport 32766  -j ACCEPT # nfs/sunrpc
267.     $IPTABLES -A INPUT -s 10.2.0.0/26 -p tcp --dport 32767  -j ACCEPT # nfs/sunrpc
268.     $IPTABLES -A INPUT -s 10.2.0.0/26 -p udp --dport 32767  -j ACCEPT # nfs/sunrpc
269.     $IPTABLES -A INPUT -s 10.2.0.0/26 -p tcp --dport 1900   -j ACCEPT # mediatomb-DLNA
270.     $IPTABLES -A INPUT -s 10.2.0.0/26 -p udp --dport 1900   -j ACCEPT # mediatomb-DLNA
271.     $IPTABLES -A INPUT -s 10.2.0.0/26 -p tcp --dport 49152  -j ACCEPT # mediatomb-DLNA
272.     $IPTABLES -A INPUT -s 10.2.0.0/26 -p udp --dport 49152  -j ACCEPT # mediatomb-DLNA
273.     $IPTABLES -A INPUT -s 10.2.0.0/26 -p tcp --dport 9981  -j ACCEPT # hts TVheadend
274.     $IPTABLES -A INPUT -s 10.2.0.0/26 -p tcp --dport 9982  -j ACCEPT # hts TVheadend
275. ##  <- ACHTUNG: evtl. auch /etc/hosts.allow anpassen!!!
276.
278. #    $IPTABLES -A INPUT -m state --state NEW -i eth1 -j ACCEPT
279.     $IPTABLES -A INPUT -m state --state NEW -i eth0 -j REJECT
280.     $IPTABLES -A INPUT -m state --state NEW -i tun+ -j REJECT
281.
282. ##  only if all of the above rules not succeed, use:
283.     $IPTABLES -A INPUT -m limit --limit 5/minute -j LOG --log-prefix "Invalid INPUT: "
284.     $IPTABLES -P INPUT DROP
285. ###
286.
287. ### Regeln fuer FORWARD:
288.     ## Limit bietet Schutz gegen SYN-flood Attacken:
289.     $IPTABLES -A FORWARD -p tcp --syn -m limit --limit 10/s -j ACCEPT
290.
291.     ## Limit bietet Schutz gegen verstohlene Portscanner:
292.     $IPTABLES -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 10/s -j ACCEPT
293.
294.     ## Limit bietet Schutz vor Portscanner:
295.     $IPTABLES -A FORWARD -p tcp --tcp-flags ALL NONE -m limit --limit 5/h -j ACCEPT
296.     $IPTABLES -A FORWARD -p tcp --tcp-flags ALL ALL -m limit --limit 5/h -j ACCEPT
297.
298. ## FORWARD testweise fuer VPN-Tunnel tun0 alles zulassen (fuer Telefonie), damit sind die Folgeregeln obsolet:
299. #    $IPTABLES -I FORWARD -i eth0 -o tun+ -j ACCEPT
300. #    $IPTABLES -I FORWARD -i tun+ -o eth0 -j ACCEPT
301.
302.     $IPTABLES -A FORWARD -i tun+ -o eth0 -s 10.1.0.0/24 -m conntrack --ctstate NEW -j ACCEPT # Test fuer openVPN und Telefonie
302.     $IPTABLES -A FORWARD -i tun+ -o eth0 -s 10.2.0.0/24 -m conntrack --ctstate NEW -j ACCEPT # Test fuer openVPN und Telefonie
303.     $IPTABLES -A FORWARD -i eth0 -o tun+ -s 192.168.17.0/24 -m conntrack --ctstate NEW -j ACCEPT # Test fuer openVPN und Telefonie
304.     $IPTABLES -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT # Test fuer openVPN und Telefonie
305.     $IPTABLES -A FORWARD -i eth0 -o eth0 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
306.     $IPTABLES -A FORWARD -i tun+ -o tun+ -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
307.     $IPTABLES -A FORWARD -i eth0 -o tun+ -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
308.     $IPTABLES -A FORWARD -i tun+ -o eth0 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
309.     $IPTABLES -A FORWARD -i eth0 -o eth0 -j REJECT
310.     $IPTABLES -A FORWARD -i tun+ -o tun+ -j REJECT
311.
312. ##  only if all of the above rules not succeed, use:
313.     $IPTABLES -A FORWARD -m limit --limit 5/minute -j LOG --log-prefix "Invalid FORWARD: "
314.     $IPTABLES -P FORWARD DROP
315. ###
316.
317.     ## use this line only if you have dynamic IP address from your ISP
318.     $IPTABLES -t nat -A POSTROUTING -o eth0 -j MASQUERADE
319.
320.     ## Die ISDN-Karte wurde ausgebaut, deshalb wurden die folgenden 2 Zeilen deaktiviert.
321. #    $IPTABLES -t nat -A POSTROUTING -o ppp+ -j MASQUERADE
322. #    $IPTABLES -t nat -A POSTROUTING -o ippp+ -j MASQUERADE
323. }

mat6937
Beiträge: 1426
Registriert: 09.12.2014 10:44:00

Re: openVPN "alles" durch den Tunnel

Beitrag von mat6937 » 09.02.2019 22:54:10

dirk11 hat geschrieben: ↑ zum Beitrag ↑
09.02.2019 20:54:17
Dann sag' mir doch bitte, ...
Nein, das mache ich nicht. Aber jetzt merkst Du hoffentlich warum ich die 1 (für die Regel) benutzt habe, ... weil ich nicht die iptables-Regeln anderer Leute optimieren will.
So und jetzt ab in die Ignorierliste, damit ich in deinen Threads keine Beiträge mehr schreibe.

dirk11
Beiträge: 2512
Registriert: 02.07.2013 11:47:01

Re: openVPN "alles" durch den Tunnel

Beitrag von dirk11 » 09.02.2019 22:56:51

mat6937 hat geschrieben: ↑ zum Beitrag ↑
09.02.2019 22:54:10
So und jetzt ab in die Ignorierliste, damit ich in deinen Threads keine Beiträge mehr schreibe.
Was stimmt denn jetzt schon wieder nicht? Ich will doch nur wissen, was ich für einen Fehler eingwbaut habe!?

Benutzeravatar
bluestar
Beiträge: 1100
Registriert: 26.10.2004 11:16:34
Wohnort: Rhein-Main-Gebiet

Re: openVPN "alles" durch den Tunnel

Beitrag von bluestar » 09.02.2019 23:07:19

dirk11 hat geschrieben: ↑ zum Beitrag ↑
09.02.2019 20:54:17
Ok. 8O Jetzt wird's krank... 8)

Dann sag' mir doch bitte, wo mein Fehler liegt - das Konstrukt ist über 15 Jahre alt, im Laufe der Zeit gewachsen, und ich war mir eigentlich sicher, daß alles in Ordnung ist:
Ich frage mal ganz höflich, wer soll jetzt deine ca 320 Zeilen Firewall im Kopf debuggen, noch dazu ohne einen genauen Netzplan und ohne Idee, was deine 15 Jahre alte Firewall eigentlich tun soll?

Du weist schon, dass mit eigenen Chains, multiport Matches, etc. die Komplexität/Menge an FW-Regeln reduzieren kannst.
Achja und im Zuge dessen sei die Frage angemerkt: Bietet dein Server wirklich all die Dienste und den zugehörigen Protokollen an? Ich hab da so einiges gesehen, was ich als Quatsch bezeichnen würde.

Wenn du den Fehler nicht, mit den vorhergehenden Tipps findest, dann solltest du deine Firewall selbst von Grund auf neu bauen und dabei am besten gleich auf ein Iptables-Frontend setzen.

Mein Vorschlag (Ironie an)

Code: Alles auswählen

iptables -P FORWARD ACCEPT
iptables -F FORWARD
(Ironie aus)

dirk11
Beiträge: 2512
Registriert: 02.07.2013 11:47:01

Re: openVPN "alles" durch den Tunnel

Beitrag von dirk11 » 09.02.2019 23:35:07

bluestar hat geschrieben: ↑ zum Beitrag ↑
09.02.2019 23:07:19
Ich frage mal ganz höflich, wer soll jetzt deine ca 320 Zeilen Firewall im Kopf debuggen,
Das hat doch niemand erwartet. Es ist ein Leichtes, sich den Teil herauszupicken, der die forward-Regeln enthält (ab Zeile 287). Den Rest habe ich mit gepostet, weil sonst idR immer gemeckert wird, wenn man nur Auszüge zeigt, dass das zu wenig sei, weil aus dem Zusammenhang gerissen.
noch dazu ohne einen genauen Netzplan
Was für ein "Netzplan"? Es ging ursprünglich mal um openvpn. Der Netzplan hier lautet: Modem-Router-Heimserver.
Du weist schon, dass mit eigenen Chains, multiport Matches, etc. die Komplexität/Menge an FW-Regeln reduzieren kannst.
Deinen Sarkasmus kannst Du Dir sparen, oder glaubst Du ernsthaft, die Regeln würden so aussehen, wenn ich das wüßte!?
Achja und im Zuge dessen sei die Frage angemerkt: Bietet dein Server wirklich all die Dienste und den zugehörigen Protokollen an? Ich hab da so einiges gesehen, was ich als Quatsch bezeichnen würde.
Die meisten. Einige vielleicht nicht mehr, da sind die Regeln der Einfachheit halber geblieben, weil bei nicht laufendem Dienst idR auch nicht schaden. Was genau ist denn Deiner Meinung nach "Quatsch"?

EDIT:
Nachdem ich die vier Zeilen, die den Kommentar "# Test" am Ende hatten, wieder auskommentiert habe, regeln die anderen Regeln natürlich auch wieder. Die Reaktionen so mancher hier im Forum werden mir immer mehr zu einem Rätsel...

Benutzeravatar
bluestar
Beiträge: 1100
Registriert: 26.10.2004 11:16:34
Wohnort: Rhein-Main-Gebiet

Re: openVPN "alles" durch den Tunnel

Beitrag von bluestar » 09.02.2019 23:57:20

dirk11 hat geschrieben: ↑ zum Beitrag ↑
09.02.2019 23:35:07
Deinen Sarkasmus kannst Du Dir sparen, oder glaubst Du ernsthaft, die Regeln würden so aussehen, wenn ich das wüßte!?
Das war kein Sarkasmus, sondern ein nett gemeinter Hinweis, der dir bei der Neugestaltung deiner Firewall helfen kann.
Die meisten. Einige vielleicht nicht mehr, da sind die Regeln der Einfachheit halber geblieben, weil bei nicht laufendem Dienst idR auch nicht schaden. Was genau ist denn Deiner Meinung nach "Quatsch"?
Du hast meinen Hinweis zur Überarbeitung so charmant abgelehnt, da dürfen deine FW-Regeln meinetwegen auch so bleiben, wie sie sind.
Die Reaktionen so mancher hier im Forum werden mir immer mehr zu einem Rätsel...
Da stimme ich dir gerne zu...

Deinen Wunsch „Dann sag' mir doch bitte, wo mein Fehler liegt“ kann ich wie folgt auch einfach beantworten: Schreib deine Regeln neu, verwende all das an Features, was iptables heute bietet und verabschiede dich von einem 15 Jahre alten Firewall-Design anstatt zu erwarten, das andere Menschen sich für dich da durchkämpfen.

P.S.: Nopaste wäre in Anbetracht der Länge deines FW-Postes gut gewesen.

Antworten