[iptables] Datapipe met iptables

Pagina: 1
Acties:

  • DieterVDW
  • Registratie: Juli 2002
  • Laatst online: 12-02-2017
Hallo,

Jullie kennen vast wel de 'datapipe'-tool, een programmatje waarmee je inkomende connectie op een bepaalde poort kunt forwarden naar een andere poort.
Nu zou ik graag hetzelfde doen, maar met behulp van iptables.

De situatie:
Op m'n laptop moet ik telkens ik van locatie verander (thuis of op m'n studentenkamer) het smtp adres in m'n mailclient veranderen. De respectievelijke ISP's staan immers enkel connecties naar hun SMTP server toe uit hun eigen IP bereik.
Nu zou ik er graag voor zorgen dat ik m'n Linksys router vanop mijn studentenkamer kan gebruiken als SMTP server. Ik kan op deze router geen software installeren, maar wel iptables rules toevoegen/manipuleren.
Ik zou dus gewoon willen dat de router alle inkomende connecties op een bepaalde poort forwardt naar de SMTP server van de ISP die ik gebruik op m'n studentenkamer.

Ik ben er behoorlijk zeker van dat dit mogelijk is dmv iptables, maar het lukt me maar niet.
Ik heb al het volgende:
code:
1
2
3
/usr/sbin/iptables -t nat -A PREROUTING -p tcp --dport 25 -j DNAT --to-destination 195.130.132.60
/usr/sbin/iptables -t filter -I FORWARD 2 -i vlan1 -o vlan1 -d 195.130.132.60 -p tcp --dport 25 -j ACCEPT
/usr/sbin/iptables -t nat -A POSTROUTING -d 195.130.2.60 -p tcp --dport 25 -j MASQUERADE


De eerste regel zorgt ervoor dat er DNAT gebeurt op de inkomende pakketjes op de router,
het nieuwe destination adress is het ip van de SMTP server van de ISP (195.130.132.60).
Omdat het destination adres nu niet meer gelijk is aan dat van de router, komt het pakketje in de FORWARD chain terecht. De tweede regel zorgt ervoor dat het pakketje daar aanvaard wordt.
De laatste regel zorgt er dan voor dat er SNAT (MASQ) gebeurt op het pakketje, zodat antwoordpakketjes terugkeren naar de router...
Volgens mij zou dat moeten werken, maar blijkbaar is er dus iets mis :( ...

Als ik enkel de eerste regel gebruik, dan kan ik al vanuit het interne netwerk een connectie maken met de router op poort 25, en dan krijg ik de output van de ISP's SMTP server te zien,
dus die regel klopt wel...

Iemand met meer ervaring op dit vlak die mij kan helpen?

PS: Ja ik ben mij bewust van de beveiligingsimplicaties van deze maatregel. Het is echter eerder bedoeld als uitdaging, ik zal de traffiek via deze regel scherp in het oog houden in ieder geval...

  • Wolfboy
  • Registratie: Januari 2001
  • Niet online

Wolfboy

ubi dubium ibi libertas

Tipje, ga wat loggen :)

/usr/local/sbin/iptables -N nat-log # nieuwe chain aanmaken
/usr/local/sbin/iptables -A nat-log -j LOG --log-level info --log-prefix '::nat-log::' # die chain laten loggen

/usr/local/sbin/iptables -t nat -A PREROUTING -j nat-log # alles naar het log sturen


Als je je afvraagt waarom ik een nieuwe chain heb gemaakt, dat is zodat je eventueel nog andere regels kunt toevoegen, automatisch laten droppen bijvoorbeeld.

Blog [Stackoverflow] [LinkedIn]


  • DieterVDW
  • Registratie: Juli 2002
  • Laatst online: 12-02-2017
Enkele vraagjes ivm iptables:
Is er een makkelijkere manier om iptables regels te managen?
Is er een manier om te checken welke regels een pakketje zal matchen?

  • Wolfboy
  • Registratie: Januari 2001
  • Niet online

