Ubuntu port forwarding

Gestart door mrrepel, juli 26, 2012, 19:43:56

Vorige topic - Volgende topic

0 Leden en 1 gast bekijken dit topic.

mrrepel

Hoi EJ,

Bedankt voor de reactie, ik ga er eens mee aan de gang. Misschien dat jij nog een idee hebt mbt het niet kunnen openen van de poorten ?

EJ

DNAT gebruiken. Misschien wordt verkeer van buiten geweigerd door je nas doos, en moet je ook SNAT gebruiken om te doen alsof het verkeer van je eigen netwerk af komt.

8080 en 8000 open zetten van buiten af is wellicht een slechte keuze. Een heel slechte keuze. Iets met proxy poorten enzo.

mrrepel

Net een image teruggezet van voor ik met de firewall aan het rommelen was. Als ik nu in Webmin kijk zie ik de volgende statusmelding/configuratie van Shorewall. Misschien dat iemand hier een fout in ziet ? De fordward en 22 werken nog steeds, alleen 5555 en 8080 niet ( 8080 wordt uiteindelijk een andere poort ;-) )


# Generated by iptables-save v1.4.10 on Sat Aug 11 21:23:23 2012
*raw
:PREROUTING ACCEPT [10247:1158323]
:OUTPUT ACCEPT [27096:37710072]
COMMIT
# Completed on Sat Aug 11 21:23:23 2012
# Generated by iptables-save v1.4.10 on Sat Aug 11 21:23:23 2012
*mangle
:PREROUTING ACCEPT [10247:1158323]
:INPUT ACCEPT [9420:495781]
:FORWARD ACCEPT [827:662542]
:OUTPUT ACCEPT [27096:37710072]
:POSTROUTING ACCEPT [27925:38373107]
:tcfor - [0:0]
:tcin - [0:0]
:tcout - [0:0]
:tcpost - [0:0]
:tcpre - [0:0]
-A PREROUTING -j tcpre
-A INPUT -j tcin
-A FORWARD -j MARK --set-xmark 0x0/0xff
-A FORWARD -j tcfor
-A OUTPUT -j tcout
-A POSTROUTING -j tcpost
COMMIT
# Completed on Sat Aug 11 21:23:23 2012
# Generated by iptables-save v1.4.10 on Sat Aug 11 21:23:23 2012
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT DROP [0:0]
:Drop - [0:0]
:Reject - [0:0]
:dropBcast - [0:0]
:dropInvalid - [0:0]
:dropNotSyn - [0:0]
:dynamic - [0:0]
:fw2loc - [0:0]
:fw2net - [0:0]
:loc2fw - [0:0]
:loc2net - [0:0]
:logdrop - [0:0]
:logflags - [0:0]
:logreject - [0:0]
:net2fw - [0:0]
:net2loc - [0:0]
:reject - [0:0]
:shorewall - [0:0]
:smurflog - [0:0]
:smurfs - [0:0]
:tcpflags - [0:0]
-A INPUT -m conntrack --ctstate INVALID,NEW -j dynamic
-A INPUT -i ppp0 -j net2fw
-A INPUT -i eth0 -j loc2fw
-A INPUT -i lo -j ACCEPT
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -j Reject
-A INPUT -j LOG --log-prefix "Shorewall:INPUT:REJECT:" --log-level 6
-A INPUT -g reject
-A FORWARD -m conntrack --ctstate INVALID,NEW -j dynamic
-A FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
-A FORWARD -i ppp0 -o eth0 -j net2loc
-A FORWARD -i eth0 -o ppp0 -j loc2net
-A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -j Reject
-A FORWARD -j LOG --log-prefix "Shorewall:FORWARD:REJECT:" --log-level 6
-A FORWARD -g reject
-A OUTPUT -o ppp0 -j fw2net
-A OUTPUT -o eth0 -j fw2loc
-A OUTPUT -o lo -j ACCEPT
-A OUTPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -j Reject
-A OUTPUT -j LOG --log-prefix "Shorewall:OUTPUT:REJECT:" --log-level 6
-A OUTPUT -g reject
-A Drop
-A Drop -p tcp -m tcp --dport 113 -m comment --comment "Auth" -j reject
-A Drop -j dropBcast
-A Drop -p icmp -m icmp --icmp-type 3/4 -m comment --comment "Needed ICMP types" -j ACCEPT
-A Drop -p icmp -m icmp --icmp-type 11 -m comment --comment "Needed ICMP types" -j ACCEPT
-A Drop -j dropInvalid
-A Drop -p udp -m multiport --dports 135,445 -m comment --comment "SMB" -j DROP
-A Drop -p udp -m udp --dport 137:139 -m comment --comment "SMB" -j DROP
-A Drop -p udp -m udp --sport 137 --dport 1024:65535 -m comment --comment "SMB" -j DROP
-A Drop -p tcp -m multiport --dports 135,139,445 -m comment --comment "SMB" -j DROP
-A Drop -p udp -m udp --dport 1900 -m comment --comment "UPnP" -j DROP
-A Drop -p tcp -j dropNotSyn
-A Drop -p udp -m udp --sport 53 -m comment --comment "Late DNS Replies" -j DROP
-A Reject
-A Reject -p tcp -m tcp --dport 113 -m comment --comment "Auth" -j reject
-A Reject -j dropBcast
-A Reject -p icmp -m icmp --icmp-type 3/4 -m comment --comment "Needed ICMP types" -j ACCEPT
-A Reject -p icmp -m icmp --icmp-type 11 -m comment --comment "Needed ICMP types" -j ACCEPT
-A Reject -j dropInvalid
-A Reject -p udp -m multiport --dports 135,445 -m comment --comment "SMB" -j reject
-A Reject -p udp -m udp --dport 137:139 -m comment --comment "SMB" -j reject
-A Reject -p udp -m udp --sport 137 --dport 1024:65535 -m comment --comment "SMB" -j reject
-A Reject -p tcp -m multiport --dports 135,139,445 -m comment --comment "SMB" -j reject
-A Reject -p udp -m udp --dport 1900 -m comment --comment "UPnP" -j DROP
-A Reject -p tcp -j dropNotSyn
-A Reject -p udp -m udp --sport 53 -m comment --comment "Late DNS Replies" -j DROP
-A dropBcast -m addrtype --dst-type BROADCAST -j DROP
-A dropBcast -d 224.0.0.0/4 -j DROP
-A dropInvalid -m conntrack --ctstate INVALID -j DROP
-A dropNotSyn -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -j DROP
-A fw2loc -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A fw2loc -p icmp -j ACCEPT
-A fw2loc -j ACCEPT
-A fw2net -p udp -m udp --dport 67:68 -j ACCEPT
-A fw2net -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A fw2net -p udp -m udp --dport 53 -m comment --comment "DNS" -j ACCEPT
-A fw2net -p tcp -m tcp --dport 53 -m comment --comment "DNS" -j ACCEPT
-A fw2net -p udp -m udp --dport 53 -j ACCEPT
-A fw2net -p tcp -m tcp --dport 53 -j ACCEPT
-A fw2net -p icmp -j ACCEPT
-A fw2net -j ACCEPT
-A loc2fw -m conntrack --ctstate INVALID,NEW -j smurfs
-A loc2fw -p tcp -j tcpflags
-A loc2fw -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A loc2fw -p udp -m udp --dport 53 -m comment --comment "DNS" -j ACCEPT
-A loc2fw -p tcp -m tcp --dport 53 -m comment --comment "DNS" -j ACCEPT
-A loc2fw -p tcp -m tcp --dport 22 -m comment --comment "SSH" -j ACCEPT
-A loc2fw -p icmp -m icmp --icmp-type 8 -m comment --comment "Ping" -j ACCEPT
-A loc2fw -j ACCEPT
-A loc2net -m conntrack --ctstate INVALID,NEW -j smurfs
-A loc2net -p tcp -j tcpflags
-A loc2net -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A loc2net -j ACCEPT
-A logdrop -j DROP
-A logflags -j LOG --log-prefix "Shorewall:logflags:DROP:" --log-level 6 --log-ip-options
-A logflags -j DROP
-A logreject -j reject
-A net2fw -m conntrack --ctstate INVALID,NEW -j smurfs
-A net2fw -p udp -m udp --dport 67:68 -j ACCEPT
-A net2fw -p tcp -j tcpflags
-A net2fw -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A net2fw -p icmp -m icmp --icmp-type 8 -m comment --comment "Ping" -j DROP
-A net2fw -p tcp -m tcp --dport 22 -j ACCEPT
-A net2fw -p tcp -m tcp --dport 5555 -j ACCEPT
-A net2fw -p tcp -m tcp --dport 8000 -j ACCEPT
-A net2fw -j Drop
-A net2fw -j LOG --log-prefix "Shorewall:net2fw:DROP:" --log-level 6
-A net2fw -j DROP
-A net2loc -m conntrack --ctstate INVALID,NEW -j smurfs
-A net2loc -p tcp -j tcpflags
-A net2loc -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A net2loc -d 10.42.43.100/32 -p tcp -m tcp --dport 80 -m conntrack --ctorigdstport 8080 -j ACCEPT
-A net2loc -j Drop
-A net2loc -j LOG --log-prefix "Shorewall:net2loc:DROP:" --log-level 6
-A net2loc -j DROP
-A reject -m addrtype --src-type BROADCAST -j DROP
-A reject -s 224.0.0.0/4 -j DROP
-A reject -p igmp -j DROP
-A reject -p tcp -j REJECT --reject-with tcp-reset
-A reject -p udp -j REJECT --reject-with icmp-port-unreachable
-A reject -p icmp -j REJECT --reject-with icmp-host-unreachable
-A reject -j REJECT --reject-with icmp-host-prohibited
-A smurflog -j LOG --log-prefix "Shorewall:smurfs:DROP:" --log-level 6
-A smurflog -j DROP
-A smurfs -s 0.0.0.0/32 -j RETURN
-A smurfs -m addrtype --src-type BROADCAST -g smurflog
-A smurfs -s 224.0.0.0/4 -g smurflog
-A tcpflags -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,PSH,URG -g logflags
-A tcpflags -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -g logflags
-A tcpflags -p tcp -m tcp --tcp-flags SYN,RST SYN,RST -g logflags
-A tcpflags -p tcp -m tcp --tcp-flags FIN,SYN FIN,SYN -g logflags
-A tcpflags -p tcp -m tcp --sport 0 --tcp-flags FIN,SYN,RST,ACK SYN -g logflags
COMMIT
# Completed on Sat Aug 11 21:23:23 2012
# Generated by iptables-save v1.4.10 on Sat Aug 11 21:23:23 2012
*nat
:PREROUTING ACCEPT [34:2056]
:INPUT ACCEPT [21:1328]
:OUTPUT ACCEPT [20:1476]
:POSTROUTING ACCEPT [21:1536]
:dnat - [0:0]
:net_dnat - [0:0]
:ppp0_masq - [0:0]
-A PREROUTING -j dnat
-A POSTROUTING -o ppp0 -j ppp0_masq
-A dnat -i ppp0 -j net_dnat
-A net_dnat -p tcp -m tcp --dport 8080 -j DNAT --to-destination 10.42.43.100:80
-A ppp0_masq -s 10.0.0.0/8 -j MASQUERADE
-A ppp0_masq -s 169.254.0.0/16 -j MASQUERADE
-A ppp0_masq -s 172.16.0.0/12 -j MASQUERADE
-A ppp0_masq -s 192.168.0.0/16 -j MASQUERADE
COMMIT
# Completed on Sat Aug 11 21:23:23 2012

