Heimnetzwerk über einen Proxy mit Squid und Dansguardian absichern (WLAN)

Anleitung nach http://wiki.ubuntuusers.de/Router und http://wiki.ubuntuusers.de/WLAN_Router

Diese Anleitung zeigt, wie man einen Proxy mit WLAN-Router installiert.

  1. Debian Serversystem installieren
    • grafische Oberfläche abwählen
    • ssh-Server auswählen
    • sources-list erweitern:
          deb http://ftp.de.debian.org/debian squeeze main contrib non-free
          deb http://ftp.de.debian.org/debian squeeze-updates main contrib non-free
          deb http://security.debian.org/ squeeze/updates main contrib non-free
    • apt-get update
    • apt-get upgrade
  2. Programme installieren
    • apt-get install squid dansguardian ssh
    • apt-get install hostapd dnsmasq
  3. die Datei /etc/default/hostapd bearbeiten
        DAEMON_CONF="/etc/hostapd.conf"   
        RUN_DAEMON=yes
  4. Die Datei /etc/hostapd.conf mit folgendem Inhalt erstellen:
    # Schnittstelle und Treiber
    interface=wlan0
    driver=nl80211
    
    # WLAN-Konfiguration
    ssid=WLAN_AP-SSID
    channel=1
    
    # ESSID sichtbar
    ignore_broadcast_ssid=0
    
    # Ländereinstellungen
    country_code=DE
    ieee80211d=1
    
    # Übertragungsmodus
    hw_mode=g
    
    # Optionale Einstellungen
    # supported_rates=10 20 55 110 60 90 120 180 240 360 480 540
    
    # Draft-N Modus aktivieren / optional nur für entsprechende Karten
    # ieee80211n=1
    
    # Übertragungsmodus / Bandbreite 40MHz
    # ht_capab=[HT40+][SHORT-GI-40][DSSS_CCK-40]
    
    # Beacons
    beacon_int=100
    dtim_period=2
    
    # MAC-Authentifizierung
    macaddr_acl=0
    
    # max. Anzahl der Clients
    max_num_sta=255
    
    # Größe der Datenpakete/Begrenzung
    rts_threshold=2347
    fragm_threshold=2346
    
    # hostapd Log Einstellungen
    logger_syslog=-1
    logger_syslog_level=2
    logger_stdout=-1
    logger_stdout_level=2
    
    # temporäre Konfigurationsdateien
    dump_file=/tmp/hostapd.dump
    ctrl_interface=/var/run/hostapd
    ctrl_interface_group=0
    
    # Authentifizierungsoptionen 
    auth_algs=3
    
    # wmm-Funktionalität
    wmm_enabled=0
    
    # Verschlüsselung / hier rein WPA2
    wpa=2
    rsn_preauth=1
    rsn_preauth_interfaces=wlan0
    wpa_key_mgmt=WPA-PSK
    rsn_pairwise=CCMP
    
    # Schlüsselintervalle / Standardkonfiguration
    wpa_group_rekey=600
    wpa_ptk_rekey=600
    wpa_gmk_rekey=86400
    
    # Zugangsschlüssel (PSK) / hier in Klartext (ASCII)
    wpa_passphrase=1234567890abcdefghijklmn
  5. Konfiguration der /etc/network/interfaces:
    # loopback-Interface nicht löschen
    auto lo
    iface lo inet loopback
    
    # LAN / automatische Konfiguration über DHCP
    auto eth0
    iface eth0 inet dhcp
    
    # WLAN mit statischer Konfiguration
    auto wlan0
    iface wlan0 inet static
    address 192.168.3.1
    netmask 255.255.255.0
    broadcast 192.168.3.255
    
    # vorhandene Regeln und Ketten zuerst löschen (Restart-Funktionalität)
    up /sbin/iptables -F
     up /sbin/iptables -X
      up /sbin/iptables -t nat -F
    
    # Maskieren der LAN-Schnittstelle, Port-Forwarding & Nat aktivieren
    up iptables -A FORWARD -o eth0 -i wlan0 -s 192.168.0.0/24 -m conntrack --ctstate NEW -j ACCEPT
     up iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
      up iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE 
       up sysctl -w net.ipv4.ip_forward=1 
    
    # hostapd und dnsmasq neu starten
       up /etc/init.d/hostapd restart
        up /etc/init.d/dnsmasq restart
  6. Die Datei /etc/dnsmasq.conf mit folgendem Inhalt erstellen.
    # DHCP-Server aktiv für Interface
    interface=wlan0
    
    # DHCP-Server nicht aktiv für Interface
    no-dhcp-interface=eth0
    
    # IP-Adressbereich / Lease-Time
    dhcp-range=interface:wlan0,192.168.3.20,192.168.3.200,infinite
  7. Squid einrichten
    • Konfiguration des Squid: /etc/squid/squid.conf
      • aktivieren der Apache log emulation (zur Zugriffs Überwachung): emulate_httpd_log on
      • setze den Hostnamen: visible_hostname localhost
      • ändere die Zeile http port 3128 folgendermaßen: http_port 3128 transparent
    • Konfiguration des Dansguardian: /etc/dansguardian/dansguardian.conf
      UNCONFIGURED auskommentieren: # UNCONFIGURED
    • In der Datei: /etc/dansguardian/dansguardianf1.conf
      setze naughtynesslimit = 130
    • Erstelle die Datei /etc/init.d/transparentproxy , die folgende Zeile enthält:
      iptables -t nat -A PREROUTING -i wlan0 -p tcp --dport 80 -j REDIRECT --to-port 8080
    • mache die Datei ausführbar mit chmod a+x /etc/init.d/transparentproxy
    • erstelle startup Links: update-rc.d transparentproxy defaults
    • reboot