Wolfboy

ubi dubium ibi libertas

DieterVDW schreef op vrijdag 10 juni 2005 @ 21:46:
Is er een makkelijkere manier om iptables regels te managen?
Ga eens op zoek naar een iptables manage scriptje, er zijn er ladingen.
Zelf heb ik de voorkeur om alles gewoon direct met iptables te doen, "iptables -vL" is voor mij over het algemeen genoeg ;)
Is er een manier om te checken welke regels een pakketje zal matchen?
Voor zover ik weet niet nee.

Blog [Stackoverflow] [LinkedIn]


  • DieterVDW
  • Registratie: Juli 2002
  • Laatst online: 12-02-2017
Verdorie, blijkbaar blokkeert m'n ISP toegang tot poort 25, wat eigenlijk wel logisch is...
Die regels klopten dus inderdaad, maar pakketjes met destination port 25 worden gewoon niet toegelaten op het netwerk van m'n ISP ...
Nuja, ik kan wel een andere poort forwarden naar de SMTP server, maar het probleem is dat je in de meeste mailclients de poort van de SMTP server niet kan instellen :( . Beuh...

Edit: Super, SMTP poort veranderen in Eudora kan mits beetje getweak :) !
I'm a happy man!

[ Voor 35% gewijzigd door DieterVDW op 10-06-2005 23:07 ]


  • _JGC_
  • Registratie: Juli 2000
  • Laatst online: 00:43
Hou je er wel rekening mee dat je nu die SMTP server van je provider in principe open-relay maakt via jouw machine? De hele wereld kan mail sturen via jouw machine, wat ook zeker gevonden zal worden naar een paar kiddiescans die elke dag zowat plaatsvinden.

  • DDX
  • Registratie: April 2001
  • Laatst online: 21:33

DDX

kan je niet ssh'en naar je router
en dan poort 25 over ssh doorsturen ?

https://www.strava.com/athletes/2323035


  • DieterVDW
  • Registratie: Juli 2002
  • Laatst online: 12-02-2017
_JGC_ schreef op zaterdag 11 juni 2005 @ 00:06:
Hou je er wel rekening mee dat je nu die SMTP server van je provider in principe open-relay maakt via jouw machine? De hele wereld kan mail sturen via jouw machine, wat ook zeker gevonden zal worden naar een paar kiddiescans die elke dag zowat plaatsvinden.
Yep, daar ben ik me bewust van.
De forwarding service zit echter op een niet standaard poort, waar de kans dat 'm gevonden wordt al héél wat kleiner is. De router is via het WAN niet te pingen, standaard policy is DROP en er staan geen standaard servicepoorten open, maw de router zelf is al nauwelijks te detecteren.
Ik denk dat dat dus wel zal meevallen... Scans op niet-standaard poorten komen naar mijn ervaring toch niet echt
En natuurlijk hou ik de boel ook wel wat in de gaten, als ik verdachte zaken merk dan zet ik dat natuurlijk onmiddellijk af.

Ik zal ook ff zien of ik de ip ranges in gebruik van m'n 2 ISP's kan bemachtigen, dan kan ik daar ook op filteren...
DDX schreef op zaterdag 11 juni 2005 @ 10:33:
kan je niet ssh'en naar je router
en dan poort 25 over ssh doorsturen ?
Wschl wel, zou ook stuk veiliger zijn.
Maar om nu telkens een ssh sessie te starten als ik mailtje wil versturen...

  • DieterVDW
  • Registratie: Juli 2002
  • Laatst online: 12-02-2017
Ik probeer nu een chain aan te maken, maar dat lukt vreemd genoeg niet.

code:
1
2
3
4
5
(none):[~]# iptables -N blah
(none):[~]# iptables -t nat -A PREROUTING -j blah
iptables v1.2.9: Couldn't load target `blah':File not found

