Squid hinter Router (DD-WRT)

  • Hallo Pi-Gemeinde!

    Ich habe folgendes Problem:
    Auf meinem Pi hab ich Squid3 installiert. Stelle ich im LAN im Firefox als Proxy den Pi ein, klappt alles wunderbar. Sobald ich versuche aus dem www selbiges zu tun (mit dyndns, port ist offen im router), bekomme ich nichteinmal irgendeine Antwort vom Proxy, auch indessen Log ist nichts zu finden.

    Auf dem Pi laufen auch ein lighttpd Server und pyload, beides ist via www erreichbar.

    In iptables habe ich folgende Regeln:

    Code
    # Proxy
    -A INPUT -p tcp -m tcp --dport 3128 -j ACCEPT
    -A INPUT -p udp -m udp --dport 3128 -j ACCEPT


    squid.conf

    Im Router ist Port 3128 mit TCP & UDP auf die IP des Pi's geöffnet.

    Ich weiß nichtmehr was ich falsch mache, darum bitte ich euch um Hilfe!
    Zum Aufbau des Netzwerks:

    Kabelmodem -> Router mit DD-WRT -> LAN -> PC + RasPi

  • Zwei Dinge fallen mir auf:

    1) Ein Proxy braucht um effektiv zu sein viel Speicher. Deine Pi hat max 512 MB was für einen proxy nix ist.
    2) Warum willst Du Deinen Proxy aus dem INet benutzen? Ein Proxy wird normalerweise umgekehrt aus einem lokalen Netz benutzt um Zugriffe zu beschleunigen.

  • zu 1.) Ja mehr Speicher wäre nicht schlecht, aber er lagert auch auf Platte aus und legt einen Index auch da ab.
    zu 2.) Nicht ganz richtig. Es könnte
    a) sein das er damit bestimmte Sachen z.B. Werbung ausblenden möchte,
    b) Squidguard einbinden will und so mit Blacklisten arbeiten kann.
    c) als ReverseProxy um den dahinter liegenden Webserver zu Cachen und schneller auszuliefern.

    Zu dem Problem an sich. Wie sieht denn die Section in der Config zum Thema ACLs aus? Eigentlich ist dort erst einmal nichts erlaubt und man müsste wenigstens das interne Netz eintragen, was dann HTTP und HTTPS anfragen darf. Für Externe IPs müsste man das erst einmal einstellen. Aber Vorsicht, das kann schnell nach hinten los gehen. Wenn Deine IP gescanned wird und jemand feststellt das dort ein Proxy ist und der in diesem Fall dann sogar ein OpenProxy ist, wird der schnell für andere Sachen missbraucht.
    Daher so etwas bitte nur machen wenn sichergestellt ist das der Proxy nur von Leuten benutzt werden kann, die es machen dürfen. Authentifizierung einrichten oder andere Möglichkeiten nutzen um den Zugriff einzuschränken bzw. nur über andere Wege den Zugriff auf dem Proxy geben.

  • Zitat:
    "Wenn Deine IP gescanned wird und jemand feststellt das dort ein Proxy ist und der in diesem Fall dann sogar ein OpenProxy ist, wird der schnell für andere Sachen missbraucht."

    Es gibt zwei Möglichkeiten effektive Ruhe vor Scans zu erreichen.
    Die Ports 0 bis 1024 werden in der Regel nicht gescant. Dazwischen gibt es Lücken, Ports die nicht vergeben sind.
    So nutzt Outpost Firewall unter Windows Port 803 für was auch immer. Port 806 und 807 sind auch nicht belegt.
    So kann man getrost seinen SSH Server auf Port 806 verlegen anstatt Port 22 zu nutzen.
    Alles schon gemacht und auf einmal herrschte eine Ruhe, die Sprichwörtlich war. Squid läßt sich ohne weiteres auf diesen Ports einrichten.

    Zusätzlich kann man Denyhosts installieren und, wenn sauber konfiguriert, wäre das eine weitere Methode am Abend ruhiger ins Bett fallen zu können.

    Gruß,
    Thomas

    PS. Im Übrigen hakt das Forum ganz entsetzlich; nicht nur die Ladezeiten sind extrem lang.


  • Es gibt zwei Möglichkeiten effektive Ruhe vor Scans zu erreichen.
    Die Ports 0 bis 1024 werden in der Regel nicht gescant. Dazwischen gibt es Lücken, Ports die nicht vergeben sind.

    Falsch, die werden sehr wohl gescanned

    Code
    Sep 14 13:53:37 h2121641 kernel: [20894127.539977] IN=eth0 OUT= MAC=6c:62:6d:67:9f:52:00:1b:c6:10:dc:03:08:00 SRC=223.73.34.52 DST=85.214.198.115 LEN=52 TOS=0x00 PREC=0x00 TTL=51 ID=8515 DF PROTO=TCP SPT=55094 DPT=23 WINDOW=5808 RES=0x00 SYN URGP=0
    Sep 14 13:55:28 h2121641 kernel: [20894238.060796] IN=eth0 OUT= MAC=6c:62:6d:67:9f:52:00:1b:c6:10:dc:03:08:00 SRC=173.193.157.255 DST=85.214.198.115 LEN=44 TOS=0x00 PREC=0x00 TTL=55 ID=17229 PROTO=TCP SPT=80 DPT=80 WINDOW=16384 RES=0x00 ACK SYN URGP=0
    Sep 14 13:55:44 h2121641 kernel: [20894254.344776] IN=eth0 OUT= MAC=6c:62:6d:67:9f:52:00:1b:c6:10:dc:03:08:00 SRC=31.210.110.227 DST=85.214.198.115 LEN=40 TOS=0x00 PREC=0x00 TTL=53 ID=12398 PROTO=TCP SPT=52406 DPT=445 WINDOW=512 RES=0x00 SYN URGP=0
    Sep 14 14:04:26 h2121641 kernel: [20894776.061972] IN=eth0 OUT= MAC=6c:62:6d:67:9f:52:00:1b:c6:10:dc:03:08:00 SRC=85.214.7.20 DST=85.214.198.115 LEN=76 TOS=0x00 PREC=0x00 TTL=60 ID=0 DF PROTO=UDP SPT=123 DPT=123 LEN=56

    Das sind 4 Beispiele von ein paar 100.000 im Log was Zugriffe und Scans auf Ports < 1024 betrifft. Den ganzen Tag werden alle über 65000 Ports gescanned.


    So nutzt Outpost Firewall unter Windows Port 803 für was auch immer. Port 806 und 807 sind auch nicht belegt.

    Das sie nicht belegt sind heisst nicht das sie nicht gescanned werden.


    So kann man getrost seinen SSH Server auf Port 806 verlegen anstatt Port 22 zu nutzen.
    Alles schon gemacht und auf einmal herrschte eine Ruhe, die Sprichwörtlich war. Squid läßt sich ohne weiteres auf diesen Ports einrichten.

    Das bringt Ruhe auf dem Port 22, aber verhindert keinen Angriff auf den sshd. Es bewirkt nur das sich viele in Sicherheit wägen und nicht an die Angriffe denken. Der findet dann irgend wann auf Port XY statt und keiner beachtet es. Klar werden Scriptkiddies damit erst einmal abgewehrt, aber die jenigen die es drauf anlegen lächeln müde über das Ändern des Ports.

    Beim ssh kann man mit denyhost, Fail2ban Angriffe sehr gut abfangen und die IPs sperren. Aber gerade bei dem Proxy ist das nicht anzuwenden. Der ist bitte richtig abzusichern, so das ihn keiner benutzen kann. Denn wenn jemand einen kompletten Scan macht dann wird auch der gefunden. Und genau solche Proxys werden dann gerne für alles mögliche benutzt. Und eben diese Proxys sind gerne in Benutzung wenn Accounts von Maildiensten usw. gehackt werden sollen. Da kann man sich gut hinter verstecken und man selbst fällt nicht auf. Das mit einem geknackten Account dann fleissig andere Sachen angestellt werden und auch für sehr viele Spammails mit verantwortlich sind ist der nächste Punkt.

    Also macht es einfach richtig und sichert Server die Ihr betreibt bitte richtig ab, anstatt immer so einen Pseudo-Security Mist zu veranstalten. Das hält keinen davon ab in die System einzudringen und möglicherweise dadurch auch noch andere zu schaden.

  • Neben der obligatorischen Beipflichtung für ruedigerp:

    Wie sieht's aus mit VPN ins Heimnetzwerk und quasi von dort aus interner Zugriff auf squid? Sicherer und trotzdem komfortabel, wäre meine bevorzugte Lösung. Ansonsten scheint die ACL-Regel und http_access grundsätzlich stimmig, allerdings habe ich noch nie so kurze und uneingeschränkte Regeln gesehen.

    EDIT: Mögliche Fehlerquelle:
    "Die Authentifizierung funktioniert nur mit einem Proxy, der normal angesprochen wird. Richtet man Squid als transparenten Proxy ein, so ist eine Authentifizierung nicht möglich, da der Proxy ja nicht direkt vom Client aus angesprochen wird."
    Quelle: http://wiki.ubuntuusers.de/Squid

    Klingt plausibel. Von außen müsstest Du den ja auch nicht transparent machen...

    Einmal editiert, zuletzt von DCSH (14. September 2013 um 17:00)

  • Hey, ist nun eine Weile her aber hab es nun mit OpenVPN gelöst. Im Prinzip wollte ich nur den Internetverkehr über mein Heimnetz umleiten, OpenVPN kann dies verschlüsselt, zusätzlich zum Tunnel ins Heimnetz.
    Mir wurde mal Squid dafür nahegelegt, hab mich nur blind draufgestürzt^^

    Vielen Dank für eure Hilfe!

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!