<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Pfsense on zefanjas.de - Open Source &amp; Education</title>
    <link>https://zefanjas.de/tags/pfsense/</link>
    <description>Recent content in Pfsense on zefanjas.de - Open Source &amp; Education</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>de-DE</language>
    <lastBuildDate>Wed, 21 Oct 2020 14:13:32 +0000</lastBuildDate><atom:link href="https://zefanjas.de/tags/pfsense/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>pfBlockerNG – Werbung und unerwünschte Inhalte filtern</title>
      <link>https://zefanjas.de/pfblockerng/</link>
      <pubDate>Wed, 21 Oct 2020 14:13:32 +0000</pubDate>
      
      <guid>https://zefanjas.de/pfblockerng/</guid>
      <description>&lt;p&gt;Besucht man heute eine durchschnittliche Website, so werden unzählige Skripte und Tracker nachgeladen. Dadurch können die Webseitenbetreiber, Google, Facebook, usw. Daten über mich sammeln und meinen Streifzug durch die Weiten des Internets verfolgen. Zum Glück muss man sich diesem Treiben nicht ergeben und es gibt viele sinnvolle Erweiterungen z.B. für den Browser (&lt;a href=&#34;https://ublockorigin.com/&#34;&gt;uBlock Origin&lt;/a&gt;, &lt;a href=&#34;https://github.com/gorhill/uMatrix&#34;&gt;uMatrix&lt;/a&gt;, etc.). Diese Lösungen haben den Nachteil, dass ich sie auf jedem Gerät und für jeden Browser einzeln installieren muss. Deshalb möchte ich heute vorstellen, wie man Werbung und unerwünschte Inhalte mit &lt;a href=&#34;https://zefanjas.de/tag/pfsense/&#34;&gt;pfSense&lt;/a&gt; und pfBlockerNG netzwerkweit filtern kann. Das ist z.B. sinnvoll in einem Heim- oder &lt;a href=&#34;https://zefanjas.de/tag/pfsense/&#34;&gt;Schulnetzwerk&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;pfblockerng-installieren&#34;&gt;pfBlockerNG installieren&lt;/h2&gt;
&lt;p&gt;Zuerst loggen wir uns in pfSense ein und öffnen den Package Manager. Dort wählen wir pfBlockerNG-devel unter „Available Packages“ aus:&lt;/p&gt;
&lt;img loading=&#34;lazy&#34; decoding=&#34;async&#34; class=&#34;aligncenter wp-image-3019 size-large&#34; src=&#34;https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_129-1024x502.png&#34; alt=&#34;pfBlockerNG installieren&#34; width=&#34;640&#34; height=&#34;314&#34; srcset=&#34;https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_129-1024x502.png 1024w, https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_129-300x147.png 300w, https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_129-768x376.png 768w, https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_129-551x270.png 551w, https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_129.png 1163w&#34; sizes=&#34;(max-width: 640px) 100vw, 640px&#34; /&gt; 
&lt;p&gt;Mit „Install“ können wir das Paket installieren. PfSense lädt nun das pfBlockerNG Paket herunter und fügt es der Firewall hinzu.&lt;/p&gt;
&lt;img loading=&#34;lazy&#34; decoding=&#34;async&#34; class=&#34;aligncenter wp-image-3020 size-large&#34; src=&#34;https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_130-1024x222.png&#34; alt=&#34;pfblockerng installation fertig&#34; width=&#34;640&#34; height=&#34;139&#34; srcset=&#34;https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_130-1024x222.png 1024w, https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_130-300x65.png 300w, https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_130-768x167.png 768w, https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_130-604x131.png 604w, https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_130.png 1174w&#34; sizes=&#34;(max-width: 640px) 100vw, 640px&#34; /&gt; 
&lt;h2 id=&#34;pfblockerng-ersteinrichtung&#34;&gt;pfBlockerNG Ersteinrichtung&lt;/h2&gt;
&lt;p&gt;Als nächsten werden wir pfBlockerNG konfigurieren. Dazu gehen wir zu &lt;em&gt;Firewall  → pfBlockerNG&lt;/em&gt;.&lt;/p&gt;
&lt;img loading=&#34;lazy&#34; decoding=&#34;async&#34; class=&#34;aligncenter size-full wp-image-3021&#34; src=&#34;https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_131.png&#34; alt=&#34;pfblockerNG Menü&#34; width=&#34;537&#34; height=&#34;306&#34; srcset=&#34;https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_131.png 537w, https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_131-300x171.png 300w, https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_131-474x270.png 474w&#34; sizes=&#34;(max-width: 537px) 100vw, 537px&#34; /&gt; 
&lt;p&gt;Es begrüßt und ein Assistent, der uns bei der Einrichtung von pfBlockerNG helfen wird. Mit „Next“ geht es weiter.&lt;/p&gt;
&lt;img loading=&#34;lazy&#34; decoding=&#34;async&#34; class=&#34;aligncenter size-large wp-image-3022&#34; src=&#34;https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_132-1024x278.png&#34; alt=&#34;pfBlockerNG Assistent Seite 1&#34; width=&#34;640&#34; height=&#34;174&#34; srcset=&#34;https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_132-1024x278.png 1024w, https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_132-300x82.png 300w, https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_132-768x209.png 768w, https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_132-604x164.png 604w, https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_132.png 1163w&#34; sizes=&#34;(max-width: 640px) 100vw, 640px&#34; /&gt; 
&lt;p&gt;Auf der nächsten Seite wird erklärt, welche Dinge nun eingerichtet werden:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Es wird ein Standard-Setup für Anfänger mit pfBlockerNG eingerichtet.&lt;/li&gt;
&lt;li&gt;Falls man vorher schon einmal pfBlockerNG installiert hatte, werden alle Einstellungen gelöscht.&lt;/li&gt;
&lt;li&gt;Zwei Komponenten werden installiert:
&lt;ul&gt;
&lt;li&gt;IP: Firewall-Regeln für die WAN-Schnittstelle, um die schlimmsten bekannten Angreifer zu sperren.&lt;/li&gt;
&lt;li&gt;DNSBL: Werbung und andere bekannte bösartige Domains werden geblockt.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Mit „Next“ geht es wieder weiter.&lt;/p&gt;
&lt;img loading=&#34;lazy&#34; decoding=&#34;async&#34; class=&#34;aligncenter size-large wp-image-3023&#34; src=&#34;https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_133-1024x387.png&#34; alt=&#34;pfBlockernNG Assistent Seite 2&#34; width=&#34;640&#34; height=&#34;242&#34; srcset=&#34;https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_133-1024x387.png 1024w, https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_133-300x113.png 300w, https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_133-768x290.png 768w, https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_133-604x228.png 604w, https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_133.png 1162w&#34; sizes=&#34;(max-width: 640px) 100vw, 640px&#34; /&gt; 
&lt;p&gt;Im nächsten Schritt müssen wir die eingehende Schnittstelle (WAN) und ausgehende Schnittstelle (LAN) auswählen. Wenn man mehrere interne Schnittstellen hat, kann man alle diejenigen auswählen für die man pfBlockerNG einrichten will. Möchte man z.B. das Gäste-WLAN filtern, aber nicht das WLAN für die Lehrkräfte, kann man hier die entsprechenden Schnittstellen aus bzw. abwählen.&lt;/p&gt;
&lt;img loading=&#34;lazy&#34; decoding=&#34;async&#34; class=&#34;aligncenter size-large wp-image-3024&#34; src=&#34;https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_134-1024x297.png&#34; alt=&#34;pfBlockerNG Schnittstellen&#34; width=&#34;640&#34; height=&#34;186&#34; srcset=&#34;https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_134-1024x297.png 1024w, https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_134-300x87.png 300w, https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_134-768x223.png 768w, https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_134-604x175.png 604w, https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_134.png 1158w&#34; sizes=&#34;(max-width: 640px) 100vw, 640px&#34; /&gt; 
&lt;p&gt;Als nächstes müssen wir eine sogenannte VIP-Adresse festlegen. Auf dieser läuft der Webserver von pfBlockerNG und sollte unter keinen Umständen eine IP aus einem verwendeten Netzwerk sein! Wenn das LAN-Netz z.B. 192.168.1.1/24 ist, sollte die VIP-Adresse nicht in diesem Bereich liegen. Hier in unserem Beispiel lassen wir die Adresse bei 10.10.10.1. Die Ports muss man i.d.R. nicht ändern.&lt;/p&gt;
&lt;img loading=&#34;lazy&#34; decoding=&#34;async&#34; class=&#34;aligncenter size-large wp-image-3025&#34; src=&#34;https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_135-1024x392.png&#34; alt=&#34;pfBlockerNG VIP Adresse&#34; width=&#34;640&#34; height=&#34;245&#34; srcset=&#34;https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_135-1024x392.png 1024w, https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_135-300x115.png 300w, https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_135-768x294.png 768w, https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_135-604x231.png 604w, https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_135.png 1162w&#34; sizes=&#34;(max-width: 640px) 100vw, 640px&#34; /&gt; 
&lt;p&gt;Das Setup ist nun fertig und wir können den Assistenten mit einem Klick auf „Finish“ beenden.&lt;/p&gt;
&lt;img loading=&#34;lazy&#34; decoding=&#34;async&#34; class=&#34;aligncenter size-large wp-image-3026&#34; src=&#34;https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_136-1024x260.png&#34; alt=&#34;pfBlockerNG Setup Ende&#34; width=&#34;640&#34; height=&#34;163&#34; srcset=&#34;https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_136-1024x260.png 1024w, https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_136-300x76.png 300w, https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_136-768x195.png 768w, https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_136-604x153.png 604w, https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_136.png 1164w&#34; sizes=&#34;(max-width: 640px) 100vw, 640px&#34; /&gt; 
&lt;p&gt;Danach öffnet sich die pfBlockerNG Updateseite und es werden automatisch alle aktivierten Blocklisten heruntergeladen und aktiviert.&lt;/p&gt;
&lt;h2 id=&#34;pfblockerng-einrichten&#34;&gt;pfBlockerNG einrichten&lt;/h2&gt;
&lt;p&gt;Wir haben nun ein fertig eingerichtetes pfBlockerNG Setup, dass unerwünschte Werbung und bösartige Domains und Webseiten blockiert. pfBlockerNG ist aber ein sehr mächtiges &amp;amp; flexibles Werkzeug. Deshalb möchte ich gern ein paar Einstellungen hervorheben.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Wichtig:&lt;/strong&gt; Damit geänderte Einstellungen auch wirksam werden (egal, ob DNSBL oder IP), müssen wir unter &lt;em&gt;Update → Reload → All&lt;/em&gt; &lt;em&gt;→ Run&lt;/em&gt; ausführen, damit die (geänderten) Listen heruntergeladen und aktiviert werden.&lt;br&gt;
&lt;img loading=&#34;lazy&#34; decoding=&#34;async&#34; class=&#34;aligncenter size-large wp-image-3039&#34; src=&#34;https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_145-1024x374.png&#34; alt=&#34;pfblockerng update&#34; width=&#34;640&#34; height=&#34;234&#34; srcset=&#34;https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_145-1024x374.png 1024w, https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_145-300x110.png 300w, https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_145-768x281.png 768w, https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_145-604x221.png 604w, https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_145.png 1168w&#34; sizes=&#34;(max-width: 640px) 100vw, 640px&#34; /&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&#34;ip&#34;&gt;IP&lt;/h3&gt;
&lt;p&gt;Im IP Reiter, empfehle ich folgende Einstellungen:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Floating Rules → Enable. Wenn man nur eine interne Schnittstelle hat, kann man es auch deaktiviert lassen. Bei vielen Schnittstellen (z.B. in einem Schulnetzwerk), macht es Sinn, diesen Punkt zu aktivieren, damit die Firewallregeln übersichtlicher bleiben.&lt;/li&gt;
&lt;li&gt;Kill States → Enable. Wenn pfBlockerNG die Blocklisten aktualisiert, werden alle aktiven Verbindungen zu IPs in den Listen zurückgesetzt.&lt;img loading=&#34;lazy&#34; decoding=&#34;async&#34; class=&#34;aligncenter size-large wp-image-3031&#34; src=&#34;https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_139-1024x530.png&#34; alt=&#34;pfblockerNG IP Einstellungen&#34; width=&#34;640&#34; height=&#34;331&#34; srcset=&#34;https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_139-1024x530.png 1024w, https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_139-300x155.png 300w, https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_139-768x398.png 768w, https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_139-522x270.png 522w, https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_139.png 1163w&#34; sizes=&#34;(max-width: 640px) 100vw, 640px&#34; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;geoip-blocking&#34;&gt;GeoIP Blocking&lt;/h3&gt;
&lt;p&gt;Möchte man Zugriffe aus bestimmten Regionen der Erde verbieten, muss man sich zuallererst einen kostenloses Konto bei MaxMind erstellen. Daraufhin erhält man einen Lizenzschlüssel, den man unter &lt;em&gt;IP → MaxMind GeoIP Configuration&lt;/em&gt; eintragen. Danach muss man einmal unter &lt;em&gt;Update → Reload → IP&lt;/em&gt; die GeoIP Datenbanken herunterladen.&lt;/p&gt;
&lt;img loading=&#34;lazy&#34; decoding=&#34;async&#34; class=&#34;aligncenter size-large wp-image-3028&#34; src=&#34;https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_137-1-1024x312.png&#34; alt=&#34;pfblocker geoip&#34; width=&#34;640&#34; height=&#34;195&#34; srcset=&#34;https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_137-1-1024x312.png 1024w, https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_137-1-300x92.png 300w, https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_137-1-768x234.png 768w, https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_137-1-604x184.png 604w, https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_137-1.png 1157w&#34; sizes=&#34;(max-width: 640px) 100vw, 640px&#34; /&gt; 
&lt;p&gt;Nun können wir unter &lt;em&gt;IP → GeoIP&lt;/em&gt; die gewünschten Kontinente oder Top-Spammer auswählen. Dazu klicken wir auf den kleinen Stift rechts und wählen dann in der Liste alle Einträge aus. Unten wählen wir noch „Deny Both“ (List Action).&lt;img loading=&#34;lazy&#34; decoding=&#34;async&#34; class=&#34;aligncenter size-medium wp-image-3030&#34; src=&#34;https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_138-206x300.png&#34; alt=&#34;Top Spammer&#34; width=&#34;206&#34; height=&#34;300&#34; srcset=&#34;https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_138-206x300.png 206w, https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_138-185x270.png 185w, https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_138.png 594w&#34; sizes=&#34;(max-width: 206px) 100vw, 206px&#34; /&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Hinweis zu „Deny Inbound“ und „Deny Outbound“: „Deny Inbound“ bedeutet, dass die IPs für alle eingehenden Verbindungen geblockt werden. Wenn man z.B. einen Webserver betreibt und man möchte bestimmte Länder blocken, dann kann man das mit „Deny Inbound“ machen. „Deny Outbound“ gilt für alle ausgehenden Verbindungen, d.h. ich kann mich von einem Rechner im Netzwerk nicht zu dieser IP verbinden. Hier muss man aufpassen! Wenn ich z.B. alle IPs Nordamerikas mit „Deny outbound“ sperre, kann ich ab sofort keine Webseiten mehr erreichen, die auf diesem Kontinent gehostet sind!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&#34;dnsbl--feeds&#34;&gt;DNSBL / Feeds&lt;/h3&gt;
&lt;p&gt;pfBlockerNG blockt neben IPs auch Domains. Es findet also keine Man-in-the-Middle-Attacke statt, um Inhalte zu filtern, sondern es wird einfach in eine lange Liste geschaut, ob eine Domain erlaubt ist oder nicht (funktioniert auch mit HTTPS). Unter &lt;em&gt;Feeds&lt;/em&gt; können wir einstellen, welche Listen aktiv genutzt werden sollen. Es gibt dabei Feeds für IP Blocklisten, als auch für DNSBL, also Blocklisten für DNS / Domains.&lt;/p&gt;
&lt;p&gt;Alle aktivierten Feeds haben einen Haken am Ende der Zeile. Wenn wir nun einen noch nicht aktiven Feed hinzufügen wollen, klicken wir einfach auf das „+“:&lt;/p&gt;
&lt;img loading=&#34;lazy&#34; decoding=&#34;async&#34; class=&#34;aligncenter size-large wp-image-3034&#34; src=&#34;https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_140-1024x92.png&#34; alt=&#34;Feed hinzufügen&#34; width=&#34;640&#34; height=&#34;58&#34; srcset=&#34;https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_140-1024x92.png 1024w, https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_140-300x27.png 300w, https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_140-768x69.png 768w, https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_140-604x54.png 604w, https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_140.png 1155w&#34; sizes=&#34;(max-width: 640px) 100vw, 640px&#34; /&gt; 
&lt;p&gt;Es öffnet sich eine Seite auf der wir Details zu dem Feed einstellen können. Folgende Felder sind wichtig:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;State: ON&lt;/li&gt;
&lt;li&gt;Action: Unbound&lt;/li&gt;
&lt;li&gt;Update Frequency: Once a day&lt;/li&gt;
&lt;/ul&gt;
&lt;img loading=&#34;lazy&#34; decoding=&#34;async&#34; class=&#34;aligncenter size-large wp-image-3035&#34; src=&#34;https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_142-1024x442.png&#34; alt=&#34;Feed Details&#34; width=&#34;640&#34; height=&#34;276&#34; srcset=&#34;https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_142-1024x442.png 1024w, https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_142-300x129.png 300w, https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_142-768x331.png 768w, https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_142-604x261.png 604w, https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_142.png 1166w&#34; sizes=&#34;(max-width: 640px) 100vw, 640px&#34; /&gt; 
&lt;p&gt;Manchmal möchte man einen Feed hinzufügen, der nicht in der Liste ist (z.B. einzelne &lt;a href=&#34;https://github.com/StevenBlack/hosts&#34;&gt;Feeds von Steven Black&lt;/a&gt;). Dazu gehen wir zu &lt;em&gt;DNSBL → DNSBL Groups&lt;/em&gt; und klicken unten auf „Add“:&lt;/p&gt;
&lt;img loading=&#34;lazy&#34; decoding=&#34;async&#34; class=&#34;aligncenter size-large wp-image-3036&#34; src=&#34;https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_143-1024x394.png&#34; alt=&#34;Feed hinzufügen&#34; width=&#34;640&#34; height=&#34;246&#34; srcset=&#34;https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_143-1024x394.png 1024w, https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_143-300x115.png 300w, https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_143-768x295.png 768w, https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_143-604x232.png 604w, https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_143.png 1162w&#34; sizes=&#34;(max-width: 640px) 100vw, 640px&#34; /&gt; 
&lt;p&gt;Auf der nächsten Seite geben wir der DNSBL Gruppe einen Namen und fügen und &lt;em&gt;DNSBL Source Definitions&lt;/em&gt; unseren Feed (oder mehrere) hinzu.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Name: StevenBlack&lt;/li&gt;
&lt;li&gt;State: ON&lt;/li&gt;
&lt;li&gt;Source: &lt;a href=&#34;https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/gambling/hosts&#34;&gt;https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/gambling/hosts&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Header / Label: Glückspiel&lt;/li&gt;
&lt;li&gt;Action: Unbound&lt;/li&gt;
&lt;li&gt;Update Frequency: Once a day&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Mit „&lt;em&gt;Save&lt;/em&gt;“ schließen wir den Vorgang ab.&lt;/p&gt;
&lt;img loading=&#34;lazy&#34; decoding=&#34;async&#34; class=&#34;aligncenter size-large wp-image-3041&#34; src=&#34;https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_146-1024x568.png&#34; alt=&#34;Custom Feed&#34; width=&#34;640&#34; height=&#34;355&#34; srcset=&#34;https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_146-1024x568.png 1024w, https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_146-300x166.png 300w, https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_146-768x426.png 768w, https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_146-487x270.png 487w, https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_146-1038x576.png 1038w, https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_146.png 1165w&#34; sizes=&#34;(max-width: 640px) 100vw, 640px&#34; /&gt; 
&lt;h3 id=&#34;whitelists&#34;&gt;Whitelists&lt;/h3&gt;
&lt;p&gt;Wenn eine Domain nicht geblockt werden soll, muss man sie unter &lt;em&gt;DNSBL → DNSBL Whitelist&lt;/em&gt; in die Whiteliste aufnehmen. Wenn man einen Punkt („.“) vor den Domainnamen setzt, werden auch alle Subdomains freigeschaltet, sonst nur genau die (Sub)Domain, die man eingetragen hat.&lt;/p&gt;
&lt;img loading=&#34;lazy&#34; decoding=&#34;async&#34; class=&#34;aligncenter size-large wp-image-3042&#34; src=&#34;https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_147-1024x505.png&#34; alt=&#34;DNSBL whitelist&#34; width=&#34;640&#34; height=&#34;316&#34; srcset=&#34;https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_147-1024x505.png 1024w, https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_147-300x148.png 300w, https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_147-768x379.png 768w, https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_147-548x270.png 548w, https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_147.png 1152w&#34; sizes=&#34;(max-width: 640px) 100vw, 640px&#34; /&gt; 
&lt;h3 id=&#34;safesearch&#34;&gt;SafeSearch&lt;/h3&gt;
&lt;p&gt;Unter &lt;em&gt;DNSBL → DNSBL SafeSearch&lt;/em&gt; kann man SafeSearch für die bekanntesten Suchmaschinen einstellen. Weiterhin können wir auch noch DNS over HTTPS von Firefox blockieren sowie Beschränkungen für Youtube einstellen.&lt;/p&gt;
&lt;img loading=&#34;lazy&#34; decoding=&#34;async&#34; class=&#34;aligncenter size-large wp-image-3043&#34; src=&#34;https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_148-1024x315.png&#34; alt=&#34;DNSBL SafeSearch&#34; width=&#34;640&#34; height=&#34;197&#34; srcset=&#34;https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_148-1024x315.png 1024w, https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_148-300x92.png 300w, https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_148-768x236.png 768w, https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_148-604x186.png 604w, https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_148.png 1163w&#34; sizes=&#34;(max-width: 640px) 100vw, 640px&#34; /&gt; 
&lt;h2 id=&#34;pfsense-als-dns-server-erzwingen&#34;&gt;pfSense als DNS Server erzwingen&lt;/h2&gt;
&lt;p&gt;Damit auch alle Anfragen in unserem Netzwerk durch pfBlockerNG gefiltert werden, müssen wir verhindern, dass jemand im Netzwerk einen anderen DNS-Server als den DNS-Server von pfSense verwendet. Dazu erstellen wir 2 Regeln für die LAN-Schnittstelle (&lt;a href=&#34;https://docs.netgate.com/pfsense/en/latest/recipes/dns-block-external.html&#34;&gt;mehr Details hier&lt;/a&gt;):&lt;/p&gt;
&lt;img loading=&#34;lazy&#34; decoding=&#34;async&#34; class=&#34;aligncenter size-large wp-image-3044&#34; src=&#34;https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_149-1024x69.png&#34; alt=&#34;DNS Regel&#34; width=&#34;640&#34; height=&#34;43&#34; srcset=&#34;https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_149-1024x69.png 1024w, https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_149-300x20.png 300w, https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_149-768x52.png 768w, https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_149-604x41.png 604w, https://zefanjas.de/wp-content/uploads/2020/10/Auswahl_149.png 1162w&#34; sizes=&#34;(max-width: 640px) 100vw, 640px&#34; /&gt; 
&lt;h2 id=&#34;fazit&#34;&gt;Fazit&lt;/h2&gt;
&lt;p&gt;pfBlockerNG ist ein tolles &lt;a href=&#34;https://zefanjas.de/die-5-besten-open-source-anwendungen-fuer-eine-schule/&#34;&gt;Open Source Projekt&lt;/a&gt;. Es hilft Werbung, unerwünschte Inhalte und ganze Netzbereiche zu &lt;a href=&#34;https://zefanjas.de/pfsense-webfilter-squidguard-fuer-https-verbindungen/&#34;&gt;filtern&lt;/a&gt;. Egal ob IPs oder DNS-Blocklisten – mit pfBlockerNG kann man beides verwalten und so konfigurieren, wie man es für sein Netzwerk haben möchte. Es gibt aber auch Alternativen für pfBlockerNG, z.B. &lt;a href=&#34;https://pi-hole.net/&#34;&gt;pi-hole&lt;/a&gt;, welches sich gut auf einem Raspberry Pi oder in einer VM bzw. Container installieren lässt. Unter Strich bleibt, dass ein werbefreies Netzwerk möglich ist!&lt;/p&gt;
&lt;p style=&#34;text-align: center;&#34;&gt;
  &lt;strong&gt;Nutzt du pfBlockerNG oder pi-hole in deinem (Schul)Netzwerk?&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Die 5 besten Open Source Anwendungen für eine Schule</title>
      <link>https://zefanjas.de/die-5-besten-open-source-anwendungen-fuer-eine-schule/</link>
      <pubDate>Fri, 09 Oct 2020 00:39:51 +0000</pubDate>
      
      <guid>https://zefanjas.de/die-5-besten-open-source-anwendungen-fuer-eine-schule/</guid>
      <description>&lt;p&gt;Seit vielen Jahren setzen wir stark auf Open Source Anwendungen in unserer Schule – auf dem Server, aber auch auf den Computern und Laptops. Vor allem im Serverbereich ist Open Source Software weit verbreitet und es gibt viele tolle Softwareprojekte, die sich wunderbar in einer Schule einsetzen lassen. Heute möchte ich deshalb meine 5 Favoriten vorstellen.&lt;/p&gt;
&lt;h2 id=&#34;koha&#34;&gt;Koha&lt;/h2&gt;
&lt;img loading=&#34;lazy&#34; decoding=&#34;async&#34; class=&#34;size-full wp-image-3008 alignnone&#34; src=&#34;https://zefanjas.de/wp-content/uploads/2020/10/index.png&#34; alt=&#34;koha&#34; width=&#34;420&#34; height=&#34;120&#34; srcset=&#34;https://zefanjas.de/wp-content/uploads/2020/10/index.png 420w, https://zefanjas.de/wp-content/uploads/2020/10/index-300x86.png 300w&#34; sizes=&#34;(max-width: 420px) 100vw, 420px&#34; /&gt; 
&lt;p&gt;&lt;a href=&#34;http://koha-community.org/&#34;&gt;Koha&lt;/a&gt; ist ein integriertes Bibliothekssystem. Es wird weltweit in öffentlichen, Schul- und anderen Bibliotheken eingesetzt. Auch wir haben vor ca. 5 Jahren unsere Bibliothek auf diese Software umgestellt. &lt;a href=&#34;https://zefanjas.de/tag/koha/&#34;&gt;Koha&lt;/a&gt; bringt sehr viele Features mit und ist flexibel in der Konfiguration. Der Einstieg ist, wenn man nicht gerade vom Fach ist, etwas steil, aber man wird dafür mit einem tollen System belohnt. Wer mehr über Koha und den Einsatz in Schulen erfahren möchte, sollte sich diese &lt;a href=&#34;https://zefanjas.de/wie-man-koha-installiert-und-fuer-schulen-einrichtet-teil-1/&#34;&gt;kleine Blog-Post Serie&lt;/a&gt; anschauen.&lt;/p&gt;
&lt;h2 id=&#34;xcp-ng--lxd&#34;&gt;xcp-ng / LXD&lt;/h2&gt;
&lt;img loading=&#34;lazy&#34; decoding=&#34;async&#34; class=&#34;alignnone size-thumbnail wp-image-3011&#34; src=&#34;https://zefanjas.de/wp-content/uploads/2020/10/XCP-ng-logo-150x150.png&#34; alt=&#34;xcp-ng&#34; width=&#34;150&#34; height=&#34;150&#34; srcset=&#34;https://zefanjas.de/wp-content/uploads/2020/10/XCP-ng-logo-150x150.png 150w, https://zefanjas.de/wp-content/uploads/2020/10/XCP-ng-logo.png 200w&#34; sizes=&#34;(max-width: 150px) 100vw, 150px&#34; /&gt; 
&lt;p&gt;Mein nächster Favorit betrifft die Serverinfrastruktur. Wer eigene Server in der Schule betreibt, muss sich mit der Frage beschäftigen, welchen Hypervisor er einsetzen will. Die Auswahl ist groß und man kann zwischen einigen Open Source Optionen wählen. Wir haben uns vor Jahren für xcp-ng entschieden (aus XenServer hervorgegangen). Dazu setzen wir &lt;a href=&#34;https://zefanjas.de/xen-orchestra-installieren-und-aktualisieren-vollversion/&#34;&gt;XenOrchestra&lt;/a&gt; ein, um die Server zu verwalten. Mit &lt;a href=&#34;http://xcp-ng.org/&#34;&gt;xcp-ng&lt;/a&gt; verwalten wir unsere virtuellen Maschinen.&lt;/p&gt;
&lt;p&gt;Die meisten unserer (Web)Anwendungen laufen aber in Linuxcontainern. Dafür verwenden wir &lt;a href=&#34;https://linuxcontainers.org/lxd/introduction/&#34;&gt;LXD&lt;/a&gt; – ein Container-Hypervisor. LXD bringt mit lxc einen sehr einfach zu bedienende Anwendung mit, um Container zu erstellen, Backups zu erstellen, usw. Der große Vorteil von Linuxcontainern ist für mich, dass ich sie genauso wie eine virtuelle Maschine verwalten, konfigurieren und administrieren kann. Dafür sind sie wesentlich ressourcensparender als eine VM. Seit dem 4.0 Release kann man sogar „richtige“ VMs mit &lt;a href=&#34;http://zefanjas.de/tag/lxd&#34;&gt;LXD&lt;/a&gt; erstellen und verwalten!&lt;/p&gt;
&lt;h2 id=&#34;pfsense&#34;&gt;pfSense&lt;/h2&gt;
&lt;img loading=&#34;lazy&#34; decoding=&#34;async&#34; class=&#34;alignnone wp-image-3012 size-medium&#34; src=&#34;https://zefanjas.de/wp-content/uploads/2020/10/PfSense_logo-300x88.png&#34; alt=&#34;pfsense&#34; width=&#34;300&#34; height=&#34;88&#34; srcset=&#34;https://zefanjas.de/wp-content/uploads/2020/10/PfSense_logo-300x88.png 300w, https://zefanjas.de/wp-content/uploads/2020/10/PfSense_logo-1024x301.png 1024w, https://zefanjas.de/wp-content/uploads/2020/10/PfSense_logo-768x226.png 768w, https://zefanjas.de/wp-content/uploads/2020/10/PfSense_logo-1536x452.png 1536w, https://zefanjas.de/wp-content/uploads/2020/10/PfSense_logo-2048x602.png 2048w, https://zefanjas.de/wp-content/uploads/2020/10/PfSense_logo-604x178.png 604w&#34; sizes=&#34;(max-width: 300px) 100vw, 300px&#34; /&gt; 
&lt;p&gt;Für mich ist &lt;a href=&#34;http://pfsense.org/&#34;&gt;pfSense&lt;/a&gt; eines der besten Open Source Firewall Systeme. &lt;a href=&#34;https://zefanjas.de/tag/pfsense/&#34;&gt;PfSense&lt;/a&gt; kann man einfach installieren und benutzen und läuft seit Jahren sehr stabil in unserem Netzwerk. Mit &lt;a href=&#34;https://docs.netgate.com/pfsense/en/latest/packages/pfblocker.html&#34;&gt;pfBlockerNG&lt;/a&gt; hat man zusätzlich ein sehr mächtiges Werkzeug, um Werbung, Malwareseiten u.v.a. aus dem Netzwerk fernzuhalten (Webfilter auf DNS Basis).&lt;/p&gt;
&lt;h2 id=&#34;linuxmusternet&#34;&gt;linuxmuster.net&lt;/h2&gt;
&lt;img loading=&#34;lazy&#34; decoding=&#34;async&#34; class=&#34;alignnone size-medium wp-image-3013&#34; src=&#34;https://zefanjas.de/wp-content/uploads/2020/10/logo-linuxmuster-color-rgb-positiv-300x52.png&#34; alt=&#34;linuxmuster.net&#34; width=&#34;300&#34; height=&#34;52&#34; srcset=&#34;https://zefanjas.de/wp-content/uploads/2020/10/logo-linuxmuster-color-rgb-positiv-300x52.png 300w, https://zefanjas.de/wp-content/uploads/2020/10/logo-linuxmuster-color-rgb-positiv-768x133.png 768w, https://zefanjas.de/wp-content/uploads/2020/10/logo-linuxmuster-color-rgb-positiv-604x105.png 604w, https://zefanjas.de/wp-content/uploads/2020/10/logo-linuxmuster-color-rgb-positiv.png 1016w&#34; sizes=&#34;(max-width: 300px) 100vw, 300px&#34; /&gt; 
&lt;p&gt;Über &lt;a href=&#34;http://linuxmuster.net/&#34;&gt;linuxmuster.net&lt;/a&gt; habe ich schon oft in diesem Blog geschrieben. &lt;a href=&#34;https://zefanjas.de/tag/linuxmuster/&#34;&gt;Linuxmuster.net&lt;/a&gt; ist eine Open Source Schulserverlösung, mit der man Benutzer (Lehrkräfte, Schüler/innen) und Schulcomputer einfach verwalten kann. LINBO, ein Werkzeug von linuxmuster.net, ist für mich eines der wichtigsten Features, denn damit kann ich alle Schulcomputer mit nur einem Image verwalten, auch wenn sie unterschiedliche Konfigurationen haben.&lt;/p&gt;
&lt;h2 id=&#34;nextcloud&#34;&gt;Nextcloud&lt;/h2&gt;
&lt;img loading=&#34;lazy&#34; decoding=&#34;async&#34; class=&#34;alignnone size-medium wp-image-3014&#34; src=&#34;https://zefanjas.de/wp-content/uploads/2020/10/Nextcloud_Logo.svg_-300x213.png&#34; alt=&#34;nextcloud&#34; width=&#34;300&#34; height=&#34;213&#34; srcset=&#34;https://zefanjas.de/wp-content/uploads/2020/10/Nextcloud_Logo.svg_-300x213.png 300w, https://zefanjas.de/wp-content/uploads/2020/10/Nextcloud_Logo.svg_-1024x726.png 1024w, https://zefanjas.de/wp-content/uploads/2020/10/Nextcloud_Logo.svg_-768x544.png 768w, https://zefanjas.de/wp-content/uploads/2020/10/Nextcloud_Logo.svg_-381x270.png 381w, https://zefanjas.de/wp-content/uploads/2020/10/Nextcloud_Logo.svg_.png 1280w&#34; sizes=&#34;(max-width: 300px) 100vw, 300px&#34; /&gt; 
&lt;p&gt;&lt;a href=&#34;https://nextcloud.com/&#34;&gt;Nextcloud&lt;/a&gt; darf in dieser Liste nicht fehlen. Gerade in den letzten Monaten sind eine Menge neuer Features dazugekommen, die auch im Schulumfeld sehr nützlich sind. Nextcloud ist dabei weit mehr, als nur eine gemeinsame Dateiablage. Durch die vielen Erweiterungen kann man Nextcloud sehr an die individuellen Bedürfnisse anpassen. Egal ob Online Office Suite, Videokonferenz oder einfach nur ein gemeinsamer Kalender – vieles ist mit Nextcloud möglich.&lt;/p&gt;
&lt;h2 id=&#34;bonus-zammad&#34;&gt;Bonus: Zammad&lt;/h2&gt;
&lt;img loading=&#34;lazy&#34; decoding=&#34;async&#34; class=&#34;alignnone size-medium wp-image-3015&#34; src=&#34;https://zefanjas.de/wp-content/uploads/2020/10/zammad-300x83.png&#34; alt=&#34;zammad&#34; width=&#34;300&#34; height=&#34;83&#34; srcset=&#34;https://zefanjas.de/wp-content/uploads/2020/10/zammad-300x83.png 300w, https://zefanjas.de/wp-content/uploads/2020/10/zammad-1024x285.png 1024w, https://zefanjas.de/wp-content/uploads/2020/10/zammad-768x214.png 768w, https://zefanjas.de/wp-content/uploads/2020/10/zammad-1536x427.png 1536w, https://zefanjas.de/wp-content/uploads/2020/10/zammad-2048x570.png 2048w, https://zefanjas.de/wp-content/uploads/2020/10/zammad-604x168.png 604w&#34; sizes=&#34;(max-width: 300px) 100vw, 300px&#34; /&gt; 
&lt;p&gt;Noch eine kleine Bonusempfehlung am Ende: Zammad. In den letzten Jahren haben wir verschiedene Service Desk / Helpdesk Anwendungen ausprobiert. Letztendlich sind wir bei Zammad gelandet und es gefällt uns sehr gut. Wie auch alle anderen Empfehlungen hier, bringt es viele nette Features mit. Es lässt sich gut in die bestehende Infrastruktur integrieren und man kann über viele verschiedene Kanäle Tickets erstellen (Soziale Netzwerke, eMail, Chat, …).&lt;/p&gt;
&lt;h2 id=&#34;fazit&#34;&gt;Fazit&lt;/h2&gt;
&lt;p&gt;Die Liste hier könnte man noch beliebig erweitern. Gerade für den Infrastrukturbereich gibt es eine große Menge an Open Source Anwendungen. Allein diese Liste spricht für sich: &lt;a href=&#34;https://github.com/awesome-selfhosted/awesome-selfhosted&#34;&gt;https://github.com/awesome-selfhosted/awesome-selfhosted&lt;/a&gt;. &lt;a href=&#34;https://moodle.org/&#34;&gt;Moodle&lt;/a&gt; oder &lt;a href=&#34;https://mahara.org/&#34;&gt;Mahara&lt;/a&gt; sollten eigentlich auch noch mit aufgenommen werden, aber damit haben wir bisher kaum Erfahrung sammeln können.&lt;/p&gt;
&lt;p style=&#34;text-align: center;&#34;&gt;
  &lt;strong&gt;Welche Open Source Anwendungen gehören zu deinen Favoriten, die in keiner Schule fehlen sollten?&lt;/strong&gt;
&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>WLAN Access Point mit pfSense verbinden</title>
      <link>https://zefanjas.de/pfsense-wlan-access-point/</link>
      <pubDate>Tue, 15 Jan 2019 13:36:39 +0000</pubDate>
      
      <guid>https://zefanjas.de/pfsense-wlan-access-point/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://zefanjas.de/tag/pfsense/&#34;&gt;pfSense&lt;/a&gt; ist eine Open Source Firewalllösung, die man gut zu Hause, in der Schule oder in einem Unternehmen einsetzen kann (siehe &lt;a href=&#34;https://zefanjas.de/pfsense-installieren/&#34;&gt;Installation + Hardwareempfehlungen&lt;/a&gt;). In den meisten Fällen möchte man Clients nicht ausschließlich per Netzwerkkabel verbinden, sondern auch kabellos. Am einfachsten geht es, wenn man dazu einen WLAN Access Point an die Firewall mit anschließt, die sich um die kabellosen Geräte kümmert (z.B. Smartphones).&lt;/p&gt;
&lt;h2 id=&#34;aufbau-des-setups&#34;&gt;Aufbau des Setups&lt;/h2&gt;
&lt;p&gt;Ein Bild sagt bekanntlich mehr als 1000 Worte:&lt;/p&gt;
&lt;img loading=&#34;lazy&#34; decoding=&#34;async&#34; class=&#34;aligncenter size-full wp-image-2861&#34; src=&#34;https://zefanjas.de/wp-content/uploads/2019/01/pfSense-AP-Setup-1.png&#34; alt=&#34;pfSense AP Setup&#34; width=&#34;706&#34; height=&#34;375&#34; srcset=&#34;https://zefanjas.de/wp-content/uploads/2019/01/pfSense-AP-Setup-1.png 706w, https://zefanjas.de/wp-content/uploads/2019/01/pfSense-AP-Setup-1-300x159.png 300w, https://zefanjas.de/wp-content/uploads/2019/01/pfSense-AP-Setup-1-508x270.png 508w&#34; sizes=&#34;(max-width: 706px) 100vw, 706px&#34; /&gt; 
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Die LAN-Schnittstelle von pfSense verbindet man mit einem Switch, an dem man dann den Access Point und weitere kabelgebundene Clients anschließen kann.&lt;/p&gt;
&lt;h2 id=&#34;access-point-einrichten&#34;&gt;Access Point einrichten&lt;/h2&gt;
&lt;p&gt;Nachdem der Access Point angeschlossen ist (in unserem Beispiel ein Access Point von tp-link), muss er noch eingerichtet werden. Jeder Access Point bringt meistens auch ein Webinterface mit, über dass man Einstellungen vornehmen kann. Die IP-Adresse des Access Point findet man in pfSense unter &lt;em&gt;&lt;strong&gt;Status → DHCP-Leases&lt;/strong&gt;&lt;/em&gt; heraus.&lt;/p&gt;
&lt;img loading=&#34;lazy&#34; decoding=&#34;async&#34; class=&#34;aligncenter size-full wp-image-2858&#34; src=&#34;https://zefanjas.de/wp-content/uploads/2019/01/Auswahl_242.png&#34; alt=&#34;pfsense dhcp leases&#34; width=&#34;1159&#34; height=&#34;429&#34; srcset=&#34;https://zefanjas.de/wp-content/uploads/2019/01/Auswahl_242.png 1159w, https://zefanjas.de/wp-content/uploads/2019/01/Auswahl_242-300x111.png 300w, https://zefanjas.de/wp-content/uploads/2019/01/Auswahl_242-768x284.png 768w, https://zefanjas.de/wp-content/uploads/2019/01/Auswahl_242-1024x379.png 1024w, https://zefanjas.de/wp-content/uploads/2019/01/Auswahl_242-604x224.png 604w&#34; sizes=&#34;(max-width: 1159px) 100vw, 1159px&#34; /&gt; 
&lt;p&gt;Nun kann man auf das Webinterface des Access Point zugreifen.&lt;/p&gt;
&lt;img loading=&#34;lazy&#34; decoding=&#34;async&#34; class=&#34;aligncenter size-full wp-image-2859&#34; src=&#34;https://zefanjas.de/wp-content/uploads/2019/01/Auswahl_243.png&#34; alt=&#34;accesspoint login&#34; width=&#34;530&#34; height=&#34;425&#34; srcset=&#34;https://zefanjas.de/wp-content/uploads/2019/01/Auswahl_243.png 530w, https://zefanjas.de/wp-content/uploads/2019/01/Auswahl_243-300x241.png 300w, https://zefanjas.de/wp-content/uploads/2019/01/Auswahl_243-337x270.png 337w&#34; sizes=&#34;(max-width: 530px) 100vw, 530px&#34; /&gt; 
&lt;p&gt;Nach dem Login (bei tp-link ist der Standardbenutzername und das Passwort &lt;em&gt;admin&lt;/em&gt;) richtet man unter &lt;em&gt;Quick Setup&lt;/em&gt; alle wichtigen Einstellungen ein:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;Change the login account&lt;/em&gt; → &lt;strong&gt;Ja&lt;/strong&gt; (neuer Benutzername und Passwort festlegen)&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Please select the proper operation mode according to your needs&lt;/em&gt; → &lt;strong&gt;Access Point&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Access AP Mode Settings&lt;/em&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;Wireless Network Name(SSID)&lt;/em&gt; → &lt;strong&gt;Name des WLAN-Netzes&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Channel&lt;/em&gt; → &lt;strong&gt;Auto&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Wireless Security Mode&lt;/em&gt; → &lt;strong&gt;WPA2-PSK&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Wireless Password&lt;/em&gt; → &lt;strong&gt;WLAN Passwort&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Type&lt;/em&gt; → &lt;strong&gt;Static IP&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;IP Address → &lt;strong&gt;eine IP Adresse aus dem LAN auswählen, z.B. 10.10.10.253&lt;/strong&gt;&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;DHCP Server &lt;strong&gt;→&lt;/strong&gt;&lt;/em&gt; &lt;strong&gt;Disable&lt;/strong&gt; (Da pfSense sich um die IP-Adressen kümmert).&lt;/li&gt;
&lt;/ul&gt;
&lt;img loading=&#34;lazy&#34; decoding=&#34;async&#34; class=&#34;aligncenter size-full wp-image-2860&#34; src=&#34;https://zefanjas.de/wp-content/uploads/2019/01/Auswahl_244.png&#34; alt=&#34;access point dhcp &#34; width=&#34;595&#34; height=&#34;343&#34; srcset=&#34;https://zefanjas.de/wp-content/uploads/2019/01/Auswahl_244.png 595w, https://zefanjas.de/wp-content/uploads/2019/01/Auswahl_244-300x173.png 300w, https://zefanjas.de/wp-content/uploads/2019/01/Auswahl_244-468x270.png 468w&#34; sizes=&#34;(max-width: 595px) 100vw, 595px&#34; /&gt; 
&lt;h3 id=&#34;fazit&#34;&gt;Fazit&lt;/h3&gt;
&lt;p&gt;Es gibt zwar auch Mini-Computer und -router für pfSense, die einen WLAN-Chip mitbringen, doch kann man davon nur sehr wenige im Access Point-Modus betreiben. Meistens unterstützen sie nur den Client-Mode, d.h. man kann sich damit mit einem WLAN-Netz verbinden, aber selbst keines aufspannen. PfSense unterstützt nur wenige Karten im Access Point-Modus. Eine Übersicht &lt;a href=&#34;https://docs.google.com/spreadsheets/d/11cF4UoNL68Me5ZC6qhjFPmzdW7mib56dBIAKz30Qpug/edit#gid=0&#34;&gt;findet man hier&lt;/a&gt;. Schlussendlich ist es IMHO deutlich einfacher einen Access Point mit pfSense zu verbinden statt den richtigen WLAN Chip zu finden.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>pfSense installieren</title>
      <link>https://zefanjas.de/pfsense-installieren/</link>
      <pubDate>Sat, 15 Dec 2018 07:17:10 +0000</pubDate>
      
      <guid>https://zefanjas.de/pfsense-installieren/</guid>
      <description>&lt;p&gt;[pfSense][1] gehört zu den am weitesten verbreiteten Open Source Firewalllösungen. Wir setzen sie seit einigen Jahren bei uns in der Schule ein und sind sehr zufrieden damit, weil sie einfach [viele Features][2] bietet, für die man woanders viel Geld hinlegen muss. Heute möchte ich deshalb zeigen wie man pfSense installieren und grundlegend einrichten kann. Davor möchte ich kurz auf verschiedene Hardware eingehen, die für den Betrieb von pfSense geeignet ist.&lt;/p&gt;
&lt;h2 id=&#34;welche-hardware-brauche-ich&#34;&gt;Welche Hardware brauche ich?&lt;/h2&gt;
&lt;p&gt;Allgemein kann man sagen, dass man für den Betrieb von pfSense theoretisch jeden Rechner nehmen kann, der mindestens zwei Netzwerkkarten hat. Das kann z.B. ein alter Computer sein, welchen man nicht mehr braucht und mit einer zweiten Netzwerkkarte ausstattet. Aber oft ist ein alter Rechner nicht sehr stromsparend und andere Alternativen sind angebrachter. Neben dem Stromverbrauch spielt vor allem der Einsatzzweck eine entscheidende Rolle. Es macht einen Unterschied, ob ich die Firewall zu Hause mit wenigen Benutzern einsetze oder in einer Schule oder einem Unternehmen mit wesentlich mehr Zugriffen.&lt;/p&gt;
&lt;p&gt;Für den Heimgebrauch beliebt sind die APU2C4 Board von PC Engine, aber auch Kleinstrechner von Qotom (v.a. im asiatischen Raum). Für eine Schule oder Unternehmen ist – je nach Anforderung – ein Board mit mindestens 4 Netzwerkkarten zu empfehlen. Wir verwenden z.B. eine SG-4860 von Netgate. Wenn man bei Amazon oder AliExpress nach pfSense sucht, findet man viele Angebote. Wichtig ist nur, dass die CPU AES-NI unterstützt, da dieses Feature von pfSense in zukünftigen Versionen unbedingt nötig sein wird.&lt;/p&gt;
&lt;p&gt;Auf der Website des pfSense Projekt gibt es noch ein paar [allgemeine Hinweise][3] zu den Hardwareanforderungen:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Minimal → 512MB RAM, 500 Mhz CPU&lt;/li&gt;
&lt;li&gt;Empfohlen → 1GB RAM, 1Ghz CPU&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Auch die verfügbare Bandbreite sollte bei der Hardwareauswahl berücksichtigt werden, da ansonsten pfSense zum Flaschenhals werden könnte.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;10-20 Mbps → Intel oder AMD CPU mit mindestens 500MHz.&lt;/li&gt;
&lt;li&gt;21-100 Mbps → aktuelle Intel oder AMD CPU mit 1Ghz&lt;/li&gt;
&lt;li&gt;101-500 Mbps → aktuelle Intel oder AMD CPU mit mindestens 2 Ghz und einer PCI-e Netzwarkkarte&lt;/li&gt;
&lt;li&gt;501+ Mbps → Serverhardware mit Mehrkern-CPUs mit jeweils mindestens 2 Ghz, PCI-e Netzwerkkarte&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;pfsense-installation-vorbereiten&#34;&gt;pfSense Installation vorbereiten&lt;/h2&gt;
&lt;h3 id=&#34;image-herunterladen&#34;&gt;Image herunterladen&lt;/h3&gt;
&lt;p&gt;Bevor man mit der Installation beginnt, muss man wissen, welches pfSense Image man braucht. Das hängt z.B. davon ab, ob die verwendete Hardware einen VGA/HDMI Ausgang hat oder nur einen serielle Konsole. Oder ob man per CD, USB-Stick oder direkt auf die Festplatte installieren möchte. Deshalb möchte ich hier ein paar Hinweise geben:&lt;/p&gt;
&lt;p&gt;Architektur:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Netgate ADI braucht man nur, wenn man auch ein Netgate Produkt verwendet.&lt;/li&gt;
&lt;li&gt;AMD64 für alles andere (Intel / AMD 64bit CPU)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Art des Image&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;USB Memstick Installer wird für die Installation mit einem USB-Stick benötigt&lt;/li&gt;
&lt;li&gt;CD Image (ISO) Installer wird für die Installation mit einer CD gebraucht oder für virtuelle Maschinen&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Konsole&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;seriell – wenn nur eine Serielle Schnittstelle verfügbar ist (USB oder RS-232)&lt;/li&gt;
&lt;li&gt;VGA – wenn die verwendete Hardware einen VGA/DVI oder HDMI Ausgang hat.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Wenn man weiß, welches Image man braucht, kann man es von der [pfSense-Website][4] herunterladen.&lt;/p&gt;
&lt;img loading=&#34;lazy&#34; decoding=&#34;async&#34; class=&#34;aligncenter size-full wp-image-2827&#34; src=&#34;https://zefanjas.de/wp-content/uploads/2018/12/Auswahl_225.png&#34; alt=&#34;pfSense Download&#34; width=&#34;562&#34; height=&#34;509&#34; srcset=&#34;https://zefanjas.de/wp-content/uploads/2018/12/Auswahl_225.png 562w, https://zefanjas.de/wp-content/uploads/2018/12/Auswahl_225-300x272.png 300w, https://zefanjas.de/wp-content/uploads/2018/12/Auswahl_225-298x270.png 298w&#34; sizes=&#34;(max-width: 562px) 100vw, 562px&#34; /&gt; 
&lt;h3 id=&#34;usb-stick-vorbereiten&#34;&gt;USB-Stick vorbereiten&lt;/h3&gt;
&lt;p&gt;Die Dokumentation von pfSense enthält viele [Informationen zur Vorbereitung][5] eines USB-Sticks. In unserem Beispiel gehen wir von einen USB Memstick VGA Installer aus. Zuerst sollte man den USB-Stick formatieren oder leeren. Das geht unter Linux sehr einfach mit&lt;/p&gt;
&lt;pre class=&#34;&#34;&gt;$ sudo dd if=/dev/zero of=/dev/sdz bs=1M count=1
```

&gt; **Hinweis: Unbedingt darauf achten, welches Gerät man hinter of=/dev/ angibt. Ansonsten kann es passieren, dass man seine Hauptpartition leert und somit Daten unwiederbringlich verloren sind!** Um den Gerätenamen herauszufinden, steckt man am besten den USB-Stick an und führt danach `dmesg` in einem Terminal aus. Dann sieht man, welches Gerätenamen der USB-Stick bekommen hat (oft ist es _/dev/sdb_).

Anleitungen zum Leeren eines USB-Sticks unter Windows oder macOS finden sich in der oben verlinkten Dokumentation.

Nun kann man als nächstes das heruntergeladene Image auf den USB-Stick schreiben.

&lt;pre class=&#34;&#34;&gt;$ gzip -dc pfSense-memstick-2.4.4-RELEASE-amd64.img.gz | sudo dd of=/dev/sdz bs=1M
$ sync
```

Der USB-Stick ist nun fertig vorbereitet. Als nächstes bootet man von diesem USB-Stick und kann die Installation beginnen. Je nach BIOS wird der Stick als USB-Gerät oder weitere Festplatte erkannt. Die Bootreihenfolge muss oft geändert werden, damit nicht von der 1. Festplatte gebootet wird. Die [Dokumentation][6] liefert auch einige Ideen, falls das Booten nicht klappen sollte.

## pfSense installieren

Nach dem erfolgreichen Booten erscheint der Willkommensbildschirm von pfSense.

&lt;img loading=&#34;lazy&#34; decoding=&#34;async&#34; class=&#34;aligncenter size-full wp-image-2834&#34; src=&#34;https://zefanjas.de/wp-content/uploads/2018/12/pfSense-2.4-wird-ausgeführt-Oracle-VM-VirtualBox_227.png&#34; alt=&#34;pfsense welcome&#34; width=&#34;720&#34; height=&#34;400&#34; srcset=&#34;https://zefanjas.de/wp-content/uploads/2018/12/pfSense-2.4-wird-ausgeführt-Oracle-VM-VirtualBox_227.png 720w, https://zefanjas.de/wp-content/uploads/2018/12/pfSense-2.4-wird-ausgeführt-Oracle-VM-VirtualBox_227-300x167.png 300w, https://zefanjas.de/wp-content/uploads/2018/12/pfSense-2.4-wird-ausgeführt-Oracle-VM-VirtualBox_227-486x270.png 486w&#34; sizes=&#34;(max-width: 720px) 100vw, 720px&#34; /&gt; 

Hier wählt man &amp;#8222;_Install_&amp;#8222;. Im nächsten Dialog kann man das Keyboard Layout festlegen. Für die Partitionierung nimmt man am besten &amp;#8222;_Auto (UFS)_&amp;#8220; und bestätigt wieder mit Enter.

&lt;img loading=&#34;lazy&#34; decoding=&#34;async&#34; class=&#34;aligncenter size-full wp-image-2835&#34; src=&#34;https://zefanjas.de/wp-content/uploads/2018/12/pfSense-2.4-wird-ausgeführt-Oracle-VM-VirtualBox_229.png&#34; alt=&#34;pfSense partitioning&#34; width=&#34;720&#34; height=&#34;400&#34; srcset=&#34;https://zefanjas.de/wp-content/uploads/2018/12/pfSense-2.4-wird-ausgeführt-Oracle-VM-VirtualBox_229.png 720w, https://zefanjas.de/wp-content/uploads/2018/12/pfSense-2.4-wird-ausgeführt-Oracle-VM-VirtualBox_229-300x167.png 300w, https://zefanjas.de/wp-content/uploads/2018/12/pfSense-2.4-wird-ausgeführt-Oracle-VM-VirtualBox_229-486x270.png 486w&#34; sizes=&#34;(max-width: 720px) 100vw, 720px&#34; /&gt; 

Danach startet die automatische Installation. Ist die Installation beendet, wird man noch gefragt, ob man eine Shell öffnen möchte (kann man verneinen). Zum Schluss muss man das System neu starten (&amp;#8222;_Reboot_&amp;#8222;). Beim anschließenden Start sollte man unbedingt darauf achten, dass nicht wieder vom USB-Stick gebootet wird, sondern von der Festplatte!

&lt;img loading=&#34;lazy&#34; decoding=&#34;async&#34; class=&#34;aligncenter size-full wp-image-2836&#34; src=&#34;https://zefanjas.de/wp-content/uploads/2018/12/pfSense-2.4-wird-ausgeführt-Oracle-VM-VirtualBox_232.png&#34; alt=&#34;pfsense complete&#34; width=&#34;720&#34; height=&#34;400&#34; srcset=&#34;https://zefanjas.de/wp-content/uploads/2018/12/pfSense-2.4-wird-ausgeführt-Oracle-VM-VirtualBox_232.png 720w, https://zefanjas.de/wp-content/uploads/2018/12/pfSense-2.4-wird-ausgeführt-Oracle-VM-VirtualBox_232-300x167.png 300w, https://zefanjas.de/wp-content/uploads/2018/12/pfSense-2.4-wird-ausgeführt-Oracle-VM-VirtualBox_232-486x270.png 486w&#34; sizes=&#34;(max-width: 720px) 100vw, 720px&#34; /&gt; 

&amp;nbsp;

## Netzwerk-Schnittstellen einrichten

### Netzwerkkarten zuweisen

Während des Neustarts versucht pfSense automatisch die WAN Schnittstelle zu konfigurieren. Die WAN Schnittstelle ist die Netzwerkkarte, die mit dem Router des Internetanbieters oder ganz allgemein mit dem Internet verbunden ist. Falls die automatische Konfiguration erfolgreich ist, erscheint das pfSense Konsolenmenü, ansonsten wird man mit einem Dialog begrüßt.

&lt;img loading=&#34;lazy&#34; decoding=&#34;async&#34; class=&#34;aligncenter size-full wp-image-2837&#34; src=&#34;https://zefanjas.de/wp-content/uploads/2018/12/pfSense-2.4-wird-ausgeführt-Oracle-VM-VirtualBox_233.png&#34; alt=&#34;pfSense menu&#34; width=&#34;720&#34; height=&#34;400&#34; srcset=&#34;https://zefanjas.de/wp-content/uploads/2018/12/pfSense-2.4-wird-ausgeführt-Oracle-VM-VirtualBox_233.png 720w, https://zefanjas.de/wp-content/uploads/2018/12/pfSense-2.4-wird-ausgeführt-Oracle-VM-VirtualBox_233-300x167.png 300w, https://zefanjas.de/wp-content/uploads/2018/12/pfSense-2.4-wird-ausgeführt-Oracle-VM-VirtualBox_233-486x270.png 486w&#34; sizes=&#34;(max-width: 720px) 100vw, 720px&#34; /&gt; 

Um die WAN und LAN Schnittstellen zu ändern, wählt man Nr. 1 &amp;#8222;_Assign Interfaces_&amp;#8222;. Nun muss man einige Fragen beantworten:

  * Should VLANs be set up now? → **n** (Nein)
  * Enter the WAN interface name or &amp;#8222;a&amp;#8220; for auto-detection → hier muss man den Namen der WAN Netzwerkkarte eingeben. Die MAC-Adressen werden zu Beginn des Dialog angezeigt. In unserem Bsp. heißt sie **em0**
  * Enter the LAN interface name or &amp;#8222;a&amp;#8220; for auto-detection → hier muss man den Namen der LAN Netzwerkkarte eingeben. In unserem Bsp. heißt sie **em1**
  * Do you want to proceed → **y** (Ja). Vorher wird noch eine kurze Zusammenfassung der Zuordnung angezeigt.

&lt;img loading=&#34;lazy&#34; decoding=&#34;async&#34; class=&#34;aligncenter size-full wp-image-2838&#34; src=&#34;https://zefanjas.de/wp-content/uploads/2018/12/pfSense-2.4-wird-ausgeführt-Oracle-VM-VirtualBox_234.png&#34; alt=&#34;pfsense assign interfaces&#34; width=&#34;720&#34; height=&#34;400&#34; srcset=&#34;https://zefanjas.de/wp-content/uploads/2018/12/pfSense-2.4-wird-ausgeführt-Oracle-VM-VirtualBox_234.png 720w, https://zefanjas.de/wp-content/uploads/2018/12/pfSense-2.4-wird-ausgeführt-Oracle-VM-VirtualBox_234-300x167.png 300w, https://zefanjas.de/wp-content/uploads/2018/12/pfSense-2.4-wird-ausgeführt-Oracle-VM-VirtualBox_234-486x270.png 486w&#34; sizes=&#34;(max-width: 720px) 100vw, 720px&#34; /&gt; 

### IP-Adressen festlegen

Falls an der WAN-Schnittstelle ein DHCP-Server läuft, sollte sie automatisch eine IP-Adresse bekommen haben. Falls nicht muss man sowohl für die WAN als auch die LAN Schnittstelle eine IP Adresse konfigurieren. Beispielhaft werde ich es hier für die LAN Schnittstelle zeigen. Dazu wählt man Nr. 2 &amp;#8222;_Set interface(s) IP address_&amp;#8220; aus.

  * Enter the number of the interface you wish to configure → **2** für die LAN Schnittstelle
  * Enter the new LAN IPv4 address→ z.B. **10.10.10.1** oder **10.10.10.1/24**
  * Wenn man im vorherigen Schritt keine Netzwerkmaske angegeben hat, muss man es jetzt tun: Enter the new LAN IPv4 subnet bit count (1 t0 31). → **24** (entspricht 255.255.255.0, d.h. 254 IP Adressen).
  * In der nächsten Frage muss ein Gateway festgelegt werden. Bei einer LAN Schnittstelle ist das nicht nötig, nur bei einer WAN Schnittstelle. → einfach **ENTER** (für None) drücken
  * Enter the new LAN IPv6 address. Press &lt;ENTER&gt; for none → **ENTER** (für keine)
  * Do you want to enable the DHCP server on LAN? → **y** (Ja), außer es gibt bereits einen DHCP-Server im LAN-Netz.
  * Enter the start address of the IPv4 client address range → **10.10.10.10** (erste IP Adresse, die ein Client im LAN Netz bekommen kann)
  * Enter the end address of the IPv4 client address range → **10.10.10.200** (letzte IP Adresse, die ein Client im LAN Netz bekommen kann)
  * Do you want to revert to HTTP as the webConfigurator protocol? → **n** (nein, soll HTTPS bleiben)

&lt;img loading=&#34;lazy&#34; decoding=&#34;async&#34; class=&#34;aligncenter size-full wp-image-2839&#34; src=&#34;https://zefanjas.de/wp-content/uploads/2018/12/pfSense-2.4-wird-ausgeführt-Oracle-VM-VirtualBox_235.png&#34; alt=&#34;pfsense LAN ip address&#34; width=&#34;720&#34; height=&#34;400&#34; srcset=&#34;https://zefanjas.de/wp-content/uploads/2018/12/pfSense-2.4-wird-ausgeführt-Oracle-VM-VirtualBox_235.png 720w, https://zefanjas.de/wp-content/uploads/2018/12/pfSense-2.4-wird-ausgeführt-Oracle-VM-VirtualBox_235-300x167.png 300w, https://zefanjas.de/wp-content/uploads/2018/12/pfSense-2.4-wird-ausgeführt-Oracle-VM-VirtualBox_235-486x270.png 486w&#34; sizes=&#34;(max-width: 720px) 100vw, 720px&#34; /&gt; 

## Weitere Einstellungen in der Weboberfläche

Mit einem Rechner, der ebenfalls LAN Netz ist, kann man unter https://10.10.10.1 auf Weboberfläche von pfSense zugreifen, um einige wenige Grundeinstellungen vorzunehmen. Beim ersten Mal erscheint eine Zertifikatswarnung. Da es sich um ein selbst signiertes Zertifikat für die HTTPS-Verbindung handelt, muss man es noch akzeptieren. Die Standardzugangsdaten sind _**admin**_ mit dem Passwort _**pfsense**_.

&lt;img loading=&#34;lazy&#34; decoding=&#34;async&#34; class=&#34;aligncenter size-full wp-image-2841&#34; src=&#34;https://zefanjas.de/wp-content/uploads/2018/12/Auswahl_236.png&#34; alt=&#34;pfsense login&#34; width=&#34;1083&#34; height=&#34;466&#34; srcset=&#34;https://zefanjas.de/wp-content/uploads/2018/12/Auswahl_236.png 1083w, https://zefanjas.de/wp-content/uploads/2018/12/Auswahl_236-300x129.png 300w, https://zefanjas.de/wp-content/uploads/2018/12/Auswahl_236-768x330.png 768w, https://zefanjas.de/wp-content/uploads/2018/12/Auswahl_236-1024x441.png 1024w, https://zefanjas.de/wp-content/uploads/2018/12/Auswahl_236-604x260.png 604w&#34; sizes=&#34;(max-width: 1083px) 100vw, 1083px&#34; /&gt; 

Nachdem Login wird man von einem Assistenten begrüßt. Im zweiten Schritt kann man der Firewall einen Hostname vergeben und die Domain eintragen. Weiterhin wichtig ist der primäre und Sekundäre DNS Server und ob der DNS-Server per DHCP an der WAN-Schnittstelle überschrieben werden darf (um z.B. den DNS des Internetproviders zu verwenden).

&lt;img loading=&#34;lazy&#34; decoding=&#34;async&#34; class=&#34;aligncenter size-full wp-image-2842&#34; src=&#34;https://zefanjas.de/wp-content/uploads/2018/12/Auswahl_237.png&#34; alt=&#34;pfSense dns setup&#34; width=&#34;962&#34; height=&#34;588&#34; srcset=&#34;https://zefanjas.de/wp-content/uploads/2018/12/Auswahl_237.png 962w, https://zefanjas.de/wp-content/uploads/2018/12/Auswahl_237-300x183.png 300w, https://zefanjas.de/wp-content/uploads/2018/12/Auswahl_237-768x469.png 768w, https://zefanjas.de/wp-content/uploads/2018/12/Auswahl_237-442x270.png 442w&#34; sizes=&#34;(max-width: 962px) 100vw, 962px&#34; /&gt; 

In den nächsten Schritten stellt man die Zeitzone ein, überprüft noch einmal die Konfiguration der WAN und LAN Schnittstelle und sollte in Schritt 6 auf jeden Fall ein neues Admin-Passwort vergeben. Damit ist das Setup abgeschlossen.

## Fazit

Die Installation von pfSense geht meist leicht von der Hand. Schwierigkeiten gibt es manchmal bei der Auswahl des richtigen Images für die Installation bzw. dem Booten vom USB-Stick oder der Einrichtung der seriellen Verbindung. Die Dokumentation von pfSense geht aber auf viele dieser Probleme ein und bietet Lösungsvorschläge an. Nach der anfänglichen Konfiguration ist die Firewall einsatzbereit. Allerdings kann man die Firewall noch stark erweitern und anpassen. Das soll Thema zukünftiger Artikel sein.

 [1]: https://zefanjas.de/tag/pfsense/
 [2]: https://www.pfsense.org/about-pfsense/features.html
 [3]: https://www.pfsense.org/products/#requirements
 [4]: https://www.pfsense.org/download/
 [5]: https://www.netgate.com/docs/pfsense/hardware/writing-disk-images.html
 [6]: https://www.netgate.com/docs/pfsense/install/installation-troubleshooting.html</description>
    </item>
    
    <item>
      <title>pfSense automatisieren mit pfSsh.php</title>
      <link>https://zefanjas.de/pfsense-pfssh/</link>
      <pubDate>Wed, 28 Nov 2018 13:29:24 +0000</pubDate>
      
      <guid>https://zefanjas.de/pfsense-pfssh/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://zefanjas.de/tag/pfsense/&#34;&gt;pfSense&lt;/a&gt; hat seit einigen Versionen eine völlig überarbeitete Oberfläche. Damit lassen sich alle Einstellungen i.d.R. gut erreichen und einstellen. Das frei konfigurierbare Dashboard ist ebenfalls eine feine Sache. Trotz allem gibt es manchmal den Fall, dass man Einstellungen gern über eine API oder die Kommandozeile vornehmen möchte. pfSense hat aktuell keine API, diese soll erst in einer der kommenden Versionen integriert werden. Bis dahin kann man sich über die pfSense Entwickler-Shell behelfen, auch &lt;a href=&#34;https://www.netgate.com/docs/pfsense/development/using-the-php-pfsense-shell.html&#34;&gt;pfSsh.php&lt;/a&gt; genannt.&lt;/p&gt;
&lt;h2 id=&#34;auf-pfsshphp-zugreifen&#34;&gt;Auf pfSsh.php zugreifen&lt;/h2&gt;
&lt;p&gt;Am schnellsten kommt man in die Entwickler-Shell, wenn man sich per SSH mit pfSense verbindet oder direkt einen Bildschirm an die Firewall anschließt. Wenn SSH noch nicht aktiviert ist, kann man das in der Weboberfläche unter &lt;em&gt;&lt;strong&gt;System → Advanced&lt;/strong&gt;&lt;/em&gt; nachholen.&lt;/p&gt;
&lt;img loading=&#34;lazy&#34; decoding=&#34;async&#34; class=&#34;aligncenter size-full wp-image-2804&#34; src=&#34;https://zefanjas.de/wp-content/uploads/2018/11/Auswahl_221.png&#34; alt=&#34;pfSense SSH aktivieren&#34; width=&#34;1157&#34; height=&#34;226&#34; srcset=&#34;https://zefanjas.de/wp-content/uploads/2018/11/Auswahl_221.png 1157w, https://zefanjas.de/wp-content/uploads/2018/11/Auswahl_221-300x59.png 300w, https://zefanjas.de/wp-content/uploads/2018/11/Auswahl_221-768x150.png 768w, https://zefanjas.de/wp-content/uploads/2018/11/Auswahl_221-1024x200.png 1024w, https://zefanjas.de/wp-content/uploads/2018/11/Auswahl_221-604x118.png 604w&#34; sizes=&#34;(max-width: 1157px) 100vw, 1157px&#34; /&gt; 
&lt;p&gt;Besser ist es, wenn man das Einloggen mit Passwort verbietet und nur das Anmelden mit Zertifikat erlaubt.&lt;/p&gt;
&lt;p&gt;Ist der SSH-Zugang aktivert, kann man sich nun mit dem Admin-Benutzer anmelden (IP anpassen):&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;$ ssh admin@192.168.1.254
&lt;/code&gt;&lt;/pre&gt;&lt;img loading=&#34;lazy&#34; decoding=&#34;async&#34; class=&#34;aligncenter size-full wp-image-2805&#34; src=&#34;https://zefanjas.de/wp-content/uploads/2018/11/Auswahl_222.png&#34; alt=&#34;pfSense CLI&#34; width=&#34;663&#34; height=&#34;320&#34; srcset=&#34;https://zefanjas.de/wp-content/uploads/2018/11/Auswahl_222.png 663w, https://zefanjas.de/wp-content/uploads/2018/11/Auswahl_222-300x145.png 300w, https://zefanjas.de/wp-content/uploads/2018/11/Auswahl_222-559x270.png 559w&#34; sizes=&#34;(max-width: 663px) 100vw, 663px&#34; /&gt; 
&lt;p&gt;Unter Punkt 12 findet man die Entwickler-Shell, die im Grunde eine PHP-Shell ist.&lt;/p&gt;
&lt;h2 id=&#34;beispielbefehle-für-pfsshphp&#34;&gt;Beispielbefehle für pfSsh.php&lt;/h2&gt;
&lt;p&gt;Hier einige Beispielbefehle, die zeigen sollen, wie man die Shell verwenden kann. Jede Eingabe ist normaler PHP Code und muss mit &lt;code&gt;exec;&lt;/code&gt; abgeschlossen werden.&lt;/p&gt;
&lt;h3 id=&#34;dhcp-einstellungen-anzeigen&#34;&gt;DHCP Einstellungen anzeigen&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;pfSense shell: print_r($config[&amp;#34;dhcpd&amp;#34;]);
pfSense shell: exec;
Array
(
    [lan] =&amp;amp;gt; Array
        (
            [range] =&amp;amp;gt; Array
                (
                    [from] =&amp;amp;gt; 10.0.1.7
                    [to] =&amp;amp;gt; 10.0.255.245
                )

        )

)
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;domain-festlegen&#34;&gt;Domain festlegen&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;pfSense shell: $config[&amp;#39;system&amp;#39;][&amp;#39;domain&amp;#39;] = &amp;#39;mydomain.com&amp;#39;;
pfSense shell: write_config();
pfSense shell: exec;
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;shell-8211-befehle-ausführen&#34;&gt;Shell – Befehle ausführen&lt;/h3&gt;
&lt;p&gt;Innerhalb der PHP Shell kann man auch normale Shell-Befehle ausführen, indem man ein „!“ davor setzt:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;pfSense shell: ! cat /etc/version
pfSense shell: exec;
2.4.3-RELEASE
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;befehle-8222aufnehmen8220-und-8222abspielen8220&#34;&gt;Befehle „aufnehmen“ und „abspielen“&lt;/h3&gt;
&lt;p&gt;Mit pfSsh.php kann man auch mehrere Befehle „aufnehmen“ und später „abspielen“. Diese sogenannten Sessions sind für wiederkehrende Aufgaben nützlich. Ein Beispiel:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;pfSense shell: record echoTest
Recording of echoTest started.
pfSense shell: echo &amp;#34;Das\n&amp;#34;;
pfSense shell: echo &amp;#34;ist\n&amp;#34;;
pfSense shell: echo &amp;#34;ein\n&amp;#34;;
pfSense shell: ! echo &amp;#34;Test\n&amp;#34;
pfSense shell: exec;
pfSense shell: stoprecording 
Recording stopped.
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Die Eingaben werden unter &lt;em&gt;/etc/phpshellsessions/&lt;/em&gt; gespeichert und können dort bei Bedarf verändert werden.&lt;/p&gt;
&lt;p&gt;Die „Aufnahme“ kann man nun wie folgt wiedergeben:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;pfSense shell: playback echoTest

Playback of file echoTest started.

Das
ist
ein
Test

pfSense shell:
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;oder auch direkt von der root-Shell mit:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;$ pfSsh.php playback echoTest
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;fazit&#34;&gt;Fazit&lt;/h2&gt;
&lt;p&gt;pfSsh.php ist ein nützliches Werkzeug, um pfSense mit Skripten zu automatisieren oder Anpassungen vorzunehmen. Gerade, wenn man mehrere Instanzen verwaltet oder ein bestimmtes Setup immer wieder braucht, ist pfSsh.php eine große Hilfe. Man kann z.B. alle Einstellung (sprich PHP-Code) in eine Datei packen, unter &lt;em&gt;/etc/phpshellsessions/&lt;/em&gt; speichern und dann ausführen oder direkt die Ausgabe an pfSsh.php weiterleiten:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;$ ssh admin@192.168.1.254 &amp;#39;/usr/local/sbin/pfSsh.php&amp;#39; &amp;amp;lt; MeineConfig.txt
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt; &lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>pfSense Webfilter – squidGuard für HTTP(S)-Verbindungen</title>
      <link>https://zefanjas.de/pfsense-webfilter-squidguard-fuer-https-verbindungen/</link>
      <pubDate>Mon, 22 Jan 2018 12:00:04 +0000</pubDate>
      
      <guid>https://zefanjas.de/pfsense-webfilter-squidguard-fuer-https-verbindungen/</guid>
      <description>&lt;p&gt;Als Systemadministrator einer Schule steht man immer wieder vor der Frage, inwieweit man Inhalte aus dem Internet filtern soll. Überall da, wo Kinder und Jugendliche Zugriff zum Internet haben, egal ob in der Schule, im Verein, Bibliotheken, zu Hause oder einer anderen öffentlichen Einrichtung, muss diese Frage beantwortet werden. Die Meinungen zu diesem Thema sind sehr vielfältig. Einen 100%igen Schutz gibt es nicht. Viel wichtiger ist es, Kinder und Jugendlichen einen verantwortungsvollem Umgang mit dem Internet beizubringen. Das ist eine sehr große Herausforderung und dauert seine Zeit. Eltern und Pädagogen stehen vor dieser Aufgabe und wissen oft nicht, wie man es am besten angeht. Gerade in Schulen, wo man die Bildschirme nicht immer im Blick behalten kann, ist ein Webfilter eine große Hilfe. In manchen Ländern ist ein Webfilter für Schulen sogar gesetzlich vorgeschrieben. Manchmal geht es aber auch nur darum bestimmte Webseiten, wie Facebook, Netflix &amp;amp; Co zu sperren. Deshalb möchte ich in diesem Tutorial zeigen, wie man einen pfSense Webfilter einrichten kann.&lt;/p&gt;
&lt;h3 id=&#34;vorbemerkungen&#34;&gt;Vorbemerkungen&lt;/h3&gt;
&lt;p&gt;[pfSense][1] ist eine weit verbreitete Open Source Firewall, die wir an [unserer Schule einsetzen][2]. Mit Hilfe von Squid (einem Proxy Server) und SquidGuard (dem eigentlichem Webfilter) wollen wir sowohl HTTP als HTTPS – Verbindungen filtern. Für dieses Tutorial brauchen wir zuerst eine aktive pfSense Installation. Die Firewall kann man [hier herunterladen][3] und nach [dieser Anleitung][4] installieren.&lt;/p&gt;
&lt;h3 id=&#34;funktionsweise&#34;&gt;Funktionsweise&lt;/h3&gt;
&lt;p&gt;HTTP-Verbindungen zu filtern ist sehr einfach und auch schnell eingerichtet. Da diese Verbindungen unverschlüsselt sind, kann man sie gut untersuchen und deshalb ganz oder teilweise sperren. Heutzutage verwenden immer mehr Seiten (auch solche, die man gern sperren möchte) HTTPS, d.h. eine verschlüsselte Verbindung zwischen dem Browser des Benutzers und dem Webserver. Dank Let’s Encrypt kann heute jeder ein kostenloses Zertifikat für seine Website einrichten. Das ist an sich eine gute Sache, weil es die Sicherheit erhöht und viele Attacken unmöglich macht bzw. schwieriger. Es erschwert aber auch das Filtern nach unerwünschten Inhalten.&lt;/p&gt;
&lt;p&gt;Diese „Problem“ lässt sich auf zwei Wegen lösen:&lt;/p&gt;
&lt;h4 id=&#34;1-man-in-the-middle-angriff&#34;&gt;1. Man-in-the-Middle Angriff&lt;/h4&gt;
&lt;p&gt;Ein Weg ist ein bewusster Man-in-the-middle Angriff. Der Proxy-Server entschlüsselt dabei die HTTPS-Verbindung und baut sie neu auf. Dadurch kann er sich die Verbindung anschauen und entsprechend filtern. Dieses Konzept wird von den meisten Anbietern von Filterlösungen angewendet. Das Problem hierbei ist, dass durch diesen tiefen Eingriff in die HTTPS-Verbindung, die eigentliche Sicherheit durch HTTPS nicht mehr gegeben ist. Ein Benutzer kann den Unterschied kaum erkennen, wenn dem Zertifikat des Proxy-Servers vertraut wird. Doch diese Sicherheit ist trügerisch. Auch wenn man nur über diesen Weg von einer echten Inhaltsfilterung sprechen kann, so ist diese Lösung gefährlich, sehr risikobehaftet (die Implementation ist nicht trival) und je nach Land, nicht mit den vorherrschenden Gesetzen vereinbar (Stichwort Datenschutz). Deshalb ist dieser Weg aus sicherheitstechnischen und auch moralischen Gründen nicht zu empfehlen.&lt;/p&gt;
&lt;h4 id=&#34;2-url-filter-über-sni&#34;&gt;2. URL-Filter über SNI&lt;/h4&gt;
&lt;p&gt;Eine weitere Möglichkeit ist die Filterung über SNI ([Server Name Indication][5]). Bevor das Zertifikat zwischen Browser und Webserver abgefragt und somit einen verschlüsselte Verbindung aufgebaut wird, sendet der Browser den Domain Namen (FQDN) mit, den er abfragen möchte. Dieser Teil ist nicht noch nicht verschlüsselt und kann deshalb von einem (transparentem) Proxy gelesen und für die Filterung genutzt werden. Folgende Abbildung macht den TLS-Handshake deutlicher.&lt;/p&gt;
&lt;img loading=&#34;lazy&#34; decoding=&#34;async&#34; class=&#34;aligncenter size-full wp-image-2361&#34; src=&#34;https://zefanjas.de/wp-content/uploads/2018/01/TLS-handshake-02.png&#34; alt=&#34;TLS Handshake&#34; width=&#34;648&#34; height=&#34;528&#34; srcset=&#34;https://zefanjas.de/wp-content/uploads/2018/01/TLS-handshake-02.png 648w, https://zefanjas.de/wp-content/uploads/2018/01/TLS-handshake-02-300x244.png 300w, https://zefanjas.de/wp-content/uploads/2018/01/TLS-handshake-02-331x270.png 331w&#34; sizes=&#34;(max-width: 648px) 100vw, 648px&#34; /&gt; 
&lt;p&gt;Man kann gut erkennen, dass der SNI vor dem Schlüsselaustausch und der eigentlichen sicheren Verbindung gesendet wird. Dieses Prinzip machen wir uns zunutze und können neben dem Webfilter für HTTP-Verbindungen auch einen URL-Filter für HTTPS-Verbindungen einrichten, ohne dabei HTTPS durch einen Man-in-the-Middle Angriff kaputt zu machen.&lt;/p&gt;
&lt;h3 id=&#34;safe-search-für-suchmaschienen&#34;&gt;Safe-Search für Suchmaschienen&lt;/h3&gt;
&lt;h4 id=&#34;firewall-regeln-für-dns-erstellen&#34;&gt;Firewall Regeln für DNS erstellen&lt;/h4&gt;
&lt;p&gt;Da wir nicht in eine HTTPS-Verbindung hinein schauen können, können z.B. in einer Google-Suche unerwünschte Bilder und Videos auftauchen. Google und auch andere Suchmaschinen bieten deshalb einen sicheren Modus (Safe-Search) an, denn wir erzwingen wollen.&lt;/p&gt;
&lt;p&gt;Zuerst müssen wir dazu den DNS-Resolver in pfSense aktivieren (unter &lt;strong&gt;Services → DNS Resolver&lt;/strong&gt;) und danach Speichern (&lt;strong&gt;Save&lt;/strong&gt;) und die Änderungen übernehmen (&lt;strong&gt;Apply&lt;/strong&gt;).&lt;/p&gt;
&lt;img loading=&#34;lazy&#34; decoding=&#34;async&#34; class=&#34;aligncenter size-full wp-image-2364&#34; src=&#34;https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_160.png&#34; alt=&#34;DNS Resolver&#34; width=&#34;1065&#34; height=&#34;576&#34; srcset=&#34;https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_160.png 1065w, https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_160-300x162.png 300w, https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_160-768x415.png 768w, https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_160-1024x554.png 1024w, https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_160-499x270.png 499w&#34; sizes=&#34;(max-width: 1065px) 100vw, 1065px&#34; /&gt; 
&lt;p&gt;Damit später die Rechner im Netzwerk auch den DNS-Server der Firewall verwenden, brauchen wir eine Regel, welche alle anderen DNS-Anfragen an die Firewall weiterleitet. Dazu erstellen wir eine neue Regel unter &lt;strong&gt;Firewall → NAT&lt;/strong&gt; im Reiter &lt;strong&gt;Port Forward&lt;/strong&gt; mit einem Klick auf einen der beiden &lt;strong&gt;Add&lt;/strong&gt; Buttons. Dabei geben wir folgendes ein:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Interface: LAN&lt;/li&gt;
&lt;li&gt;Protocol: TCP/UDP&lt;/li&gt;
&lt;li&gt;Destination: Any&lt;/li&gt;
&lt;li&gt;Destination Port Range: DNS (53)&lt;/li&gt;
&lt;li&gt;Redirect Traget IP: 127.0.0.1&lt;/li&gt;
&lt;li&gt;Redirect Target Port: DNS (53)&lt;/li&gt;
&lt;li&gt;Description: Kann frei gewählt werden&lt;/li&gt;
&lt;/ol&gt;
&lt;img loading=&#34;lazy&#34; decoding=&#34;async&#34; class=&#34;aligncenter size-full wp-image-2366&#34; src=&#34;https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_161.png&#34; alt=&#34;NAT DNS Redirect&#34; width=&#34;1165&#34; height=&#34;863&#34; srcset=&#34;https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_161.png 1165w, https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_161-300x222.png 300w, https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_161-768x569.png 768w, https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_161-1024x759.png 1024w, https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_161-364x270.png 364w&#34; sizes=&#34;(max-width: 1165px) 100vw, 1165px&#34; /&gt; 
&lt;p&gt;Nun müssen wir sicher stellen, dass unsere eben erstellte Firewall-Regel an der richtigen Stelle ist. Sie muss &lt;strong&gt;über&lt;/strong&gt; der standardmäßigen „&lt;em&gt;Default allow LAN to any rule&lt;/em&gt;“ sein! Dazu öffnen wir die Firewall Regeln unter &lt;strong&gt;Firewall → Rules&lt;/strong&gt; und verschieben die Regeln nach oben. Danach mit &lt;strong&gt;Save&lt;/strong&gt; speichern und mit &lt;strong&gt;Apply&lt;/strong&gt; die Änderungen übernehmen.&lt;/p&gt;
&lt;img loading=&#34;lazy&#34; decoding=&#34;async&#34; class=&#34;aligncenter size-full wp-image-2367&#34; src=&#34;https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_163.png&#34; alt=&#34;LAN Rules&#34; width=&#34;1163&#34; height=&#34;438&#34; srcset=&#34;https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_163.png 1163w, https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_163-300x113.png 300w, https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_163-768x289.png 768w, https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_163-1024x386.png 1024w, https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_163-604x227.png 604w&#34; sizes=&#34;(max-width: 1163px) 100vw, 1163px&#34; /&gt; 
&lt;h4 id=&#34;host-overrides-für-bing-und-youtube&#34;&gt;Host Overrides für Bing und Youtube&lt;/h4&gt;
&lt;p&gt;Als nächstes erstellen wir einige DNS-Einträge, die dafür sorgen, dass sowohl für Google und Bing deren Safe-Search verwendet wird. Dazu öffnen wir erneut den DNS-Resolver unter &lt;strong&gt;Services → DNS-Resolve&lt;/strong&gt;r und fügen unten im Abschnitt „&lt;em&gt;Host Overrides&lt;/em&gt;“ mit &lt;strong&gt;Add&lt;/strong&gt; folgende Einträge hinzu.&lt;/p&gt;
&lt;p&gt;Bing:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Host: www&lt;/li&gt;
&lt;li&gt;Domain: bing.com&lt;/li&gt;
&lt;li&gt;IP Address: 204.79.197.220&lt;/li&gt;
&lt;li&gt;Description: Bing&lt;/li&gt;
&lt;li&gt;Dann mit &lt;strong&gt;Save&lt;/strong&gt; speichern&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Dann noch der Eintrag für Youtube:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Host: www&lt;/li&gt;
&lt;li&gt;Domain: youtube.com&lt;/li&gt;
&lt;li&gt;IP Address: 216.239.38.120&lt;/li&gt;
&lt;li&gt;Description: Youtube&lt;/li&gt;
&lt;li&gt;Wieder mit &lt;strong&gt;Save&lt;/strong&gt; speichern&lt;/li&gt;
&lt;/ul&gt;
&lt;img loading=&#34;lazy&#34; decoding=&#34;async&#34; class=&#34;aligncenter size-full wp-image-2370&#34; src=&#34;https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_164.png&#34; alt=&#34;Host Override&#34; width=&#34;684&#34; height=&#34;453&#34; srcset=&#34;https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_164.png 684w, https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_164-300x199.png 300w, https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_164-408x270.png 408w&#34; sizes=&#34;(max-width: 684px) 100vw, 684px&#34; /&gt; 
&lt;p&gt;Nun die Änderungen wieder mit &lt;strong&gt;Apply&lt;/strong&gt; übernehmen.&lt;/p&gt;
&lt;h4 id=&#34;host-overrides-für-google&#34;&gt;Host Overrides für Google&lt;/h4&gt;
&lt;p&gt;Google verwendet sehr viele verschiedene Domains und es würde ziemlich lang dauern, diese von Hand einzugeben. Deshalb wählen wir für Google einen anderen Weg. Zuerst müssen wir uns per SSH in pfSense anmelden (oder einen Bildschirm + Tastatur anschließen, falls der pfSense auf einem Computer mit Grafikkarte installiert ist). Vorher muss SSH noch im Webinterface und &lt;strong&gt;System → Advanced&lt;/strong&gt; im Abschnitt &lt;em&gt;&lt;strong&gt;Secure Shell&lt;/strong&gt;&lt;/em&gt; aktiviert werden.&lt;/p&gt;
&lt;img loading=&#34;lazy&#34; decoding=&#34;async&#34; class=&#34;aligncenter size-full wp-image-2372&#34; src=&#34;https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_165.png&#34; alt=&#34;pfSense SSH&#34; width=&#34;923&#34; height=&#34;236&#34; srcset=&#34;https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_165.png 923w, https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_165-300x77.png 300w, https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_165-768x196.png 768w, https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_165-604x154.png 604w&#34; sizes=&#34;(max-width: 923px) 100vw, 923px&#34; /&gt; 
&lt;p&gt;Nun können wir uns mit folgendem Befehl per SSH anmelden (IP Adresse anpassen!):&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;$ ssh admin@192.168.0.1
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Im folgenden Menü wählen wir „8“ (Shell).&lt;/p&gt;
&lt;img loading=&#34;lazy&#34; decoding=&#34;async&#34; class=&#34;aligncenter size-full wp-image-2373&#34; src=&#34;https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_166.png&#34; alt=&#34;pfSense Shell&#34; width=&#34;649&#34; height=&#34;299&#34; srcset=&#34;https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_166.png 649w, https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_166-300x138.png 300w, https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_166-586x270.png 586w&#34; sizes=&#34;(max-width: 649px) 100vw, 649px&#34; /&gt; 
&lt;p&gt;Nun legen wir eine Datei an, in die wir später unsere DNS Einträge für Google eintragen. Das können wir mit folgendem Befehl machen:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;$ vi /var/unbound/google.conf
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Um den Editor wieder zu verlassen, müssen wir &lt;code&gt;:wq&lt;/code&gt; eingeben (der Doppelpunkt ist wichtig!). Mehr brauchen wir nicht auf der Kommandozeile machen.&lt;/p&gt;
&lt;p&gt;Wir können nun die eben angelegte Datei über &lt;strong&gt;Diagnostics → Edit File&lt;/strong&gt; bearbeiten. Dazu geben wir den Pfad &lt;code&gt;/var/unbound/google.conf&lt;/code&gt; ein und drücken dann auf &lt;strong&gt;Load&lt;/strong&gt;.&lt;/p&gt;
&lt;img loading=&#34;lazy&#34; decoding=&#34;async&#34; class=&#34;aligncenter size-full wp-image-2374&#34; src=&#34;https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_167.png&#34; alt=&#34;Edit File&#34; width=&#34;619&#34; height=&#34;379&#34; srcset=&#34;https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_167.png 619w, https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_167-300x184.png 300w, https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_167-441x270.png 441w&#34; sizes=&#34;(max-width: 619px) 100vw, 619px&#34; /&gt; 
&lt;p&gt;Nun kopieren wir folgenden Inhalt in die Datei:&lt;/p&gt;
&lt;pre class=&#34;height-set:true height:250 lang:default decode:true&#34;&gt;local-data: &#34;www.google.ad A 216.239.38.120&#34;
local-data: &#34;www.google.ae A 216.239.38.120&#34;
local-data: &#34;www.google.com A 216.239.38.120&#34;
local-data: &#34;www.google.com.af A 216.239.38.120&#34;
local-data: &#34;www.google.com.ag A 216.239.38.120&#34;
local-data: &#34;www.google.com.ai A 216.239.38.120&#34;
local-data: &#34;www.google.al A 216.239.38.120&#34;
local-data: &#34;www.google.am A 216.239.38.120&#34;
local-data: &#34;www.google.co.ao A 216.239.38.120&#34;
local-data: &#34;www.google.com.ar A 216.239.38.120&#34;
local-data: &#34;www.google.as A 216.239.38.120&#34;
local-data: &#34;www.google.at A 216.239.38.120&#34;
local-data: &#34;www.google.com.au A 216.239.38.120&#34;
local-data: &#34;www.google.az A 216.239.38.120&#34;
local-data: &#34;www.google.ba A 216.239.38.120&#34;
local-data: &#34;www.google.com.bd A 216.239.38.120&#34;
local-data: &#34;www.google.be A 216.239.38.120&#34;
local-data: &#34;www.google.bf A 216.239.38.120&#34;
local-data: &#34;www.google.bg A 216.239.38.120&#34;
local-data: &#34;www.google.com.bh A 216.239.38.120&#34;
local-data: &#34;www.google.bi A 216.239.38.120&#34;
local-data: &#34;www.google.bj A 216.239.38.120&#34;
local-data: &#34;www.google.com.bn A 216.239.38.120&#34;
local-data: &#34;www.google.com.bo A 216.239.38.120&#34;
local-data: &#34;www.google.com.br A 216.239.38.120&#34;
local-data: &#34;www.google.bs A 216.239.38.120&#34;
local-data: &#34;www.google.bt A 216.239.38.120&#34;
local-data: &#34;www.google.co.bw A 216.239.38.120&#34;
local-data: &#34;www.google.by A 216.239.38.120&#34;
local-data: &#34;www.google.com.bz A 216.239.38.120&#34;
local-data: &#34;www.google.ca A 216.239.38.120&#34;
local-data: &#34;www.google.cd A 216.239.38.120&#34;
local-data: &#34;www.google.cf A 216.239.38.120&#34;
local-data: &#34;www.google.cg A 216.239.38.120&#34;
local-data: &#34;www.google.ch A 216.239.38.120&#34;
local-data: &#34;www.google.ci A 216.239.38.120&#34;
local-data: &#34;www.google.co.ck A 216.239.38.120&#34;
local-data: &#34;www.google.cl A 216.239.38.120&#34;
local-data: &#34;www.google.cm A 216.239.38.120&#34;
local-data: &#34;www.google.cn A 216.239.38.120&#34;
local-data: &#34;www.google.com.co A 216.239.38.120&#34;
local-data: &#34;www.google.co.cr A 216.239.38.120&#34;
local-data: &#34;www.google.com.cu A 216.239.38.120&#34;
local-data: &#34;www.google.cv A 216.239.38.120&#34;
local-data: &#34;www.google.com.cy A 216.239.38.120&#34;
local-data: &#34;www.google.cz A 216.239.38.120&#34;
local-data: &#34;www.google.de A 216.239.38.120&#34;
local-data: &#34;www.google.dj A 216.239.38.120&#34;
local-data: &#34;www.google.dk A 216.239.38.120&#34;
local-data: &#34;www.google.dm A 216.239.38.120&#34;
local-data: &#34;www.google.com.do A 216.239.38.120&#34;
local-data: &#34;www.google.dz A 216.239.38.120&#34;
local-data: &#34;www.google.com.ec A 216.239.38.120&#34;
local-data: &#34;www.google.ee A 216.239.38.120&#34;
local-data: &#34;www.google.com.eg A 216.239.38.120&#34;
local-data: &#34;www.google.com.et A 216.239.38.120&#34;
local-data: &#34;www.google.fi A 216.239.38.120&#34;
local-data: &#34;www.google.com.fj A 216.239.38.120&#34;
local-data: &#34;www.google.fm A 216.239.38.120&#34;
local-data: &#34;www.google.fr A 216.239.38.120&#34;
local-data: &#34;www.google.ga A 216.239.38.120&#34;
local-data: &#34;www.google.ge A 216.239.38.120&#34;
local-data: &#34;www.google.gg A 216.239.38.120&#34;
local-data: &#34;www.google.com.gh A 216.239.38.120&#34;
local-data: &#34;www.google.com.gi A 216.239.38.120&#34;
local-data: &#34;www.google.gl A 216.239.38.120&#34;
local-data: &#34;www.google.gm A 216.239.38.120&#34;
local-data: &#34;www.google.gp A 216.239.38.120&#34;
local-data: &#34;www.google.gr A 216.239.38.120&#34;
local-data: &#34;www.google.com.gt A 216.239.38.120&#34;
local-data: &#34;www.google.gy A 216.239.38.120&#34;
local-data: &#34;www.google.com.hk A 216.239.38.120&#34;
local-data: &#34;www.google.hn A 216.239.38.120&#34;
local-data: &#34;www.google.hr A 216.239.38.120&#34;
local-data: &#34;www.google.ht A 216.239.38.120&#34;
local-data: &#34;www.google.hu A 216.239.38.120&#34;
local-data: &#34;www.google.co.id A 216.239.38.120&#34;
local-data: &#34;www.google.ie A 216.239.38.120&#34;
local-data: &#34;www.google.co.il A 216.239.38.120&#34;
local-data: &#34;www.google.im A 216.239.38.120&#34;
local-data: &#34;www.google.co.in A 216.239.38.120&#34;
local-data: &#34;www.google.iq A 216.239.38.120&#34;
local-data: &#34;www.google.is A 216.239.38.120&#34;
local-data: &#34;www.google.it A 216.239.38.120&#34;
local-data: &#34;www.google.je A 216.239.38.120&#34;
local-data: &#34;www.google.com.jm A 216.239.38.120&#34;
local-data: &#34;www.google.jo A 216.239.38.120&#34;
local-data: &#34;www.google.co.jp A 216.239.38.120&#34;
local-data: &#34;www.google.co.ke A 216.239.38.120&#34;
local-data: &#34;www.google.com.kh A 216.239.38.120&#34;
local-data: &#34;www.google.ki A 216.239.38.120&#34;
local-data: &#34;www.google.kg A 216.239.38.120&#34;
local-data: &#34;www.google.co.kr A 216.239.38.120&#34;
local-data: &#34;www.google.com.kw A 216.239.38.120&#34;
local-data: &#34;www.google.kz A 216.239.38.120&#34;
local-data: &#34;www.google.la A 216.239.38.120&#34;
local-data: &#34;www.google.com.lb A 216.239.38.120&#34;
local-data: &#34;www.google.li A 216.239.38.120&#34;
local-data: &#34;www.google.lk A 216.239.38.120&#34;
local-data: &#34;www.google.co.ls A 216.239.38.120&#34;
local-data: &#34;www.google.lt A 216.239.38.120&#34;
local-data: &#34;www.google.lu A 216.239.38.120&#34;
local-data: &#34;www.google.lv A 216.239.38.120&#34;
local-data: &#34;www.google.com.ly A 216.239.38.120&#34;
local-data: &#34;www.google.co.ma A 216.239.38.120&#34;
local-data: &#34;www.google.md A 216.239.38.120&#34;
local-data: &#34;www.google.me A 216.239.38.120&#34;
local-data: &#34;www.google.mg A 216.239.38.120&#34;
local-data: &#34;www.google.mk A 216.239.38.120&#34;
local-data: &#34;www.google.ml A 216.239.38.120&#34;
local-data: &#34;www.google.com.mm A 216.239.38.120&#34;
local-data: &#34;www.google.mn A 216.239.38.120&#34;
local-data: &#34;www.google.ms A 216.239.38.120&#34;
local-data: &#34;www.google.com.mt A 216.239.38.120&#34;
local-data: &#34;www.google.mu A 216.239.38.120&#34;
local-data: &#34;www.google.mv A 216.239.38.120&#34;
local-data: &#34;www.google.mw A 216.239.38.120&#34;
local-data: &#34;www.google.com.mx A 216.239.38.120&#34;
local-data: &#34;www.google.com.my A 216.239.38.120&#34;
local-data: &#34;www.google.co.mz A 216.239.38.120&#34;
local-data: &#34;www.google.com.na A 216.239.38.120&#34;
local-data: &#34;www.google.com.nf A 216.239.38.120&#34;
local-data: &#34;www.google.com.ng A 216.239.38.120&#34;
local-data: &#34;www.google.com.ni A 216.239.38.120&#34;
local-data: &#34;www.google.ne A 216.239.38.120&#34;
local-data: &#34;www.google.nl A 216.239.38.120&#34;
local-data: &#34;www.google.no A 216.239.38.120&#34;
local-data: &#34;www.google.com.np A 216.239.38.120&#34;
local-data: &#34;www.google.nr A 216.239.38.120&#34;
local-data: &#34;www.google.nu A 216.239.38.120&#34;
local-data: &#34;www.google.co.nz A 216.239.38.120&#34;
local-data: &#34;www.google.com.om A 216.239.38.120&#34;
local-data: &#34;www.google.com.pa A 216.239.38.120&#34;
local-data: &#34;www.google.com.pe A 216.239.38.120&#34;
local-data: &#34;www.google.com.pg A 216.239.38.120&#34;
local-data: &#34;www.google.com.ph A 216.239.38.120&#34;
local-data: &#34;www.google.com.pk A 216.239.38.120&#34;
local-data: &#34;www.google.pl A 216.239.38.120&#34;
local-data: &#34;www.google.pn A 216.239.38.120&#34;
local-data: &#34;www.google.com.pr A 216.239.38.120&#34;
local-data: &#34;www.google.ps A 216.239.38.120&#34;
local-data: &#34;www.google.pt A 216.239.38.120&#34;
local-data: &#34;www.google.com.py A 216.239.38.120&#34;
local-data: &#34;www.google.com.qa A 216.239.38.120&#34;
local-data: &#34;www.google.ro A 216.239.38.120&#34;
local-data: &#34;www.google.ru A 216.239.38.120&#34;
local-data: &#34;www.google.rw A 216.239.38.120&#34;
local-data: &#34;www.google.com.sa A 216.239.38.120&#34;
local-data: &#34;www.google.com.sb A 216.239.38.120&#34;
local-data: &#34;www.google.sc A 216.239.38.120&#34;
local-data: &#34;www.google.se A 216.239.38.120&#34;
local-data: &#34;www.google.com.sg A 216.239.38.120&#34;
local-data: &#34;www.google.sh A 216.239.38.120&#34;
local-data: &#34;www.google.si A 216.239.38.120&#34;
local-data: &#34;www.google.sk A 216.239.38.120&#34;
local-data: &#34;www.google.com.sl A 216.239.38.120&#34;
local-data: &#34;www.google.sn A 216.239.38.120&#34;
local-data: &#34;www.google.so A 216.239.38.120&#34;
local-data: &#34;www.google.sm A 216.239.38.120&#34;
local-data: &#34;www.google.sr A 216.239.38.120&#34;
local-data: &#34;www.google.st A 216.239.38.120&#34;
local-data: &#34;www.google.com.sv A 216.239.38.120&#34;
local-data: &#34;www.google.td A 216.239.38.120&#34;
local-data: &#34;www.google.tg A 216.239.38.120&#34;
local-data: &#34;www.google.co.th A 216.239.38.120&#34;
local-data: &#34;www.google.com.tj A 216.239.38.120&#34;
local-data: &#34;www.google.tk A 216.239.38.120&#34;
local-data: &#34;www.google.tl A 216.239.38.120&#34;
local-data: &#34;www.google.tm A 216.239.38.120&#34;
local-data: &#34;www.google.tn A 216.239.38.120&#34;
local-data: &#34;www.google.to A 216.239.38.120&#34;
local-data: &#34;www.google.com.tr A 216.239.38.120&#34;
local-data: &#34;www.google.tt A 216.239.38.120&#34;
local-data: &#34;www.google.com.tw A 216.239.38.120&#34;
local-data: &#34;www.google.co.tz A 216.239.38.120&#34;
local-data: &#34;www.google.com.ua A 216.239.38.120&#34;
local-data: &#34;www.google.co.ug A 216.239.38.120&#34;
local-data: &#34;www.google.co.uk A 216.239.38.120&#34;
local-data: &#34;www.google.com.uy A 216.239.38.120&#34;
local-data: &#34;www.google.co.uz A 216.239.38.120&#34;
local-data: &#34;www.google.com.vc A 216.239.38.120&#34;
local-data: &#34;www.google.co.ve A 216.239.38.120&#34;
local-data: &#34;www.google.vg A 216.239.38.120&#34;
local-data: &#34;www.google.co.vi A 216.239.38.120&#34;
local-data: &#34;www.google.com.vn A 216.239.38.120&#34;
local-data: &#34;www.google.vu A 216.239.38.120&#34;
local-data: &#34;www.google.ws A 216.239.38.120&#34;
local-data: &#34;www.google.rs A 216.239.38.120&#34;
local-data: &#34;www.google.co.za A 216.239.38.120&#34;
local-data: &#34;www.google.co.zm A 216.239.38.120&#34;
local-data: &#34;www.google.co.zw A 216.239.38.120&#34;
local-data: &#34;www.google.cat A 216.239.38.120&#34;
```

Mit einem Klick auf **Save** speichern wir die Datei.

Der letzte Schritt ist, dass wir unserem DNS Server noch mitteilen müssen, wo er diese DNS-Einträge finden kann. Dazu öffnen wir wieder die Einstellungen des DNS Servers unter **Services → DNS Resolver** und klicken auf **Display Custom Options**. Dort fügen wir folgende Zeilen ein, speichern mit **Save** und übernehmen die Änderungen mit **Apply**.

```
server:
include: /var/unbound/google.conf
```

&lt;img loading=&#34;lazy&#34; decoding=&#34;async&#34; class=&#34;aligncenter size-full wp-image-2377&#34; src=&#34;https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_168.png&#34; alt=&#34;DNS Custom Options&#34; width=&#34;942&#34; height=&#34;274&#34; srcset=&#34;https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_168.png 942w, https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_168-300x87.png 300w, https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_168-768x223.png 768w, https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_168-604x176.png 604w&#34; sizes=&#34;(max-width: 942px) 100vw, 942px&#34; /&gt; 

Unsere Suchmaschinen sind konfiguriert. Im nächsten Schritt richten wir den Inhaltsfilter für HTTP und den URL-Filter für HTTPS ein.

### Squid Proxy und SquidGuard

#### Installation

Damit pfSense die URLs filtern kann, brauchen wir einen Proxy-Server, durch den alle Anfragen aus unserem Netzwerk geleitet werden. Dazu verwenden wir Squid. SquidGuard ist, wie der Name schon vermuten lässt, der eigentliche Filter. Unter **System → Package Manager** im Reiter **_Available Packages_** installieren wir Squid und SquidGuard.

&lt;img loading=&#34;lazy&#34; decoding=&#34;async&#34; class=&#34;aligncenter size-full wp-image-2381&#34; src=&#34;https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_169.png&#34; alt=&#34;Package Manager&#34; width=&#34;1164&#34; height=&#34;549&#34; srcset=&#34;https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_169.png 1164w, https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_169-300x141.png 300w, https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_169-768x362.png 768w, https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_169-1024x483.png 1024w, https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_169-572x270.png 572w&#34; sizes=&#34;(max-width: 1164px) 100vw, 1164px&#34; /&gt; 

#### Transparenter Proxy für HTTP einrichten

Unter **Services → Squid Proxy Server** richten wir nun den transparenten Proxy für HTTP ein. Ein transparenter Proxy hat den Vorteil, dass wir keine Konfiguration an den einzelnen Rechner in unserem Netzwerk vornehmen müssen. Im Reiter _**General**_ aktivieren wir folgende Punkte:

  1. Enable Squid Proxy ✔
  2. Proxy Interface(s): LAN
  3. Allow users on Interface ✔
  4. Transparent HTTP Proxy ✔
  5. Transparent Proxy Interface(s): LAN

&lt;img loading=&#34;lazy&#34; decoding=&#34;async&#34; class=&#34;aligncenter size-full wp-image-2382&#34; src=&#34;https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_170.png&#34; alt=&#34;Squid Proxy General&#34; width=&#34;1022&#34; height=&#34;910&#34; srcset=&#34;https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_170.png 1022w, https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_170-300x267.png 300w, https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_170-768x684.png 768w, https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_170-303x270.png 303w&#34; sizes=&#34;(max-width: 1022px) 100vw, 1022px&#34; /&gt; 

Nach dem Speichern mit **Save** legen wir im Reiter **_Local Cache_** fest, wie viel Festplattenplatz für den Cache verwendet werden soll (hier 500MB):

&lt;img loading=&#34;lazy&#34; decoding=&#34;async&#34; class=&#34;aligncenter size-full wp-image-2383&#34; src=&#34;https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_171.png&#34; alt=&#34;Squid Proxy Cache&#34; width=&#34;1154&#34; height=&#34;581&#34; srcset=&#34;https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_171.png 1154w, https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_171-300x151.png 300w, https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_171-768x387.png 768w, https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_171-1024x516.png 1024w, https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_171-536x270.png 536w&#34; sizes=&#34;(max-width: 1154px) 100vw, 1154px&#34; /&gt; 

Auch hier müssen die Einstellungen wieder mit **Save** gespeichert werden. Der Transparente Proxy für HTTP-Verbindungen ist jetzt fertig eingerichtet.

#### SquidGuard konfigurieren

SquidGuard ist die Komponente, die sich um die Filterung der Inhalte kümmert. Jede Anfrage wir von SquidGuard untersucht und dann entschieden, ob die Anfrage bzw. die Website geblockt werden soll oder nicht. Dazu verwenden wir eine Blacklist, die wir später konfigurieren. Davor legen wir ein paar allgemeine Einstellungen unter **Services → SquidGuard Proxy Filter** fest.

  1. Enable ✔ (nicht im Screenshot zu sehen)
  2. Enable Log  ✔
  3. Enable Log Rotation ✔
  4. Enable Blacklist ✔
  5. Blacklist URL: http://www.shallalist.de/Downloads/shallalist.tar.gz

&lt;img loading=&#34;lazy&#34; decoding=&#34;async&#34; class=&#34;aligncenter size-full wp-image-2385&#34; src=&#34;https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_172.png&#34; alt=&#34;Squid Proxy Filter General&#34; width=&#34;1157&#34; height=&#34;619&#34; srcset=&#34;https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_172.png 1157w, https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_172-300x161.png 300w, https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_172-768x411.png 768w, https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_172-1024x548.png 1024w, https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_172-505x270.png 505w&#34; sizes=&#34;(max-width: 1157px) 100vw, 1157px&#34; /&gt; 

Unten speichern wir wieder alles mit **Save**.

&gt; Beim SquidGuard müssen wir beachten, dass Änderungen in der Konfiguration erst dann aktiv werden, wenn wir **Save** und **Apply** (oben im Reiter _General Settings_) geklickt haben!

#### Black- und Whitelisten einrichten

Nachdem wir nun mit den grundlegenden Einstellungen fertig sind, fehlen noch die Black- und Whitelisten. Die URL für die Blackliste haben wir ja bereits angegeben. Nun müssen wir sie noch herunterladen im Reiter &amp;#8222;_Blacklist_&amp;#8222;.

&lt;img loading=&#34;lazy&#34; decoding=&#34;async&#34; class=&#34;aligncenter size-full wp-image-2386&#34; src=&#34;https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_173.png&#34; alt=&#34;Blacklist&#34; width=&#34;1163&#34; height=&#34;439&#34; srcset=&#34;https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_173.png 1163w, https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_173-300x113.png 300w, https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_173-768x290.png 768w, https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_173-1024x387.png 1024w, https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_173-604x228.png 604w&#34; sizes=&#34;(max-width: 1163px) 100vw, 1163px&#34; /&gt; 

Damit unser Filter auch funktioniert, legen wir nun einige Zielkategorien fest. Dazu öffnen wir den Reiter _&amp;#8222;Target Kategories&amp;#8220;_ und klicken auf **Add**. Wir erstellen eine Whitelist, in der alle Domainnamen kommen, die wir explizit erlauben. Das wären z.B. alle Google-Domain, da wir ja alle weiteren Suchmaschinen blocken werden, um dem Benutzer keine Möglichkeit zu geben, die weiter oben eingerichtet Safe-Search zu umgehen.

Folgendes geben wir ein:

  1. Name: Whitelist
  2. Domain List: ```
google.ac google.ad google.ae google.al google.am google.as google.at google.az google.ba google.be google.bf google.bg google.bi google.bj google.bs google.bt google.by google.ca google.cat google.cd google.cf google.cg google.ch google.ci google.cl google.cm google.cn google.co.ao google.co.bw google.co.ck google.co.cr google.co.hu google.co.id google.co.il google.co.in google.co.je google.co.jp google.co.ke google.co.kr google.co.ls google.com google.co.ma google.com.af google.com.ag google.com.ai google.com.ar google.com.au google.com.bd google.com.bh google.com.bn google.com.bo google.com.br google.com.bz google.com.co google.com.cu google.com.cy google.com.do google.com.ec google.com.eg google.com.et google.com.fj google.com.gh google.com.gi google.com.gr google.com.gt google.com.hk google.com.jm google.com.kh google.com.kw google.com.lb google.com.ly google.com.mm google.com.mt google.com.mx google.com.my google.com.na google.com.nf google.com.ng google.com.ni google.com.np google.com.om google.com.pa google.com.pe google.com.pg google.com.ph google.com.pk google.com.pr google.com.py google.com.qa google.com.sa google.com.sb google.com.sg google.com.sl google.com.sv google.com.tj google.com.tr google.com.tw google.com.ua google.com.uy google.com.vc google.com.vn google.co.mz google.co.nz google.co.th google.co.tz google.co.ug google.co.uk google.co.uz google.co.ve google.co.vi google.co.za google.co.zm google.co.zw google.cv google.cz google.de google-directory.co.uk google.dj google.dk google.dm google.dz google.ee google.es google.fi google.fm google.fr google.ga google.ge google.gg google.gl google.gm google.gp google.gr google.gy google.hn google.hr google.ht google.hu google.ie google.im google.iq google.is google.it google.je google.jo google.kg google.ki google.kz google.la google.li google.lk google.lt google.lu google.lv google.md google.me google.mg google.mk google.ml google.mn google.ms google.mu google.mv google.mw google.ne google.nl google.no google.nr google.nu google.off.ai googlepirate.com google.pl google.pn google.ps google.pt google.ro google.rs google.ru google.rw google.sc google.se google.sh google.si google.sk google.sm google.sn google.so google.sr google.st google.td google.tg google.tk google.tl google.tm google.tn google.to google.tt google.uz google.vg google.vu google.ws bing.com
```

  3. Description: Whitelist
  4. Mit **Save** speichern.

&lt;img loading=&#34;lazy&#34; decoding=&#34;async&#34; class=&#34;aligncenter size-full wp-image-2387&#34; src=&#34;https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_174.png&#34; alt=&#34;Whitelist&#34; width=&#34;1156&#34; height=&#34;607&#34; srcset=&#34;https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_174.png 1156w, https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_174-300x158.png 300w, https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_174-768x403.png 768w, https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_174-1024x538.png 1024w, https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_174-514x270.png 514w&#34; sizes=&#34;(max-width: 1156px) 100vw, 1156px&#34; /&gt; 

Der vorerst letzte Schritt ist die Einrichtung einiger Regeln. Das machen wir im Reiter _Common ACL_. Dann bei &amp;#8222;Target Rules List&amp;#8220; auf das &amp;#8222;+&amp;#8220; &amp;#8211; Zeichen klicken, um eine Liste mit den verschiedenen Regelsätzen zu öffnen. Hier gibt es nun verschiedene Kategorien und auch unsere Whitelist taucht hier auf. Folgende Einstellungen nehmen wir nun vor:

  * Whitelist: access **whitelist**
  * Default access [all]: access **allow**

&lt;img loading=&#34;lazy&#34; decoding=&#34;async&#34; class=&#34;aligncenter size-full wp-image-2389&#34; src=&#34;https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_175.png&#34; alt=&#34;Common ACL&#34; width=&#34;1158&#34; height=&#34;786&#34; srcset=&#34;https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_175.png 1158w, https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_175-300x204.png 300w, https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_175-768x521.png 768w, https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_175-1024x695.png 1024w, https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_175-398x270.png 398w&#34; sizes=&#34;(max-width: 1158px) 100vw, 1158px&#34; /&gt; 

Die anderen Kategorien können je nach Bedarf eingestellt werden. Hier einige Beispiele:

  * Werbung blocken: [blk\_BL\_adv] access deny
  * Pornographie blocken: [blk\_BL\_porn] access deny
  * usw.

Damit ein Benutzer unseren URL-Filter nicht durch die Eingabe der IP-Adresse einer Seite umgehen kann, aktivieren wir noch **Do not allow IP-Addresses in URL**. Falls diese Einstellung Probleme macht, sollte man sie wieder deaktivieren.

&lt;img loading=&#34;lazy&#34; decoding=&#34;async&#34; class=&#34;aligncenter size-full wp-image-2390&#34; src=&#34;https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_176.png&#34; alt=&#34;Do not allow IP Addresses&#34; width=&#34;1096&#34; height=&#34;81&#34; srcset=&#34;https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_176.png 1096w, https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_176-300x22.png 300w, https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_176-768x57.png 768w, https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_176-1024x76.png 1024w, https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_176-604x45.png 604w&#34; sizes=&#34;(max-width: 1096px) 100vw, 1096px&#34; /&gt; 

Dann speichern wir mit **Save**, wechseln in den Reiter _General Settings_ und müssen dort noch einmal auf **Apply** drücken, damit unsere Änderungen auch angewendet werden.

#### Bisheriges Setup testen

Für HTTP-Verbindungen ist alles eingerichtet und wir können das Setup testen. Auf einem Rechner im LAN muss nichts weiter eingerichtet werden. Der Filter sollte bereits funktionieren. Falls wir eine Seite aufrufen, die in eine unserer Blacklisten auftaucht erscheint diese Seite:

&lt;img loading=&#34;lazy&#34; decoding=&#34;async&#34; class=&#34;aligncenter size-full wp-image-2391&#34; src=&#34;https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_177.png&#34; alt=&#34;Blocked Sites&#34; width=&#34;536&#34; height=&#34;201&#34; srcset=&#34;https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_177.png 536w, https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_177-300x113.png 300w&#34; sizes=&#34;(max-width: 536px) 100vw, 536px&#34; /&gt; 

#### Transparenter Proxy für HTTPS-Verbindungen

Bisher ist der transparente Proxy nur für HTTP, d.h. unverschlüsselte Anfragen aktiv.  Zu Beginn dieses Artikels habe ich bereits auf die Schwierigkeiten beim Filtern von verschlüsselten, also HTTPS-Verbindungen hingewiesen. In unserem Fall werden wir einen transparenten Proxy für HTTPS aktivieren, der es uns erlaubt einen URL-Filter für alle Anfragen auf Port 443 (HTTPS) zu aktivieren, allerdings mit dem Nachteil, dass wir nicht den Inhalt analysieren können (und auch nicht wollen!) sowie keine schöne Fehlerseite möglich ist. Stattdessen wird uns der Browser eine Zertifikatsfehlermeldung anzeigen. Doch dazu gleich mehr.

Wir aktivieren zuerst den transparenten Proxy auch für HTTPS. Dazu öffnen wir die Proxyeinstellungen unter **Services → Squid Proxy Server** und wählen im Abschnitt _SSL Man in the Middle Filtering_ folgende Einstellungen:

  * HTTPS / SSL Interception ✔
  * SSL/MITM Method: Splice All
  * SSL Intercept Interfaces: LAN
  * CA: Ein Certificat Authority Zertifkat auswählen. Eventuell müssen wir erst noch eines erstellen. (Unter **System → Cert. Manager**).
  * Alles mit **Save** speichern.

&lt;img loading=&#34;lazy&#34; decoding=&#34;async&#34; class=&#34;aligncenter size-full wp-image-2392&#34; src=&#34;https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_178.png&#34; alt=&#34;SSL MITM&#34; width=&#34;1150&#34; height=&#34;621&#34; srcset=&#34;https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_178.png 1150w, https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_178-300x162.png 300w, https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_178-768x415.png 768w, https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_178-1024x553.png 1024w, https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_178-500x270.png 500w&#34; sizes=&#34;(max-width: 1150px) 100vw, 1150px&#34; /&gt; 

Nun ist wirklich alles eingerichtet und wir können auch HTTPS-Verbindungen testen. Wie bereits geschrieben, bekommen wir diesmal nicht so eine aussagekräftige Fehlermeldung wie für HTTP-Verbindungen, sondern eine Warnung des Browsers zu sehen:

&lt;img loading=&#34;lazy&#34; decoding=&#34;async&#34; class=&#34;aligncenter size-full wp-image-2393&#34; src=&#34;https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_179.png&#34; alt=&#34;Cert Error&#34; width=&#34;897&#34; height=&#34;373&#34; srcset=&#34;https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_179.png 897w, https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_179-300x125.png 300w, https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_179-768x319.png 768w, https://zefanjas.de/wp-content/uploads/2018/01/Auswahl_179-604x251.png 604w&#34; sizes=&#34;(max-width: 897px) 100vw, 897px&#34; /&gt; 

Auch wenn diese Fehlermeldung nicht sehr aussagekräftig ist, haben wir unser eigentliches Ziel erreicht, nämlich das unerwünschte Seiten geblockt werden.

### Fazit

Wir haben nun ein System eingerichtet, welches allen Netzwerkverkehr in unserem LAN (oder WLAN) filtert. Dabei werden Seiten, die über die Blacklisten festgelegt wurden, geblockt.

Über das Für und Wider von solchen Sperren gibt es unterschiedliche Positionen. Es ist auf jeden Fall ein Problem, welches sich technisch nicht zu 100% lösen lässt und auch nicht sollte, da es vielmehr darum geht, (junge) Menschen dahingehend zu erziehen, dass sie verantwortungsvoll mit dem Medium &amp;#8222;Internet&amp;#8220; umgehen können. Dieses Ziel allein durch solche Filtermaßnahmen zu erreichen, ist sicher nicht der richtige Weg. Auch das man Kinder und Jugendliche an Zensur und Filter &amp;#8222;gewöhnt&amp;#8220; wird von einigen kritisch gesehen.

Auf der anderen Seite ist es gerade für Schulen, Bibliotheken oder auch zu Hause eine Hilfe, wenn man die Fülle an nicht altersgemäßen Inhalten etwas einschränken kann. Manche Länder schreiben so einen Filter auch gesetzlich vor!

(Quelle: &lt;https://forum.pfsense.org/index.php?topic=112335.0&gt;)

 [1]: https://pfsense.org
 [2]: https://zefanjas.de/5-grossartige-open-source-programme-die-wir-in-unserer-schule-einsetzen/
 [3]: https://www.pfsense.org/download/
 [4]: https://doc.pfsense.org/index.php/Installing_pfSense
 [5]: https://de.wikipedia.org/wiki/Server_Name_Indication</description>
    </item>
    
    <item>
      <title>pfSense Monitoring mit Check_MK</title>
      <link>https://zefanjas.de/pfsense-monitoring-mit-check_mk/</link>
      <pubDate>Mon, 20 Nov 2017 09:22:05 +0000</pubDate>
      
      <guid>https://zefanjas.de/pfsense-monitoring-mit-check_mk/</guid>
      <description>&lt;p&gt;Für die [Überwachung / Monitoring unserer Netzwerkinfrastruktur][1] nutzen wir Check_MK. Check_MK unterstützt eine Vielzahl an Diensten und Agenten. Daten können mit dem Check_MK-Agenten, per SNMP oder einfach nur per ping überwacht werden. In der Vergangenheit haben wir unsere Firewall per SNMP überwacht, welches bereits in pfSense integriert ist (SNMP kann unter_ &lt;strong&gt;Services → SNMP&lt;/strong&gt;_ aktiviert werden). Damit deckt man bereits den Großteil der Dienste, wie z.B.  alle Netzwerkinterfaces, ab. Aber es fehlen auch einige wichtige Infos. Dazu gehören die aktuelle CPU Auslastung oder die Belegung der Festplatte(n). Um an diese Informationen zu kommen, braucht man den Check_MK-Agenten auf der Firewall.&lt;/p&gt;
&lt;h2 id=&#34;installation-des-check_mk-agenten-in-pfsense&#34;&gt;Installation des Check_Mk-Agenten in pfSense&lt;/h2&gt;
&lt;p&gt;Ich beschreibe hier die Installation per SSH-Verbindung zu Firewall. Alternativ kann man aber auch alle Befehle unter &lt;strong&gt;&lt;em&gt;Diagnostics → Command Prompt&lt;/em&gt;&lt;/strong&gt; eingeben.&lt;/p&gt;
&lt;p&gt;Der Check_MK-Agent ist ein Bash-Skript. Deshalb muss als erstes bash installiert werden:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;pkg install -y bash&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Danach noch zwei Verzeichnisse erstellen:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;mkdir -p /opt/bin&lt;/code&gt;&lt;br&gt;
&lt;code&gt;mkdir -p /opt/etc/xinetd.d&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Als nächsten wird der [Check_MK-Agent][2] in das eben angelegte Verzeichnis heruntergeladen und ausführbar gemacht:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;curl --output /opt/bin/check_mk_agent&amp;lt;br /&amp;gt; &#39;https://git.mathias-kettner.de/git/?p=check_mk.git;a=blob_plain;f=agents/check_mk_agent.freebsd;hb=HEAD&#39;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;chmod +x /opt/bin/check_mk_agent&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Die Daten des Check_MK-Agenten werden per telnet abgerufen. Deshalb braucht man dazu noch eine Konfigurationsdatei. Dazu kopiert man folgenden Inhalt (am besten über &lt;strong&gt;&lt;em&gt;Diagnostics → Edit file&lt;/em&gt;&lt;/strong&gt; in die Datei&lt;/p&gt;
&lt;p&gt;&lt;code&gt;/opt/etc/xinetd.d/check_mk&lt;/code&gt;&lt;/p&gt;
&lt;pre class=&#34;bash&#34;&gt;# +------------------------------------------------------------------+
# |             ____ _               _        __  __ _  __           |
# |            / ___| |__   ___  ___| | __   |  \/  | |/ /           |
# |           | |   | &#39;_ \ / _ \/ __| |/ /   | |\/| | &#39; /            |
# |           | |___| | | |  __/ (__|   &amp;lt;    | |  | | . \            |
# |            \____|_| |_|\___|\___|_|\_\___|_|  |_|_|\_\           |
# |                                                                  |
# | Copyright Mathias Kettner 2014             mk@mathias-kettner.de |
# +------------------------------------------------------------------+
#
# This file is part of Check_MK.
# The official homepage is at http://mathias-kettner.de/check_mk.
#
# check_mk is free software;  you can redistribute it and/or modify it
# under the  terms of the  GNU General Public License  as published by
# the Free Software Foundation in version 2.  check_mk is  distributed
# in the hope that it will be useful, but WITHOUT ANY WARRANTY;  with-
# out even the implied warranty of  MERCHANTABILITY  or  FITNESS FOR A
# PARTICULAR PURPOSE. See the  GNU General Public License for more de-
# ails.  You should have  received  a copy of the  GNU  General Public
# License along with GNU Make; see the file  COPYING.  If  not,  write
# to the Free Software Foundation, Inc., 51 Franklin St,  Fifth Floor,
# Boston, MA 02110-1301 USA.
 
service check_mk
{
    type           = UNLISTED
    port           = 6556
    socket_type    = stream
    protocol       = tcp
    wait           = no
    user           = root
    server         = /opt/bin/check_mk_agent
 
    # If you use fully redundant monitoring and poll the client
    # from more then one monitoring servers in parallel you might
    # want to use the agent cache wrapper:&amp;lt;br /&amp;gt;
 
    #server         = /usr/bin/check_mk_caching_agent
 
    # configure the IP address(es) of your Nagios server here:
    #only_from      = 127.0.0.1 10.0.20.1 10.0.20.2
 
    # Don&#39;t be too verbose. Don&#39;t log every check. This might be
    # commented out for debugging. If this option is commented out
    # the default options will be used for this service.
    log_on_success =
 
    disable        = no
}
```

Nun müssen noch einige Filtereinstellungen vorgenommen werden. Das folgende Skript nimmt die notwendigen Änderungen in der Datei

`/etc/inc/filter.inc`

automatisch vor. Dazu wird (wieder über **_Diagnostics  → Edit file_**) die Datei /**opt/filter\_check\_mk_cron** angelegt.

&lt;pre class=&#34;bash&#34;&gt;#!/bin/sh
 
grep includedir /etc/inc/filter.inc
if [ $? -eq 0 ]
then
        exit 0
else
        awk &#39;/fclose\(\$xinetd_fd\)\;/{print &#34;fwrite($xinetd_fd, \&#34;includedir /opt/etc/xinetd.d\&#34;);&#34;}1&#39; /etc/inc/filter.inc &amp;gt; /etc/inc/filter.inc.temp
        mv /etc/inc/filter.inc.temp /etc/inc/filter.inc
fi
exit 0
```

Auch dieses Skript muss wieder ausführbar gemacht und letztendlich ausgeführt werden:

`chmod +x /opt/filter_check_mk_cron`

`./opt/filter_check_mk_cron`

Als letztes noch die Filter neu laden (über **_Status → Filter Reload_**) und nun kann man prüfen, ob der Check_MK-Agent funktioniert (IP der Firewall entsprechend anpassen):

`telnet &lt;em&gt;192.168.1.1&lt;/em&gt; 6556`

Wenn alles richtig konfiguriert ist, sollte man die Ausgabe des Check_MK-Agenten sehen.

([Quelle][3])

## pfSense auf Check_MK Server einrichten

Nun muss die Firewall als Host in Check_MK hinzugefügt bzw. den evtl. schon vorhanden Host im WATO editiert werden. Neben der IP, der SNMP Community und dem Hostnamen kann als **Agent type** _**Dual Check: Check_MK Agent + SNMP**_ ausgewählt werden. Mit einem Klick auf _**Save &amp; go to Services**_ können nun die gewünschten Dienste aktiviert werden.

&lt;img loading=&#34;lazy&#34; decoding=&#34;async&#34; class=&#34;aligncenter size-full wp-image-2099&#34; src=&#34;https://zefanjas.de/wp-content/uploads/2017/11/Auswahl_121.png&#34; alt=&#34;pfSense WATO&#34; width=&#34;573&#34; height=&#34;525&#34; srcset=&#34;https://zefanjas.de/wp-content/uploads/2017/11/Auswahl_121.png 573w, https://zefanjas.de/wp-content/uploads/2017/11/Auswahl_121-300x275.png 300w, https://zefanjas.de/wp-content/uploads/2017/11/Auswahl_121-295x270.png 295w&#34; sizes=&#34;(max-width: 573px) 100vw, 573px&#34; /&gt; 

Nun hat man alle wichtigen Infos immer auf einem Blick verfügbar. Hier ein Ausschnitt:

&lt;img loading=&#34;lazy&#34; decoding=&#34;async&#34; class=&#34;aligncenter size-full wp-image-2101&#34; src=&#34;https://zefanjas.de/wp-content/uploads/2017/11/Auswahl_122.png&#34; alt=&#34;pfSense Services&#34; width=&#34;1030&#34; height=&#34;418&#34; srcset=&#34;https://zefanjas.de/wp-content/uploads/2017/11/Auswahl_122.png 1030w, https://zefanjas.de/wp-content/uploads/2017/11/Auswahl_122-300x122.png 300w, https://zefanjas.de/wp-content/uploads/2017/11/Auswahl_122-768x312.png 768w, https://zefanjas.de/wp-content/uploads/2017/11/Auswahl_122-1024x416.png 1024w, https://zefanjas.de/wp-content/uploads/2017/11/Auswahl_122-604x245.png 604w&#34; sizes=&#34;(max-width: 1030px) 100vw, 1030px&#34; /&gt; 

## Fazit

Check_MK ist eine sehr flexible tolle Monitoring-Software. Wir nutzen sie [schon einige Zeit][4] in unserer Schule und die Anpassungsmöglichkeiten sind schier unendlich, was die Benachrichtigungen und zu überwachende Geräte angeht.

**Welche Software habt ihr für das Monitoring im Einsatz?**

 [1]: https://zefanjas.de/2017/11/18/5-grossartige-open-source-programme-die-wir-in-unserer-schule-einsetzen/
 [2]: https://git.mathias-kettner.de/git/?p=check_mk.git;a=blob_plain;f=agents/check_mk_agent.freebsd;hb=HEAD
 [3]: https://neu.lu/2017/03/pfsense-2-3-mit-check_mk-agent/
 [4]: https://zefanjas.de/2016/12/07/open-source-in-der-schul-it-teil-2/</description>
    </item>
    
  </channel>
</rss>