EJ

Je kunt beter de shorewall code plaatsen. Iptables meuk vind ik onleesbaar (ben gewend aan het overzichtelijke pf, vandaar dat ik de hogere abstractie van shorewall ook waardeer).

mrrepel

Welke code wil je zien ? De config files in /etc/shorewall ?

EJ

Citaat van: mrrepel op augustus 11, 2012, 23:22:58
Welke code wil je zien ? De config files in /etc/shorewall ?
policy en rules.

mrrepel

Rules

#
# Shorewall version 4.0 - Sample Rules File for two-interface configuration.
# Copyright (C) 2006,2007 by the Shorewall Team
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
#
# See the file README.txt for further details.
#------------------------------------------------------------------------------
# For information about entries in this file, type "man shorewall-rules"
###############################################################################$
#ACTION         SOURCE          DEST            PROTO   DEST    SOURCE         $
#                                                       PORT    PORT(S)        $
#
#       Accept DNS connections from the firewall to the network
#
DNS(ACCEPT)     $FW             net
DNS(ACCEPT)     loc             $FW
ACCEPT          $FW             net                udp       53
ACCEPT          $FW             net                tcp       53
#
#       Accept SSH connections from the local network for administration
#
SSH(ACCEPT)     loc             $FW
#
#       Allow Ping from the local network
#
Ping(ACCEPT)    loc             $FW