Try `iptables -h' or 'iptables --help' for more information.


Raar... ?

Nochtans letterlijk uit de iptables manpage:
"The target can be a user-defined chain [...]"

[ Voor 13% gewijzigd door DieterVDW op 11-06-2005 16:48 ]


  • CyBeR
  • Registratie: September 2001
  • Niet online

CyBeR

💩

Je kunt natuurlijk ook gewoon een mailserver gebruiken danwel draaien die smtp authenticatie ondersteunt...

All my posts are provided as-is. They come with NO WARRANTY at all.


  • DieterVDW
  • Registratie: Juli 2002
  • Laatst online: 12-02-2017
CyBeR schreef op zaterdag 11 juni 2005 @ 16:49:
Je kunt natuurlijk ook gewoon een mailserver gebruiken danwel draaien die smtp authenticatie ondersteunt...
Nee, ik kan geen software installeren op die router...

Maar iemand soms idee waarom het niet lukt om die chain als target te gebruiken?

[ Voor 14% gewijzigd door DieterVDW op 11-06-2005 17:03 ]


  • CyBeR
  • Registratie: September 2001
  • Niet online

CyBeR

💩

DieterVDW schreef op zaterdag 11 juni 2005 @ 17:03:
[...]


Nee, ik kan geen software installeren op die router...
Nee maar veel ISPs ondersteunen dat.

All my posts are provided as-is. They come with NO WARRANTY at all.


  • Wolfboy
  • Registratie: Januari 2001
  • Niet online

Wolfboy

ubi dubium ibi libertas

DieterVDW schreef op zaterdag 11 juni 2005 @ 17:03:
[...]


Nee, ik kan geen software installeren op die router...

Maar iemand soms idee waarom het niet lukt om die chain als target te gebruiken?
Heb je wel regels toegevoegd aan de chain?

Blog [Stackoverflow] [LinkedIn]


  • _JGC_
  • Registratie: Juli 2000
  • Laatst online: 00:43
beetje kiddiescan doet gewoon een service detection. Als ik nmap met -sV over jou bak heenhaal, heb ik snel in de gaten dat die gekke poort van jou een SMTP server is. Een beetje scriptkiddie heeft ook zo uitgevonden dat dat ding open relay is en gaat dat ding misbruiken. Ik geef je enkele dagen tot een week, dat ding wordt gewoon gevonden.

  • Wolfboy
  • Registratie: Januari 2001
  • Niet online

Wolfboy

ubi dubium ibi libertas

_JGC_ schreef op zaterdag 11 juni 2005 @ 17:17:
beetje kiddiescan doet gewoon een service detection. Als ik nmap met -sV over jou bak heenhaal, heb ik snel in de gaten dat die gekke poort van jou een SMTP server is.
Lees eens iets beter, het gaat over een niet standaard poort.
Ongeveer alle scans gaan gewoon over de standaard poorten (21,80,137.....) dus zal het niet gevonden worden.

Blog [Stackoverflow] [LinkedIn]


  • DDX
  • Registratie: April 2001
  • Laatst online: 21:33

DDX

DieterVDW schreef op zaterdag 11 juni 2005 @ 16:16:
Wschl wel, zou ook stuk veiliger zijn.
Maar om nu telkens een ssh sessie te starten als ik mailtje wil versturen...
ssh client kan je ook automatisch laten opstarten
(en je hebt ook programma's die geen shell openen maar alleen poort doorsturen)

https://www.strava.com/athletes/2323035


  • DieterVDW
  • Registratie: Juli 2002
  • Laatst online: 12-02-2017
CyBeR schreef op zaterdag 11 juni 2005 @ 17:08:
[...]


Nee maar veel ISPs ondersteunen dat.
Aha ik snap nu wat je bedoelt.
Hmm héél sterk punt :) .
FF zoeken of mijn ISP dat heeft...

Edit: nope :( . Geen enkele van de twee :( .

[ Voor 10% gewijzigd door DieterVDW op 11-06-2005 19:45 ]


  • Buffy
  • Registratie: April 2002
  • Laatst online: 26-12-2024

Buffy

Fire bad, Tree pretty

DieterVDW schreef op zaterdag 11 juni 2005 @ 16:47:
[...]


Ik probeer nu een chain aan te maken, maar dat lukt vreemd genoeg niet.

code:
1
2
3
4
5
(none):[~]# iptables -N blah
(none):[~]# iptables -t nat -A PREROUTING -j blah
iptables v1.2.9: Couldn't load target `blah':File not found

