# Samba im Internet ;-)  iptables

## chilla

Hallo,

Der titel soll nur provozieren, ich möchte samba gerade _nicht_ über das internet erreichbar haben. Dagen jedoch in einem vpn. 

Eine Maschine (vserver von hosteurope) stellt primär drei Services zur Verfügung: 

* ssh

* Webserver für eine Groupware

* Openvpn

* Samba

Sie hat eine öffentliche IP und das Openvpn ist ein gebridgtes Netz, welches noch mal ein lokales netz aufspannt (tun0).

Natürlich soll der Samba-Server nicht über das öffentliche Netz erreichbar sein, sondern nur im VPN laufen. Da mir die smb-internas (wie hosts-allow, interfaces, etc.) zu schwach sind und ich die eigentlich garnicht anrühren möchte, aber trotzdem eine absolut robuste lösung brauche, kommen nur iptables in frage. Auch hier versteht sich eine defaultpolicy DROP von selbst.

Ich möchte also venet0 (das öffentliche interface) nur pakete rein und rauslassen, die zu ssh, dem webserver oder openvpn gehören. 

1. Frage: Ist das realistisch? 

Mir ist natürlich klar, dass man eigentlich einen samba-server nicht ins Netz stellt. Und genau daran möchte ich mich ja auch halten, indem ich ihn eben nicht ins öffentliche netz stelle, sondern nur ins private. Ganz sicher bin ich mir dabei jedoch noch nicht. 

2. Frage: Welche Regeln brauche ich (bei default policy DROP) für http, openvpn, ssh? Wenn ich das recht verstanden habe, findet die kommunikation ja zumindest bei den tcp protos http und ssh nicht nur auf port 80 und 22 statt, denn dort werden nur die verbindungen entgegengenommen, sehe ich das richtig?

Vielen dank schonmal.

Grüße aus Braunschweig

----------

## R.Aven

Wenn du dich bisher wenig bis gar nicht mit IPTables befasst hast, wäre vielleicht Firehol etwas für dich.

Firehol analysiert dein System und findet alle Ports, auf denen ein Dienst lauscht und bietet dir dann eine recht einfache Konfiguration entsprechende Dienste wieder zu entfernen. Habe ich hier auch in Kombination mit OpenVPN im Einsatz.

So ist es möglich alle Zugriffe via externem Netz auf bestimmte Dienste von vorn herein zu untersagen und für tun0 - in deinem Fall das VPN Netzwerkdevice - den Zugriff entsprechend weniger restriktiv zu regeln.

----------

## Anarcho

Eventuell solltest du dir auch mal die Option "bind interfaces only" in der smb.conf manpage ansehen.

----------

## chilla

Danke erstmal für die Tipps!

 *Quote:*   

> Eventuell solltest du dir auch mal die Option "bind interfaces only" in der smb.conf manpage ansehen.

 

Das habe ich bereits getan. Meine Config:

```

   hosts deny = 0.0.0.0

    hosts allow = 10.8.0.0/255.0.0.0 localhost 127.0.0.1

   interfaces = 10.8.0.1/24 lo 127.0.0.1 localhost

   bind interfaces only = yes

   socket address = 10.8.0.1

```

Ich war mir jedoch nicht so ganz sicher mit der Sache. Ausserdem hört man ja immer wieder, dass es nicht schlau/sicher ist, samba im internet laufen zu lassen - egal mit welcher config. Auch ohne tieferes wissen, kann man glaub ich getrost sagen, dass es gut ist, diesen Rat zu befolgen. 

Daher will ich eigentlich auf diese Angaben in der smb.conf verzichten können und stattdessen, das ding direlt vor der haustüre mit IPtables abzuriegeln und nicht erst im haus den Zugang zum Schlafzimmer mit ner Holztüre verwehren.

Firehol hat mir sehr geholfen. Ist eine super Software.

Meine firehol.conf:

```

interface tun0 vpn

        policy accept

interface venet0 internet

        policy drop

        server http accept

        server openvpn accept

        server ssh accept

        client imap accept

        client imaps accept

        client pop3 accept

        client dns accept

        client ping accept

```

Macht soweit ich es überschauen kann genau das, was ich möchte.

----------

## slick

Im Kontext Bridge und Iptables, google mal nach dem Modul physdev. Das kann da sehr helfen.

Siehe auch http://www.linux-magazin.de/heft_abo/ausgaben/2004/12/zugbruecke (und Tabelle am Ende der Seite)

----------