#
# Drop Ping from the "bad" net zone.. and prevent your log from being flooded..
#

Ping(DROP)      net             $FW

ACCEPT          $FW             loc             icmp
ACCEPT          $FW             net             icmp

#
#Portforward
DNAT            net             loc:10.42.43.100:80  tcp     8080
ACCEPT          net           $FW       tcp        22
ACCEPT  net     $FW     tcp     5555
ACCEPT          net             $FW     tcp     8000


Policy

#
# Shorewall version 4.0 - Sample Policy File for two-interface configuration.
# Copyright (C) 2006 by the Shorewall Team
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
#
# See the file README.txt for further details.
#------------------------------------------------------------------------------
# For information about entries in this file, type "man shorewall-policy"
###############################################################################
#SOURCE         DEST            POLICY          LOG LEVEL       LIMIT:BURST

loc             net             ACCEPT
net             all             DROP            info
$FW             net             ACCEPT
loc             $FW             ACCEPT
$FW             loc             ACCEPT
# THE FOLLOWING POLICY MUST BE LAST
all             all             REJECT          info


EJ

Kunnen weg (staat al in de regels er boven):
ACCEPT          $FW             net                udp       53
ACCEPT          $FW             net                tcp       53

Kan weg (zinloze actie):

#
# Drop Ping from the "bad" net zone.. and prevent your log from being flooded..
#

