Unter:

https://www.kaspersky.com/downloads/free-virus-removal-tool

stellt Kaspersky aktuell eine Software zur Verfügung, die auf Linux-Systemen nach Schadsoftware suchen kann (siehe auch den Beitrag bei Heise: https://www.heise.de/news/Kaspersky-Virus-Removal-Tool-fuer-Linux-liefert-erste-Einschaetzung-9755128.html ).

Das Tool wird auf den jeweiligen Rechner nur herunter geladen und erfordert keine weitere Installation, es muss nur ausführbar gemacht werden:

chmod a+x  kvrt.run

Es braucht in der Regel Root-Rechte, die notfalls auch nach dem Start angefordert werden. In den üblichen Beschreibungen ist vor allem die GUI-Nutzung zu finden. Das Tool bietet aber auch die Möglichkeit rein von der Kommando-Zeile aus zu laufen.

Dazu kann man auf die Hilfe zugreifen:

Mit

./kvrt.run --help

bekommt man Hilfe zum Entpacker des Tools.

Makeself version 2.5.0
1) Getting help or info about kvrt.run :
kvrt.run --help Print this message
kvrt.run --check Checks integrity of the archive
kvrt.run --verify-sig key Verify signature agains a provided key id

2) Running kvrt.run :
kvrt.run [options] [--] [additional arguments to product]
with following options (in that order)
--allowuser Do not try to get root privileges
--noexec Do not run product
--noprogress Do not show the progress during the decompression
--target dir Extract directly to a target directory (ONLY absolute path)
This directory must not exist (delete it before extracting).
-- Following arguments will be passed to the product

Hilfe zum eigentliche Removal Tool bekommt man über

./kvrt.run -- -h

liefert dann (eventuell in einem GUI-Fenster):

-h show help
-d <folder_path> path to quarantine and reports folder
-accepteula accept EULA, Privacy Policy and KSN Statement
-trace enable trace collection
-tracelevel <level> set the level of traces: 
ERR - only error messages
WRN - warnings and errors
INF - information, warnings and errors
DBG - all messages
-processlevel <level> set the level of danger of object which will be neutralized:
0 - skip objects with high, medium and low danger level
1 - neutralize objects with high danger level
2 - neutralize objects with high and medium danger level
3 - neutralize objects with high, medium and low danger level
-dontencrypt disable encryption of trace files/reports/dump files
-details enable detailed reports
-proxyconfig <config_file_path> path to file with proxy config
-silent run scan without GUI
-adinsilent run active disinfection in silent mode
-allvolumes add all volumes to scan
-custom <folder_path> path to custom folder for scan
-customlist <file_path> path to file with custom folders for scan
-exclude <folder_path> exclude path from custom scan
-excludelist <file_path> path to file with excludes for custom scan
-customonly run scan of custom folders only

Wenn man den dortigen Hinweisen folgt, dann kann man mittels

./kvrt.run -- -silent -accepteula

das Tool starten.

Ergibt dann im Idealfall eine Ausgabe wie:

Running with root privileges
Generated directory is </tmp/bc7d85d8a6c0437b16834>
Verifying archive integrity... 100% SHA256 checksums are OK. All good.
Uncompressing Kaspersky Virus Removal Tool 24.0.4.0 for Linux 100% 
=================================
Running kvrt with args <-silent -accepteula>
=================================
compver: 24.0.4.0 x86-64 (Apr 12 2024 12:32:49)
Product folder </var/opt/KVRT2024_Data>
=================================
Scan is started
=================================
=================================
Scan is finished with results:
Processed: 37785
Processing errors: 0
Detected: 0
Password protected: 0
Corrupted: 0
=================================
=================================
kvrt exited with code <0>
=================================

Achtung: Bei Tools aus dem Hause Kaspersky sollte man immer auch die Hinweise des BSI im Hinterkopf haben.

