the-buccaneer
Goto Top

PfSense 2.15 mit HAVP Package 0.91 1 pkg v1.10.0

Leider ist die Implementierung für HAVP in der PfSense gecrasht, obwohl sich noch einmal ein Coder heldenhaft der Sache angenommen hat.

PfSense 2.2.x sollte aktuell nur noch mit der integrierten Squid-ClamAV Lösung betrieben werden, das geht wohl (endlich) seit der Package Version 0.4.0 auch relativ zuverlässig.

Wer aber noch auf einer älteren Version (z.B. 2.1.5) HAVP einsetzen möchte, der scheitert, denn HAVP ist in der ausgelieferten Konfiguration nicht startfähig.
Ein einfacher Klick auf "Update" bei den Packages in einer bestehenden laufenden Installation führt schon zum Super-Gau. Nichts geht mehr. Ein Rollback auf ein älteres Package ist bei der PfSense nicht möglich. Das wars.

Theoretisch soll es aber gehen, das Packet wird angepasst ausgeliefert und ist, wenn man in die Konfiguration schaut, auch darauf getrimmt, zwischen älteren (1.2.x oder 2.0.x) und neueren (2.1.x oder 2.2.x) zu unterscheiden und verschiedene Installationspfade zu berücksichtigen.

Theoretisch.

Praktisch funktioniert es weder auf der 2.2.x noch auf der 2.1.x . Leider. Ob Doctornotor das mal getestet hat, oder die Anpassungen theoriegeleitet vorgenommen hat? Wer weiss.

Mindestens auf der PfSense 2.1.5 wollte ich aber das HAVP bei einer Neuinstallation zum Laufen bringen. Und siehe da: Es geht!
Auch wenn die Kommentare im PfSense Forum ausser dem Hinweis auf anzupassende Pfade nichts liefern.
Das ist aber wirklich auch schon die ganze Crux. Alles ist da, man muss dem HAVP nur sagen, wo es die Komponenten findet...

Die Installation von HAVP liegt auf einer Neuinstallation PfSense 2.1.5 und einzig installiertem HAVP mitnichten da, wo die havp.inc die Komponenten vermutet.
Das muss nicht so sein, ist aber leider so. Das Package weiss nicht, wo es sich selber gerade installiert hat. Das habe ich so in einigen Jahren PfSense Packages noch nicht erlebt, insbesondere nach Monaten der Fehlerberichte und mehreren Patches... PfSense Package-System... Spielplatz.

Vom Entwickler kommt immer nur noch "dead as a coffin" etc.pp., also mal selber geschaut.

Anpassungen sind alle in der havp.inc vozunehmen. Diese liegt unter /usr/local/pkg/havp.inc

Dort sind unter
* Defines
* ------------------------------------------------------------------------------
*/
/* HAVP */
diverse Variablen definiert, die Verzeichnisse bestimmen.

Diese Verzeichnisse sind für die PfSense 2.1.5 falsch und müssen angepasst werden.

Das kann man nun machen, indem man die für die älteren Versionen definierten Pfade unter "else" (also nicht 2.1.x oder 2.2.x) kopiert und in die Definition unter 2.1 einfügt.

Wer sicher gehen will, kontrolliert vorher, ob die Dateien und Verzeichnisse auf die dort verwiesen wird auch wirklich in seiner Installation so vorhanden sind. Da scheint nämlich das Problem zu liegen, daß diese Strukturen zu variabel sind.

Meine Installation läuft mit:

