Daten aus pfSense Firewall auslesen
Hallo Leute,
erstmal schönes neues Jahr.
Ich verwende eine Pfsense Firewall Version 2.5.2 mit Original Hardware,
ich möchte aus der Firewall Informationen auslesen
wie zB : wie viele User haben sich in Captive Portal an den verschieden Zonen angemeldet.
Die Infos möchte ich auf einer Webseite als Tag und Monat Statistik auswerfen,
um zu sehen wieviel User bei Zone A , B , C angemeldet waren.
Habt ihr eine Idee, wo ich da anfangen kann ohne die Firewall Sicherheit zu gefährden ?
LG Rene
erstmal schönes neues Jahr.
Ich verwende eine Pfsense Firewall Version 2.5.2 mit Original Hardware,
ich möchte aus der Firewall Informationen auslesen
wie zB : wie viele User haben sich in Captive Portal an den verschieden Zonen angemeldet.
Die Infos möchte ich auf einer Webseite als Tag und Monat Statistik auswerfen,
um zu sehen wieviel User bei Zone A , B , C angemeldet waren.
Habt ihr eine Idee, wo ich da anfangen kann ohne die Firewall Sicherheit zu gefährden ?
LG Rene
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 5185515081
Url: https://administrator.de/contentid/5185515081
Ausgedruckt am: 25.11.2024 um 01:11 Uhr
15 Kommentare
Neuester Kommentar
Dafür wirst du eine "richtige" Firewall brauchen oder eine Auswertung selber bauen müssen.
Na ein OEM der deine Bedürfnisse samt Reporting als ein Produkt verkauft.
Wenn du es selber bauen willst, wirst du unter /var/log sicherlich was finden.
Wenn du es selber bauen willst, wirst du unter /var/log sicherlich was finden.
Hallo,
also als Erstes....*sense sind "richtige" Firewall. Ggf sogar besser oder funktionsreicher als mancher OEM Hersteller. Siehe Sophos - Stichwort Lets Encrypt.
@2423392070.... Was sind "richtige" und was sind "falsche" Firewall?
Du kannst deine Logs an einen Syslog Server weiterleiten (z.B. Graylog) und dann via Grafana darstellen. Dort findest du die notwendigen Informationen.
also als Erstes....*sense sind "richtige" Firewall. Ggf sogar besser oder funktionsreicher als mancher OEM Hersteller. Siehe Sophos - Stichwort Lets Encrypt.
@2423392070.... Was sind "richtige" und was sind "falsche" Firewall?
Du kannst deine Logs an einen Syslog Server weiterleiten (z.B. Graylog) und dann via Grafana darstellen. Dort findest du die notwendigen Informationen.
Meiner Meinung nach ist eine richtige Firewall ein Produkt und samt Support vertrieben wird.
Die Sensen sind Spielzeuge die viel zu viele schräge Konfigs zulassen und am Ende des Tages Router mit Paketfilter sind. Die Qualität ist mittlerweile unter aller Kanone. Ich behaupte, dass viele IT-Zertifizierungen nicht mehr möglich sind bzw der Zertifizierer unzählige Ausschlüsse bescheinigt.
Die Sensen sind Spielzeuge die viel zu viele schräge Konfigs zulassen und am Ende des Tages Router mit Paketfilter sind. Die Qualität ist mittlerweile unter aller Kanone. Ich behaupte, dass viele IT-Zertifizierungen nicht mehr möglich sind bzw der Zertifizierer unzählige Ausschlüsse bescheinigt.
Es sind Bundles aber meine Produkte im engeren Sinn.
Wir hatten einen Subsub die Installation zweiter opnSensen in einer Ultrafiltration genehmigt... Ende vom Lied, er hat die Geräte freiwillig selbst getauscht.
Und ja, I geht what I pay.
Wir hatten einen Subsub die Installation zweiter opnSensen in einer Ultrafiltration genehmigt... Ende vom Lied, er hat die Geräte freiwillig selbst getauscht.
Und ja, I geht what I pay.
Servus @cafepost,
die Daten könntest du bspw. direkt auf der pfSense per PHP auslesen und dann wie gewünscht weiterverarbeiten z.B. in eine Datenbank schreiben oder die Daten als JSON zurückliefern, usw..
Habe dir hier mal auf die Schnelle aus der bestehenden Status-Seite für das Captive-Portal eine einfache PHP-Seite umgebaut die die die Basis-Infos zu den aktiven Clients als JSON zurückgibt. Habe ich hier nur zum Test auf einer pfSense 2.6.0 laufen lassen.
Die Standard Captive-Portal-Statusseite auf der pfSense findest du in dessen Filesystem unter /usr/local/www/status_captiveportal.php.
Wenn du den folgenden Code in einer eigenen Datei unter /usr/local/www ablegst , bspw,. als /usr/local/www/captiveportal_stats.php ablegst. Erhältst du z.B. die aktiven Sessions als JSON zurück sofern im Portal angemeldet.
Das kann man sich ja dann umbauen wie man es eben braucht. Natürlich lassen sich auch sämtliche anderen Einstellungen und Daten der pfSense per PHP erreichen und verarbeiten. Das studieren der PHP-Seiten im oben genannten Verzeichnis liefert einem das nötige Wissen um an die Daten zu kommen.
Grüße Uwe
die Daten könntest du bspw. direkt auf der pfSense per PHP auslesen und dann wie gewünscht weiterverarbeiten z.B. in eine Datenbank schreiben oder die Daten als JSON zurückliefern, usw..
Habe dir hier mal auf die Schnelle aus der bestehenden Status-Seite für das Captive-Portal eine einfache PHP-Seite umgebaut die die die Basis-Infos zu den aktiven Clients als JSON zurückgibt. Habe ich hier nur zum Test auf einer pfSense 2.6.0 laufen lassen.
Die Standard Captive-Portal-Statusseite auf der pfSense findest du in dessen Filesystem unter /usr/local/www/status_captiveportal.php.
Wenn du den folgenden Code in einer eigenen Datei unter /usr/local/www ablegst , bspw,. als /usr/local/www/captiveportal_stats.php ablegst. Erhältst du z.B. die aktiven Sessions als JSON zurück sofern im Portal angemeldet.
<?php
require_once("functions.inc");
require_once("captiveportal.inc");
function get_activeusers($cpent) {
global $cpzone;
$session_time = time() - $cpent;
if (!empty($cpent[7]) && !empty($cpent[9])) {
$session_time_left = min($cpent + $cpent[7] - time(),$cpent[9] - time());
} elseif (!empty($cpent[7]) && empty($cpent[9])) {
$session_time_left = $cpent + $cpent[7] - time();
} elseif (empty($cpent[7]) && !empty($cpent[9])) {
$session_time_left = $cpent[9] - time();
}
return [
"ip" =>$cpent['ip'],
"mac" => $cpent['mac'],
"username" => $cpent['username'],
"session_start" => date("d.m.Y H:i:s", $cpent),
"session_time" => convert_seconds_to_dhms($session_time),
"session_time_left" => convert_seconds_to_dhms($session_time_left),
"auth_method" => $cpent['authmethod'],
"zone" => $cpzone
];
}
try{
$sessions = ;
$cpzone = strtolower($_REQUEST['zone']);
init_config_arr(array('captiveportal'));
$a_cp = &$config['captiveportal'];
if (count($a_cp) == 1) {
$cpzone = current(array_keys($a_cp));
}
/* If the zone does not exist, do not display the invalid zone */
if (!array_key_exists($cpzone, $a_cp)) {
$cpzone = "";
}
if (isset($cpzone) && !empty($cpzone) && isset($a_cp[$cpzone]['zoneid'])) {
$cpzoneid = $a_cp[$cpzone]['zoneid'];
}
if (!empty($cpzone)) {
$cpdb = captiveportal_read_db();
foreach ($cpdb as $cpent) {
$sessions = get_activeusers($cpent);
}
}
header("Content-Type: application/json");
echo json_encode($sessions);
}catch(Exception $ex){}
Das kann man sich ja dann umbauen wie man es eben braucht. Natürlich lassen sich auch sämtliche anderen Einstellungen und Daten der pfSense per PHP erreichen und verarbeiten. Das studieren der PHP-Seiten im oben genannten Verzeichnis liefert einem das nötige Wissen um an die Daten zu kommen.
Grüße Uwe
Zitat von @2423392070:
Meiner Meinung nach ist eine richtige Firewall ein Produkt und samt Support vertrieben wird.
Den kann man auch für die pfSense/OpnSense haben.Meiner Meinung nach ist eine richtige Firewall ein Produkt und samt Support vertrieben wird.
Die Sensen sind Spielzeuge die viel zu viele schräge Konfigs zulassen
Sprechen wir hier also von Bedienfehlern?und am Ende des Tages Router mit Paketfilter sind. Die Qualität ist mittlerweile unter aller Kanone.
Woher hast du das?Ich behaupte, dass viele IT-Zertifizierungen nicht mehr möglich sind bzw der Zertifizierer unzählige Ausschlüsse bescheinigt.
Bitte mal Belege hinterlegen.Wir hatten Nov 2018 einen Pentest durch ein externes Kölner Sicherheitsunternehmen. Die sind auch hier mehrfach in den Heisemedien gewesen. Sehr kompetenter Laden. Wären die pfSense/OpnSense ein Problem gewesen, dann hätte man uns damals darauf hingewiesen.
2021 hatten wir einen größeren Netzumbau. Dort war neben anderen Dingen auch die Frage der Firewalls. Auch hier sagte man uns, dass man damit sehr gut fährt. Also, wenn du nichts konkretes hast, was du hier präsentieren kannst, dann sind solche Aussagen wie oben eher bäh und wenig hilfreich.
Es ist aber kein Produkt mit Support. Es ist ein Bundle. Guckt man sich die Support-Leistungen an, dann sieht man dass es eine Art Betriebshilfe ist, mit Aussicht auf bevorzugte Behandlung.
Der Großteil der Pakete die ich offiziell laden kann erhalten keinen Support vom Bundle-Ersteller. Prominentes Beispiel ist Zenamor.
Neben den Bedienfehlern die immer möglich sind, gibt es einfach zu viel schlecht gewartete Software Komponenten, die keiner Kontrolle unterliegen und daher kommt auch keine der genannten für irgendeine nennenswerte Zertifizierung in Frage. Es gibt keinen nationalen oder internationalen Zertifizierer der eine pfSense oder opnSense zertifiziert hat und das wird es so schnell auch nicht geben. Das Design schließt das eigentlich aus.
Und ein Pentest der bestanden wurde, ist keine Zertifizierung. Jeder Speedport besteht einen Pentest und Speedports haben täglich Pentests auf hohen Niveau. Das sagt nichts aus.
Auch wenn es unzählige Erfolgsgeschichten mit den Bundles gibt, es ist am Ende ein besseres Spielzeug. Das muss nichts schlechtes sein.
Um ein paar Ports zu blocken und etwas Traffic zu managen und zu visualisieren ist es sicherlich auch eine gute Sache.
Spätestens, wenn Standardports nicht genutzt werden und der Payload verschlüsselt ist, nimmt der mögliche Mehrwert, den nur die wenigstens erzielen könnten rapide ab.
Der Großteil der Pakete die ich offiziell laden kann erhalten keinen Support vom Bundle-Ersteller. Prominentes Beispiel ist Zenamor.
Neben den Bedienfehlern die immer möglich sind, gibt es einfach zu viel schlecht gewartete Software Komponenten, die keiner Kontrolle unterliegen und daher kommt auch keine der genannten für irgendeine nennenswerte Zertifizierung in Frage. Es gibt keinen nationalen oder internationalen Zertifizierer der eine pfSense oder opnSense zertifiziert hat und das wird es so schnell auch nicht geben. Das Design schließt das eigentlich aus.
Und ein Pentest der bestanden wurde, ist keine Zertifizierung. Jeder Speedport besteht einen Pentest und Speedports haben täglich Pentests auf hohen Niveau. Das sagt nichts aus.
Auch wenn es unzählige Erfolgsgeschichten mit den Bundles gibt, es ist am Ende ein besseres Spielzeug. Das muss nichts schlechtes sein.
Um ein paar Ports zu blocken und etwas Traffic zu managen und zu visualisieren ist es sicherlich auch eine gute Sache.
Spätestens, wenn Standardports nicht genutzt werden und der Payload verschlüsselt ist, nimmt der mögliche Mehrwert, den nur die wenigstens erzielen könnten rapide ab.
Moin,
die meisten infos kannst du dir ja so auf der Sense anzeigen lassen.
Was nicht da ist, lässt sich meist durch Packages erweitern.
Ansonsten empfehle ich dir ebenfalls dich mit z.b. Graylog und Grafana zu beschäftigen. Damit lassen sich alle infos auch grafisch aufbereiten.
Das einzige was der Sense angelastet werden kann ist, dass es eben keine klicki/bunti Oberfläche alla Sophos oder gleichen ist.
Gruß
Spirit
die meisten infos kannst du dir ja so auf der Sense anzeigen lassen.
Was nicht da ist, lässt sich meist durch Packages erweitern.
Ansonsten empfehle ich dir ebenfalls dich mit z.b. Graylog und Grafana zu beschäftigen. Damit lassen sich alle infos auch grafisch aufbereiten.
Das einzige was der Sense angelastet werden kann ist, dass es eben keine klicki/bunti Oberfläche alla Sophos oder gleichen ist.
Gruß
Spirit
Außer der eleganten Lösung von @colinardo kommst du über SNMP auch an die Daten ran. Wenn man sich nicht so tief mit Graylog und Grafana beschäftigen möchte, dann bieten Observium oder auch LibreNMS fertige Lösung die man entsprechend customizen kann. LibreNMS erlaubt da mehr Freiheiten.