In der letzten Zeit habe ich mich mit der flexibleren Installation von PHP beschäftigt (https://www.debacher.de/wiki/Verschiedene_PHP-Versionen_für_Apache). Dabei ist eine Auto-Vervollständigung für apt recht hilfreich. Auf aktuellen Ubuntu-Rechnern ist das für normale Nutzer aktiviert, aber nicht für root.

Ein paar Zeilen helfen hier weiter:

apt install bash-completion

Eventuell ist das Paket schon installiert. Auf alle Fälle muss man dann in der Datei /etc/bash.bashrc ein paar Kommentarzeichen entfernen (ab Zeile 34):

# enable bash completion in interactive shells
if ! shopt -oq posix; then
  if [ -f /usr/share/bash-completion/bash_completion ]; then
    . /usr/share/bash-completion/bash_completion
  elif [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
  fi
fi

Wenn man sich jetzt erneut anmeldet, dann funktioniert die Vervollständigung.

Auf mehreren Systemen habe ich aktuell die Aktualisierung ausführen lassen. Ausgangspunkt war jeweils die Version 20.0.14, die nicht mehr unterstützt wird. Zum Glück ist bei Nextcloud das Update kein großes Problem, wobei der Teufel im Detail steckt.

1. Update auf 21.0.9

Beim Update teilt Nextcloud mit, dass zwei Erweiterungen deaktiviert werden müssten:

  • Deck
  • Talk (speed)

Die Erwähnung von Talk irritierte mich, es ist aber nach dem Update ganz normal vorhanden.

In der Einstellungsübersicht wurde dann auf fehlende Indices hingewiesen. Das lässt sich prinzipiell lösen mittels:

 sudo -u www-data php occ db:add-missing-indices

Doch gab es hier eine Warnung über ein Fehlen von einem  APC Modul. Daher musste ich erst die Zeile

apc.enable_cli=1

in der Datei  /etc/php/7.4/cli/php.ini ergänzen.

Danach ließen sich die Indizes ergänzen.

Bei einem der Systeme gab es dann Fehlermeldungen im Zusammenhang mit Unterverzeichnissen von .well-known. Eigentlich war meine Konfiguration stimmig, ich habe aber dann trotzdem den Alias-Eintrag nochmals für Port 80 und 443 gesetzt:

 Alias /.well-known /var/www/vhosts/beispiel-domain.de/httpdocs/.well-known

Nach einem Neustart des Apache war der Fehler beseitigt.

Und nun noch der nette Hinweis:

Für Deine Installation ist keine Standard-Telefonregion festgelegt....

Das muss man händisch in der Datei config/config.php machen. Dort ergänzt man die Zeile:

'default_phone_region' => 'DE',

Bei einem der Systeme tauchte die Meldung auf:

Dem Modul php-imagick fehlt die SVG-Unterstützung...

Das lässt sich lösen, indem man ein Paket nachinstalliert:

sudo apt install libmagickcore-6.q16-6-extra:amd64

 

2. Update auf 22.2.5

Unter Einstellungen -> Übersicht geht es dann an die nächste Runde des Updates. Danach wurden wieder fehlende Indices moniert, also erneut

 sudo -u www-data php occ db:add-missing-indices

Nun noch in der Apache Konfiguration ergänzen

 Header add Strict-Transport-Security "max-age=15768000"

und dann blieb noch die Fehlermeldung

Eine Hintergrundaufgabe, die nach vom Benutzer importierten SSL-Zertifikaten sucht, läuft noch. Bitte später erneut versuchen.

Das ließ sich nach etwas Recherche beseitigen mittels:

sudo -u www-data php -f ./cron.php

Nun sind alle Prüfungen bestanden.

Wenn das immer so einfach wäre 😉

Veröffentlicht unter linux.

Ein sehr nützliches Tool um die Temperaturen der Hardwarekomponenten auf einem Linux-Rechner anzuzeigen ist Psensor.

Screenshot Psensor

Es kann ja immer mal sein, dass ein Kühler ausfällt oder Staub seine Wirkung verringert. Mit Psensor kann man auch Grenzwerte einstellen, deren Überschreitung einen Alarm auslöst.

Eine Installationsbeschreibung kann ich mir hier schenken, die gibt es unter:

https://pinguin.gws2.de/ubuntu-temperaturen-des-systems-anzeigen-diagnosetool/

https://wiki.ubuntuusers.de/Psensor/

 

Seit einiger Zeit wird es immer schwieriger nach der Ubuntu-Installation phpmyadmin zu nutzen. Mir geht es darum vollen Zugriff auf die Datenbank zu bekommen.

Bei der aktuellen Version gibt es in der Datei /etc/mysql/debian.cnf einen Benutzeraccount:

 # Automatically generated for Debian scripts. DO NOT TOUCH!
 [client] 
 host = localhost
 user = debian-sys-maint
 password = CoitphsNFWH42dLg
 socket = /var/run/mysqld/mysqld.sock
 [mysql_upgrade]
 host = localhost
 user = debian-sys-maint
 password = CoitphsNFWH42dLg
 socket = /var/run/mysqld/mysqld.sock

Die hier angegebenen Zugangsdaten kann man von der Shell aus mittels:

mysql -u debian-sys-maint -p

nutzen. Man kann mit diesem Account auch phpmyadmin nutzen und von dort aus dann die gewünschten Änderungen vornehmen.

 

 

Veröffentlicht unter linux.

Schulen arbeiten meist mit Proxy-Servern. Einerseits um die Internetverbindung etwas schonen zu können, aber auch um die Internetzugriffe zu filtern.

In der Regel will man dafür aber nicht jeden Browser per Hand konfigurieren müssen. Daher gibt es Mechanismen, um die Konfigurationseinstellungen automatisch vornehmen zu können.

Dazu dient in der Regel eine Datei mit dem Namen wpad.dat (einige proprietäte Systeme erwarten den Namen proxy.pac).

Die Datei hat bei unserem IServ folgenden Inhalt:

function FindProxyForURL(url, host)
 {
  if (
   isPlainHostName(host)
   || dnsDomainIs(host, "local")
   || dnsDomainIs(host, "localhost")
   || dnsDomainIs(host, "schule-rlw.de")
   || isInNet(host, "127.0.0.1", "255.0.0.0")
   || isInNet(host, "10.0.0.0", "255.0.0.0")
  ) {
    return "DIRECT";
  } else {
   return "PROXY 172.27.16.2:3128"
  }
 }

Diese Datei kann man dem Client auf folgende Arten zukommen lassen:

1. Per DHCP

In der Konfigurationsdatei DES DHCP-Servers müssen sich die folgenden Zeilen finden:

option proxy-config code 252 = text;
option proxy-config "http://schule-rlw.de/wpad.dat";

Bei TFK-Boxen ist das im Schulrouter Plus unter Dienste -> DHCP-Server zu finden, dort erfolgt der Eintrag in das große Textfenster.

Der Bezeichner, hier proxy-config, ist frei wählbar, muss nur in beiden Zeilen gleich sein. Wesentlich ist die Code-Nummer.

2. Per DNS

Viele Systeme sind in der Lage Autokonfiguration aktiv zu suchen. Dazu rufen sie die URL http://wpad/wpad.dat auf. Es muss also nur ein entsprecchender Eintrag im Nameserver vorhanden sein und die wpad.dat im Wurzelverzeichnis des Webservers liegen. Als Port kommt übrigens nur 80 in Frage, ein Zugriff per https ist nicht konfigurierbar.

 

3. mozilla.cfg

Hat man Zugriff auf eine zentrale Konfigurationsdatei für den Mozilla firefox, so kann man hier die folgenden zeilen eintragen:

pref("network.proxy.autoconfig_url", "http://schule-rlw.de/wpad.dat");
pref("network.proxy.type",2);

Damit wird die automatische Konfiguration aktiviert und gleichzeitig auch der Pfad zur Konfigurationsdatei angegeben.

Bei einem Serverwechsel taucht immer wieder das Problem auf, dass man auch vorhandene Mailman-Listen umziehen möchte. Der Vorgang ist eigentlich ganz einfach. Die Beschreibung geht davon aus, dass Mailman auf dem Zielrechner bereits eingerichtet und funktionsfähig ist.

Im ersten Schritt müssen die Listen-Verzeichnisse aus den Ordnern

/var/lib/mailman/archives/private/
/var/lib/mailman/lists/

kopieren. Für jede Liste gibt es in den Ordnern ein gleichnamiges Verzeichnis und in dem Archivordner noch jeweils eines mit der Extension .mbox. Diese Verzeichnisse werden einfach auf den neuen Server kopiert und dem richtigen Eigentümer übereignet. Unter Ubuntu gehören die Dateien in der Regel lists.list und die übergeordneten Verzeichnisse root.list.

Die Eigentümer müssen jeweils noch richtig gesetzt werden.

Dann geht es noch an zwei Dateien im Verzeichnis data:

aliases
virtal-mailman

Hier finden sich für jede Liste mehrere Zeilen mit den Weiterleitungen. Die benötigten Zeilen holt man sich vom alten Server und hängt sie an die Dateien auf dem neuen Server an. Am Ende müssen die entstandenen Dateien noch in das benutzte Datenbank-Format umgewandelt werden:

/usr/lib/mailman/bin/genaliases

oder man wartet bis mailman das selber macht.

Danach kann man dann vorsichtshalber mailman neu starten.

Falls es Probleme mit der URL für die Liste gibt, so ist wichtig zu wissen, dass die Listenkonfiguration in der Datei:

/var/lib/mailman/lists/<listenname>/config.pck

steckt. Diese Datei kann man z.B. mittels

withlist -l -r fix_url <listname> -u mailman.yyy.com

bearbeiten.

 

Weitere Hinweise unter:

Bei kleinen Grafiken ist der Verwaltungsaufwand beim Laden relativ groß, verglichen mit dem Datenvolumen. Hier bietet es sich an die Grafiken in eine Data-URL umzuwandeln, die direkt im Seitenquelltext angegeben wird.

Gegeben sei die folgende Grafik <img src=“sidebar_more.png“>


Ihre Größe beträgt hier 627 Bytes, was schon relativ viel ist. Mittels:

php -r "echo base64_encode(file_get_contents('sidebar_more.png'));"

wird daraus eine Zeichenkette aus 836 Zeichen, die direkt per Copy&Paste in den Link integriert werden kann (der Teil nach dem Komma):

 <img src="data:image/png;base64, iVBORw0KGgoAAAANSUhEUgAAAMgAAAAaCAIAAAEKy7R7AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAhVJREFUeNpi1IqewEAlwPLz2yeqmfXt01uqmZWqdYBaZgEEEOOgCy8erh9fvnFQJ7zA7vlKzfACCCBG9fAuhsEHWL5/fj94XNORZ1kx6TgotERt0gZhaAEEEDUTPTUj8e+fX4PRWX9+/RgkTrmzrlYlqBnqrN8/vw+eQOJg+fD5KzsobUk65w/KSBxMoYVwVqbhyUHoLIAAYtSM7GMYBcQmrd8/RkNhaOfDAQf3NjUByaqp01bsfIEIrN8/v40GDSawSy6+/4QRPWX9Hk1Z2MCtu4O7TTP4AUAADdLm8iAt4P//+zcaCsQG1r9/f0ZDgejA+jsaWKOBRQFoyzbZefzywXM/MQLrz+/R0EEDf//8nVtT9u/fP5WABpTA+juasrCA/0BsHFv69y87StNBxq14NGzQgLUR9+Vb7z99YUPPhqMpCxMcOv2RgYGJgeHPaJk1WhuOBtagC6xsk7OjoUAkAAgwFs2o/tFQGAW0GHT4OxoKo4AGdeHoAM0ooEnC+jOasEYBUcBQneH5m+9fvjN8+cY52nofBVQDgQ7GkW4+QMbxK6eL+9d9+8Hw+SsHzoT19+/ogMMoIA78/w+hLXVMd0/RLOyfuuv4ZzxV4WjCGgVEAWYmpp+/foSWN9978g1zABkNMEq7FI4G2SigfuN9tCocBbTpFY423kfB6HDDKBgyCSvL+PRoKIwCqgOm">

Und hier als Data-Image eingebunden:

Damit entfällt das zusätzliche Laden der Datei.

Owncloud geht sehr großzügig mit gelöschten Dateien um. Die werden in einen Papierkorb-Ordner verschoben und normalerwise nur dann gelöscht, wenn Speicherplatz knapp wird.

Man kann aber einen oder alle Papierkorb-Ordner von der Konsole aus löschen:

sudo -u wwwrun php occ trashbin:cleanup user

für einen bestimmten User oder

sudo -u wwwrun php occ trashbin:cleanup

für alle User.

Der Befehl occ ist im Wurzelverzeichnis der Installation zu finden.

Veröffentlicht unter linux.

Gelegentlich kann es sinnvoll sein die Passworteingabe beim SSH-Login zu vermeiden. Wenn man den SSH-Login z.B. aus einen Script heraus vornehmen will oder wenn andere Nutzer das Passwort auf dem Server ändern können.

In solch einem Fall kann man mit vorab ausgetauschten Schlüsseln arbeiten.

Dazu meldet man sich einmal normal per SSH- mit Passwort an:

ssh benutzer@server

Das kann auch schon lang vorher einmal geschehen sein. Dann erzeugt man sich sein Schlüsselpaar:

 ssh-keygen -t rsa

Auf eine Passphrase kann man verzichten, wenn man den Zugang für ein Script benötigt.

Es werden hiermit zwei Schlüsseldateien im Ordner .ssh erzeugt:

  • id_rsa
    das ist der private Schlüssel den man nicht weitergegeben darf
  • id_rsa.pub
    das ist der öffentliche Schlüssel, den wir auf den Zielrechner übertragen

An einfachsten kann man mit folgendem Befehl den Schlüssel in einem Rutsch übertragen:

 cat .ssh/id_rsa.pub | ssh benutzer@server 'cat >> .ssh/authorized_keys'
Veröffentlicht unter linux.