if ($pf_version == "2.1" || $pf_version == "2.2") {  
	define("HVDEF_WORK_DIR", 	"/usr/local/etc/havp");  
	define("HVDEF_HAVP_PATH", 	"/usr/local/sbin/havp");  
	define('HVDEF_TEMPLATES',	"/usr/pbi/havp-i386/share/examples/havp/templates");  
	define('HVDEF_TEMPLATES_EX',	HVDEF_TEMPLATES . '_ex');  
} else {
	define("HVDEF_WORK_DIR", 	"/usr/local/etc/havp");  
	define('HVDEF_TEMPLATES',	'/usr/local/share/examples/havp/templates');  
	define("HVDEF_HAVP_PATH", 	"/usr/local/sbin/havp");  
	define('HVDEF_TEMPLATES_EX',	HVDEF_TEMPLATES . '_ex');  

Unter define('HVDEF_TEMPLATES', ist es NICHT die "alte" Installation, wie man sieht.

Ebenfalls anzupassen ist die Konfiguration von ClamAV.

Auch hier wieder: Rumsuchen. WO liegen die Sachen wirklich.

Meine Konfig:
>
/* ClamAV */
define('HVDEF_CLAM_RUNDIR',	'/var/run/clamav');
define('HVDEF_CLAM_DBDIR',	'/var/db/clamav');
define('HVDEF_AVLOG_DIR',	'/var/log/clamav');
define('HVDEF_CLAM_SOCKET',	HVDEF_CLAM_RUNDIR . '/clamd.sock');
define('HVDEF_CLAM_PID',	HVDEF_CLAM_RUNDIR . '/clamd.pid');
define('HVDEF_CLAM_LOG',	HVDEF_AVLOG_DIR . '/clamd.log');
if ($pf_version == "2.1" || $pf_version == "2.2") {
	define('HVDEF_CLAM_WORKDIR',	"/usr/local/etc");
	define('HVDEF_CLAM_CONFIG',	"/usr/local/etc/clamd.conf");
	define('HVDEF_FRESHCLAM_CONF',	"/usr/local/etc/freshclam.conf");
	define("HVDEF_CLAMD_PATH", 	"/usr/local/sbin/clamd");
	define('HVDEF_FRESHCLAM_PATH',	"/usr/local/bin/freshclam");
	define('HVDEF_SIGTOOL_PATH',	"/usr/local/bin/sigtool");
} else {
	define('HVDEF_CLAM_WORKDIR',	'/usr/local/etc');
	define('HVDEF_CLAM_CONFIG',	'/usr/local/etc/clamd.conf');
	define('HVDEF_FRESHCLAM_CONF',	'/usr/local/etc/freshclam.conf');
	define("HVDEF_CLAMD_PATH", 	"/usr/local/sbin/clamd");
	define('HVDEF_FRESHCLAM_PATH',	"/usr/local/bin/freshclam");
	define('HVDEF_SIGTOOL_PATH',	"/usr/local/bin/sigtool");
}

Damit läuft HAVP wieder auf meiner PfSense 2.1.5.

Ich habe wohl im Zuge der Anpasungen die clamd.sock und clamd.pid aus einer anderen Installation ins definierte Verzeichnis geschoben. Auch die sind aber irgendwo original vorhanden und man muss sie halt suchen und darauf dann verweisen.

Im Prinzip sollte das aber auch gehen, wenn man die "pfversion" im o.g. code auf 2.2 beschränkt und dann unten den einen verbleibenden falschen Pfad auf die Templates anpasst.

(ClamAV das gleiche)

Was noch nicht geht, ist die access.log Also die "Virus-Alarm" Sachen. Die Seiten werden blockiert, aber in die logs wird nicht geschrieben. Pfade scheinen korrekt, ich finde es auf Anhieb nicht. Ideen willkommen!

Ich glaube, dass es auf dem Weg auch möglich sein sollte, das HAVP auf der 2.2.x wieder in Gang zu bringen, falls jemand das benötigt. Prinzipiell scheint die Installation jedenfalls zu funktionieren.

Warum das so kompliziert ist, weiss nur doctornotor.

Nächtliche Grüße
Buc

Content-Key: 285443

Url: https://administrator.de/contentid/285443

Printed on: April 20, 2024 at 00:04 o'clock