pfsense: sshd auf zwei Ports

Möchte man auf Firewalls sich eine „Not-Türe“ offen lassen, mit der es sich auch per SSH verbinden lässt, wenn z.B. das VPN down ist, tut man gut daran SSH auf einen separaten Port (>1024) zu legen, da der Standard SSH-Port 22 sehr häufig gescannt wird.
Am idealsten ist es nebst dem Standard-Port noch einen zusätzlichen, alternativen Port zu konfigurieren. Dann kann man nämlich beispielsweise den Standard-Port nur von den internen Netzen zu lassen und von aussen nur den alternativen Port, auf dessen Zugriff man gff. auch genauer Protokollieren kann.

Leider geht dies mit pfsense standardmässig nicht – Mit einem kleinen Hack in der Konfiguration ist es aber möglich. Continue reading pfsense: sshd auf zwei Ports

Swisscom FTTH ohne Internetbox

Die neue Glasfaser Technik für Internetanschlüsse verbreitet sich in der Schweiz immer mehr. Einer der Marktführer ist Swisscom.
Zum grossen Leid vieler technisch versierter Kunden lässt sich mit dem Swisscom Glasfaser-Router „Internetbox“ leider kein sogenanntes „bridging“, oder „PPPoE Passthrough“ mehr machen. Das heisst man bekommt die öffentliche IP nicht mehr direkt an einem externen Gateway oder Firewall, die „Internetbox“ gibt nur noch private Netwerk IPs an die angeschlossenen Geräte weiter. Zwar lassen sich mit der „DMZ-Funktion“ die meisten Ports an ein Gerät weiter leiten, doch das ist nicht wirklich zufriedenstellend, wenn man selbst ein Gateway/Firewall/Router betreibt und „Herr über den Datenverkehr“ sein will.

Continue reading Swisscom FTTH ohne Internetbox

VMware vCenter Server Appliance: nrpe daemon installieren

Die vCenter Server Appliance von VMware ist eine tolle Sache. Noch toller, wenn man diese mittels icinga und dem nrpe daemon Überwachen kann. 😉

Continue reading VMware vCenter Server Appliance: nrpe daemon installieren

Firefox: Häufige Schreibvorgänge verlangsamen das Systemen

Der Firefox Browser besitzt eine Funktion die nach einen Browser-Absturz die offenen Fenster- Tabs automatisch wiederherstellen kann. Das ist extrem nützlich, doch Firefox speichert den Zustand der aktuellen Fenster/Tabs jede Minute (bei SSD-Festplatten sogar alle 15 Sekunden!), was zu immensen Schreibvorgängen und damit nicht nur zu einem Verlangsamen des Browsers, sondern des ganzen Systems führt!
Continue reading Firefox: Häufige Schreibvorgänge verlangsamen das Systemen

Prüfen ob Verzeichnis gemountet ist

Mittels dem Programm Mountpoint kann man ganz einfach herausfinden ob ein Verzeichnis gemountet ist oder nicht.

In einem Script könnte man das wie folgt prüfen:

TEST_DIR="/mnt"
MOUNTPOINT="/bin/mountpoint"
 
$MOUNTPOINT -q "$TEST_DIR"
if [ $? -eq 0 ]; then
  echo "mountpoint exists"
else
  echo "mountpoint does not exist"
fi

Auf Prozess ende warten

Manchmal möchte man in einen Script warten bis ein Prozess geendet hat, denn einige Prozesse können nach dem stoppen noch mehrere Sekunden aktiv bleiben.

Dies geht mit einer einfachen while schleife:

#!/bin/bash
 
while [[ -n "$(pgrep -f 'httpd')" ]]
do
  echo "Process HTTP: $(pgrep -f 'httpd') is still running..."
  sleep 1
done
echo "Process finished"

Nun kann man natürlich auch fuser benutzen, um zu testen ob auch wirklich kein Prozess mehr auf das Filesystem zugreift:

#!/bin/bash
 
WEB_FILESYSTEM="/srv/www/"
 
while [[ -n "$(fuser -m $WEB_FILESYSTEM)" ]]
do
  echo -e "The following processes are still accessing the filesystem: $(fuser -mu $WEB_FILESYSTEM)."
  sleep 1
done
echo "No processes are accessing the filesystem."

Das ganze lässt sich nun noch mit einer OR-Bedingung verknüpfen:

#!/bin/bash
 
WEB_FILESYSTEM="/srv/www/"
 
while [[ -n "$(pgrep -f 'httpd')" || -n "$(fuser -m $WEB_FILESYSTEM)" ]]
do
  echo -e "Process (HTTP: $(pgrep -f 'httpd')) is still running and the following processes are still accessing the filesystem: $(fuser -mu $WEB_FILESYSTEM)."
  sleep 1
done
echo "No processes are running or accessing the filesystem."

Suchen und Ersetzen in IMAP/Maildir Mails

Wenn man die Attachments seiner Mails auf einem IMAP Mailserver extrahiert (detached) hat und später der Pfad auf der lokalen Festplatte ändert, kann man die attachments mit dem Mailclient (z.B. Thunderbird) nicht mehr aus der Mail heraus aufrufen.

Wenn man in der glücklichen Lage ist, dass eine, der Server gehört, kann man jedoch ein suchen&erstzen direkt in den Mails machen:

find .Verzeichnis.Unterverzeichnis/cur/ -type f |xargs grep -l 'X-Mozilla-External-Attachment-URL:' |xargs perl -pi -w -e 's%C:/alter/pfad/%C:/neuer/pfad/%g;'

Falls die Mail Attachments ebenfalls auf einem Linux Server abgelegt sind, kann man sich mit folgendem code eine Liste der files generieren und ggf. auf dem fileserver abgleichen:

find .Verzeichnis.Unterverzeichnis/cur/ -type f |xargs grep 'X-Mozilla-External-Attachment-URL:' |cut -d' ' -f2 |sed -e 's%file:///%%g' | sed -e 's%[Cc]:/%/home/benutzername/%g'

Auf dem fileserver kann man die obige ausgabe dann in eine Datei schrieben (z.B.: mail-attachments.txt), danach lassen sich diejenigen Files anzeigen, welche nicht vorhanden sind:

for file in $(cat mail-attachments.txt); do ls -lah $file > /dev/null; done

vmware vMA: Befehle ohne Passwort ausführen

Der vSphere Management Assistant (vMA) ist eine praktische sache, denn damit sich alle ESX hosts von einer zentralen appliance aus managen. Damit man die appliance auch für Automatisierungen nutzen kann sind einige Kniffe notwendig, damit man befehle an die ESX hosts senden kann ohne ein Passwort eingeben zu müssen.

Continue reading vmware vMA: Befehle ohne Passwort ausführen