Ping(DROP)      net             $FW

Ik vermoed dat poort 8080 door je provider wordt geblokkeerd omdat het een default proxy poort is, wellicht hetzelfde als voor poort 8000.
Draait je VLC mms server op de firewall? Zo ja, moet niet ook udp open? Zo nee, dan moet je ook met een DNA regel aan de gang (en misschien ook udp open zetten).


mrrepel

Hoi EJ,

Bedankt voor de reactie. Hoe zit het dan met poort 5555 ? Hier heb ik Webmin op draaien en wil deze als test graag naar buiten brengen. Ik gooi die 2 regels eruit.

mrrepel

Fout gevonden.....

T-mobile is mijn poorten gruwelijk aan het blokken. Als ik de accept op 8080 zet ( en VLC stream op 8080 ) werkt het zonder problemen.(DNAT rule eruit gehaald) Nu eens uit gaan vinden welke poorten T-mobile wel toelaat buiten 8080 en 22.

Bedankt in ieder geval allemaal voor het meedenken !

EJ


LB06

Haha die had ik niet aan zien komen. Goed dat je de oorzaak hebt gevonden.

mrrepel

Ik wist echt niet meer waar ik het moest zoeken tot ik EJ hoorde over poorten blokken bij de provider. Ondertussen weet ik wel dat mijn backups goed waren, de dvd van Clonezilla is ondertussen grijs gedraaid.

Pluspuntje is wel dat ik nu meer van de configuratie van Shorewall weet na al het lezen. Nogmaals dank voor alle hulp !

LB06

Alles wat niet begint met ACCEPT net $FW of met DNAT kan weg. Je default policy laat al het lokale en uitgaande verkeer al toe. In rules hoef je alleen uitzonderingen daarop te definiƫren.

EJ

Mooi moment om een default deny policy in te voeren: verbiedt al het verkeer tussen loc en net, loc en fw, net en loc, net en fw en als je erg paranoide bent zelfs tussen fw en net. :)

Scherp gezien trouwens, ik ga eigenlijk al per definitie uit van een default deny policy. En ja, ik zag de poorten blokken bij de provider wel aankomen toen ik goed genoeg gelezen had over mobiele providers. Leve 1 januari als dat niet meer mag. :D

dennism

Citaat van: EJ op augustus 13, 2012, 18:36:40
Mooi moment om een default deny policy in te voeren: verbiedt al het verkeer tussen loc en net, loc en fw, net en loc, net en fw en als je erg paranoide bent zelfs tussen fw en net. :)

Scherp gezien trouwens, ik ga eigenlijk al per definitie uit van een default deny policy. En ja, ik zag de poorten blokken bij de provider wel aankomen toen ik goed genoeg gelezen had over mobiele providers. Leve 1 januari als dat niet meer mag. :D

Of we daar zo vrolijk van moeten worden weet ik nog zo net niet. Aan de ene kant voor Powerusers ideaal, aan de andere kant kan dit vooral bij mensen met een mindere kennis van IT voor problemen gaan zorgen. Denk bijvoorbeeld aan SMB/Netbios poorten die straks niet meer standaard dicht mogen staan. Vooral bij de consumenten en MKB en kleinere bedrijven zal er waarschijnlijk een grote omslag aan beveiliging moeten komen om alles netjes en correct te beveiligen.

