Vielleicht mal zur Erklärung:dirk11 hat geschrieben:09.02.2019 15:29:07ich habe eine einzeln stehende 1 noch nie bei einer iptables-Regel gesehen.
Code: Alles auswählen
iptables -A CHAIN ....
Code: Alles auswählen
iptables -I CHAIN n ....
Vielleicht mal zur Erklärung:dirk11 hat geschrieben:09.02.2019 15:29:07ich habe eine einzeln stehende 1 noch nie bei einer iptables-Regel gesehen.
Code: Alles auswählen
iptables -A CHAIN ....
Code: Alles auswählen
iptables -I CHAIN n ....
BTW: Hätte ich dich vorher fragen sollen, ob Du schon eine oder mehrere iptables-Regel(n) in der POSTROUTING chain/nat table hast?dirk11 hat geschrieben:09.02.2019 15:29:07..., ich habe eine einzeln stehende 1 noch nie bei einer iptables-Regel gesehen.
Und genau das kann ja zum Problem werden. Denn wenn eine Regel zutrifft/ wirksam ist, werden die nachfolgenden Regeln nicht mehr berücksichtigt.dirk11 hat geschrieben:09.02.2019 18:26:19..., ich dachte immer, die werden der Reihe nach abgearbeitet.
Poste mal die Ausgabe von:
Code: Alles auswählen
iptables -nvx -L FORWARD
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: "
Hier sieht man, dass es dir doch nicht bekannt war. Denn die Regel:dirk11 hat geschrieben:09.02.2019 19:18:30Code: 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
Code: Alles auswählen
56424 45575256 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED
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. }
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.
Was stimmt denn jetzt schon wieder nicht? Ich will doch nur wissen, was ich für einen Fehler eingwbaut habe!?mat6937 hat geschrieben:09.02.2019 22:54:10So und jetzt ab in die Ignorierliste, damit ich in deinen Threads keine Beiträge mehr schreibe.
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?dirk11 hat geschrieben:09.02.2019 20:54:17Ok. Jetzt wird's krank...
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
iptables -P FORWARD ACCEPT
iptables -F FORWARD
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.bluestar hat geschrieben:09.02.2019 23:07:19Ich frage mal ganz höflich, wer soll jetzt deine ca 320 Zeilen Firewall im Kopf debuggen,
Was für ein "Netzplan"? Es ging ursprünglich mal um openvpn. Der Netzplan hier lautet: Modem-Router-Heimserver.noch dazu ohne einen genauen Netzplan
Deinen Sarkasmus kannst Du Dir sparen, oder glaubst Du ernsthaft, die Regeln würden so aussehen, wenn ich das wüßte!?Du weist schon, dass mit eigenen Chains, multiport Matches, etc. die Komplexität/Menge an FW-Regeln reduzieren kannst.
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"?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.
Das war kein Sarkasmus, sondern ein nett gemeinter Hinweis, der dir bei der Neugestaltung deiner Firewall helfen kann.
Du hast meinen Hinweis zur Überarbeitung so charmant abgelehnt, da dürfen deine FW-Regeln meinetwegen auch so bleiben, wie sie sind.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"?
Da stimme ich dir gerne zu...Die Reaktionen so mancher hier im Forum werden mir immer mehr zu einem Rätsel...
* 125 - was ist daran "Quatsch"? Fingerd läuft hier.
Ich kenne deine Dienste nicht, wie schon angemerkt fehlt jeglicher Plan deiner Infrastruktur (Netzplan, eingesetzte Services, etc.)
Code: Alles auswählen
Finger wird heute ähnlich wie andere Protokolle ähnlicher Funktionalität als eklatantes Sicherheitsleck gewertet,
Na dann bekommst dein OpenVPN Tunnel Problem ja auch selbst gelöstdirk11 hat geschrieben:10.02.2019 11:49:43Der Rest ist einigermaßen bereinigt, da war viel Mist drin, das stimmt.
Mir ist deine ganze Firewall viel zu unübersichtlich.dirk11 hat geschrieben:10.02.2019 11:49:43Das mit Deinem Supernet VPN möchte ich aber nicht, das ist mir zu unübersichtlich.
...dann poste doch wenigstens den ganzen Satz:bluestar hat geschrieben:10.02.2019 12:21:53Zu Finger ein Hinweis: https://de.wikipedia.org/wiki/Finger_(I ... protokoll)Code: Alles auswählen
Finger wird heute ähnlich wie andere Protokolle ähnlicher Funktionalität als eklatantes Sicherheitsleck gewertet,
Code: Alles auswählen
[...] da damit Außenstehende detaillierte Informationen über die Identität von Nutzern und deren Gewohnheiten erlangen können.
? Das ist doch schon längst gelöst, siehe thread-Verlauf.Na dann bekommst dein OpenVPN Tunnel Problem ja auch selbst gelöst
Tja, so unterschiedlich sind die Sichtweise. Aus Deiner Sicht heraus magst Du Recht haben.Mir ist deine ganze Firewall viel zu unübersichtlich.
Ironie ist nicht deins, setz den Titel dann doch bitte noch eben auf gelöst.dirk11 hat geschrieben:10.02.2019 14:12:32? Das ist doch schon längst gelöst, siehe thread-Verlauf.Na dann bekommst dein OpenVPN Tunnel Problem ja auch selbst gelöst
...oder nicht Deins...bluestar hat geschrieben:10.02.2019 14:15:50Ironie ist nicht deins, setz den Titel dann doch bitte noch eben auf gelöst.