Try `iptables -h' or 'iptables --help' for more information.


Raar... ?

Nochtans letterlijk uit de iptables manpage:
"The target can be a user-defined chain [...]"
Je maakt de chain blah aan in de filter table (default) terwijl je hem als target in de nat table gebruikt.

dit zo wel moeten werken:
code:
1
2
iptables -t nat -N blah
iptables -t nat -A PREROUTING -j blah

That which doesn't kill us, makes us stranger - Trevor (AEon FLux)
When a finger points at the moon, the imbecile looks at the finger (Chinese Proverb)


  • DieterVDW
  • Registratie: Juli 2002
  • Laatst online: 12-02-2017
Dawns_sister schreef op zaterdag 11 juni 2005 @ 22:59:
[...]


Je maakt de chain blah aan in de filter table (default) terwijl je hem als target in de nat table gebruikt.

dit zo wel moeten werken:
code:
1
2
iptables -t nat -N blah
iptables -t nat -A PREROUTING -j blah
Aha, ik was me er niet van bewust dat chains ook per table waren!
Works like a charm nu!
Bedankt!

  • _JGC_
  • Registratie: Juli 2000
  • Laatst online: 00:43
Wolfboy schreef op zaterdag 11 juni 2005 @ 17:19:
[...]
Lees eens iets beter, het gaat over een niet standaard poort.
Ongeveer alle scans gaan gewoon over de standaard poorten (21,80,137.....) dus zal het niet gevonden worden.
Security by obscurity dus... Je hebt een lek zitten, maar je verdomt het om dicht te zetten, want het zal vast niet gevonden worden. Wat als nmap die door jou gekozen poort nou wel oppikt? Dacht je dat trojans ook altijd op dezelfde poorten draaien? Zo'n scriptkiddie kan gerust 1-65535 opgeven als poortrange, ondertussen wat anders doen en na een kwartier zn resultaat exploiten.
Nee, een open relay server draaien en dan verbergen achter een vage poort noem ik geen beveiliging.

  • Wolfboy
  • Registratie: Januari 2001
  • Niet online

Wolfboy

ubi dubium ibi libertas

_JGC_ schreef op zondag 12 juni 2005 @ 01:15:
Security by obscurity dus... Je hebt een lek zitten, maar je verdomt het om dicht te zetten, want het zal vast niet gevonden worden. Wat als nmap die door jou gekozen poort nou wel oppikt? Dacht je dat trojans ook altijd op dezelfde poorten draaien? Zo'n scriptkiddie kan gerust 1-65535 opgeven als poortrange, ondertussen wat anders doen en na een kwartier zn resultaat exploiten.
Nee, een open relay server draaien en dan verbergen achter een vage poort noem ik geen beveiliging.
De TS heeft duidelijk gezegd dat ongeveer alles op zijn machine dicht staat en dat de machine dus niet/nauwelijks gevonden kan worden, natuurlijk is het wel mogelijk dat er iemand alle poorten gaat scannen, maar als het apparaat niet eens gedetecteerd wordt dan is daar eigenlijk geen reden toe.
Dat wil overigens niet zeggen dat het veilig is nee, ik zou het zelf dan ook niet doen maar dat is de keuze van de TS.
Je hebt mij nooit horen zeggen dat het echt veilig is, alleen dat het zeer onwaarschijnlijk is.

Het is iig zijn verantwoordelijkheid voor als het verkeerd en z'n ISP zal hem ook afsluiten als er iets mocht gebeuren.

Blog [Stackoverflow] [LinkedIn]

Pagina: 1