Nu zou dit bij de invoering van IPv6 niet anders zijn, dus in die zin misschien wel goed als mensen nu al hierop voorbereid worden.

EJ

Citaat van: dennism op augustus 13, 2012, 19:30:55
Of we daar zo vrolijk van moeten worden weet ik nog zo net niet. Aan de ene kant voor Powerusers ideaal, aan de andere kant kan dit vooral bij mensen met een mindere kennis van IT voor problemen gaan zorgen. Denk bijvoorbeeld aan SMB/Netbios poorten die straks niet meer standaard dicht mogen staan. Vooral bij de consumenten en MKB en kleinere bedrijven zal er waarschijnlijk een grote omslag aan beveiliging moeten komen om alles netjes en correct te beveiligen.

Nu zou dit bij de invoering van IPv6 niet anders zijn, dus in die zin misschien wel goed als mensen nu al hierop voorbereid worden.

Tsja, we sturen toch ook geen bestuurders van auto's de weg op zonder rijinstructeur en/of rijbewijs? Het heeft even geduurd voordat we doorhadden dat dat een goed principe was. Misschien geldt dat ook wel voor internet gebruik.

Hoeveel sukkels klikken er nog steeds op de kromme nederlandse zinnen met een link naar een phishing site? Hoeveel sukkels sturen hun tan code  als er weer eens een mailtje komt 'van de securitie afdeeling van de bank'?

mrrepel

Vandaag netjes teruggebeld door T-Mobile. Blijkt dat enkel onderstaande poorten beschikbaar zijn buiten 8080 en 22:
TCP
5021
5405
5900

UDP
6667


LB06

En we hebben het over een vaste aansluiting? :|

EJ

Dat zeg, leve de wet netneutraliteit. Per 1 januari moet alles open.

dennism

Ben daar nog even ingedoken en gelukkig is het toch iets genuanceerder dan ik dacht.

Voor zover ik de implementatie mag begrijpen is het zo dat providers nog steeds inbound verkeer naar de abonnee mogen blokkeren wanneer dit een best practise is voor integriteit en veiligheid. Wel moet de abonnee van deze blokkade(s) vooraf op de hoogte gebracht worden. Het moeten aanbieden van een opt-out hierop wordt niet expliciet benoemd.
Outbound vanaf de abonnee mogen er geen blokkades zijn tenzij er een gerechtelijk bevel is of wanneer de klant meedere malen gewaarschuwd is dat deze bijvoorbeeld malware verkeer veroorzaakt, spamruns verstuurd of onderdeel is van een botnet. 

EJ

Kun je dat onderbouwen met artikelen? Volgens mij is het namelijk echt zo ongenuanceerd (gelukkig). Providers mogen namelijk niet bepalen wat best-practice noch integriteit is.

Let wel: dit betreft de nieuwe situatie per 1 januari na het in werking treden van de wet netneutraliteit. Nu mogen ze aanprutsen. Dan niet meer.

mrrepel

Citaat van: LB06 op augustus 15, 2012, 11:43:38
En we hebben het over een vaste aansluiting? :|

Nope, T-mobile 14.4 Mbps down / 2 Mbps up maximaal zakelijk 3g abbo icm een richtantenne. Ik woon net over de grens in Duitsland en het was dit of een 40K down / 5K up Adsl lijntje ( waar ik het een jaar mee heb uitgehouden ). Dan is dit net wat beter  :pompom: Ik ben aan het wachten tot LTE echt goed uitgerold wordt, dan wordt het helemaal leuk :-)

dennism

Citaat van: EJ op augustus 15, 2012, 17:12:37
Kun je dat onderbouwen met artikelen? Volgens mij is het namelijk echt zo ongenuanceerd (gelukkig). Providers mogen namelijk niet bepalen wat best-practice noch integriteit is.

Let wel: dit betreft de nieuwe situatie per 1 januari na het in werking treden van de wet netneutraliteit. Nu mogen ze aanprutsen. Dan niet meer.

Enkele sites bekeken, met uitleg over de teksten. vooral veel juridisch geneuzel waar ik niet altijd veel wijzer uit werd.
Onderstaande bron vond ik het meeste duidelijkehijd geven. Deze persoon komt o.a. ook vaak op tweakers langs bij juridische onderwerpen.

[/url]http://blog.iusmentis.com/2011/07/05/wat-mag-een-provider-nog-als-netneutraliteit-wet-wordt/[/url]