logs per mail mit logcheck

Regelmäßig seine Logfiles zu checken ist wichtig, ich lasse mir meine per Mail schicken. logcheck schreibt bei Security Events selbiges in das Subject, da sieht man gleich wenn was ungewöhnliches passiert.

lediglich in /etc/logcheck/logcheck.conf die eigene Emailadresse eintragen und der Rest passiert mehr oder weniger von selbst.

Lebkuchen Rezept

Danke @Familie Jonitz für das Lebkuchenrezept. Dieses Jahr gibt es endlich mal wieder welchen 🙂

(c) irgendeine oldschool zeitschrift…


Daemoninisieren mit screen

Mit screen kann man ganz elegant ein Programm in den Hintergrund verbannen und danach die Shell beenden. Das ist bei Remoteverbindungen natürlich sehr praktisch. screen startet eine frische Terminalinstanz wenn ich das richtig verstehe. Da startet man dann wie gewohnt sein Programm und mit STRG-A und dann STRG-D schickt man es in den Hintergrund. Anders als bei befehl-xx && kann man danach die SSH-Verbindung schließen und der Prozess bleibt bestehen. Mittels

screen -r

bekommt man das Programm zuzrück in die aktuelle Shell. Sehr Praktisch.

apt autoremove, ja danke -.-

Die folgenden Pakete wurden automatisch installiert und werden nicht mehr benötigt:
catdoc dbconfig-common dbconfig-mysql default-mysql-server galera-3 libaio1
libcgi-fast-perl libcgi-pm-perl libconfig-inifiles-perl libcurl3
libdbd-mysql-perl libfcgi-perl libhtml-template-perl libjemalloc1 liblept5
libreadline5 libtesseract-data libtesseract3 libwbxml2-0 libwbxml2-utils
mariadb-client-10.1 mariadb-client-core-10.1 mariadb-common
mariadb-server-10.1 mariadb-server-core-10.1 mysql-server php-curl php-gd
php-mysql php7.0-curl php7.0-gd php7.0-mysql rsync socat tesseract-ocr
tesseract-ocr-eng tesseract-ocr-equ tesseract-ocr-osd tnef
Verwenden Sie »sudo apt autoremove«, um sie zu entfernen.

Dem folge zu leisten war keine gute Idee. Meine lokale OwnCloud gleich so:

Exception occurred while logging exception: Failed to connect to the database: An exception occured in driver: SQLSTATE[HY000] [2002] No such file or directory
#0 /var/www/owncloud/lib/composer/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(429): OC\DB\Connection->connect()

meh. erst denken, dann automatischen tools glauben, anscheinend.

Linux security audit mit CISOfy Lynis

MIt Lynis kann man sich wunderbar an ein sicheres System herantasten und sich einige Tips holen. Nachdem man lynis installiert hat, kann man mittels lynis audit system einen Report bekommen, der erzählt einem vieles über das eigene System.

[+] File systems
————————————
– Checking mount points
– Checking /home mount point [ OK ]
– Checking /tmp mount point [ OK ]
– Checking /var mount point [ OK ]
– Query swap partitions (fstab) [ OK ]
– Testing swap partitions [ OK ]
– Testing /proc mount (hidepid) [ VORSCHLAG ]
– Checking for old files in /tmp [ OK ]
– Checking /tmp sticky bit [ OK ]
– Checking /var/tmp sticky bit [ OK ]
– ACL support root file system [ AKTIVIERT ]
– Mount options of / [ NON DEFAULT ]
– Mount options of /home [ NON DEFAULT ]
– Mount options of /tmp [ NON DEFAULT ]
– Mount options of /var [ NON DEFAULT ]
– Disable kernel support of some filesystems
– Discovered kernel modules: freevxfs hfs hfsplus jffs2 squashfs udf

Z.B. sollte ich mich mal mit hidepid beschäftigen. https://linux-audit.com/linux-system-hardening-adding-hidepid-to-proc/ Die netten Leute von Lynis stellen auch noch einen Blog bereit in dem man Tips zur Lösung gefundener Sicherheitsprobleme finde kann. Danke @CISOfy

Ich werde bei Gelegenheit auf einzelne Punkte des Scans eingehen.

Einfach iptables einrichten mit firehol

apt-get install firehol

Als erstes edtiert man /etc/default/firehol damit init.d firehol auch startet:

# To enable firehol at startup set START_FIREHOL=YES (init script variable)
START_FIREHOL=YES

Die default option wäre NO.

Danach müssen wir Regeln anlegen unter /etc/firehol/firehol.conf. Das ist glücklicherweise sehr einfach. Man könnte z.B. folgendes benutzen:

# Accept icmp, ssh and ping from internet
interface any internet
   protection strong
   server icmp accept
   server ping accept
   server ssh accept
   client all accept

Damit wäre für alle aus dem Internet nur ein ping/traceroute und eine ssh Verbindung möglich. „protection strong“ schützt vor syn und icmp-floods. Es gibt noch andere server Profile wie z.B. smtp, pop3 usw. man könnte auch  mehrere Server Profile definieren:

server „ssh http smtp pop3“ accept

Nun nur noch mit

/etc/init.d/firehol start

firehol starten und die Ports sind dicht 🙂

Weiterführende Einrichtung unter http://firehol.org/firehol-manual/firehol-conf/

auditd

Mit auditd kann man unter anderm Änderungen an bestimmten Dateien überwachen lassen

auditctl -w /file/path -p rwxa -k filter_key_in_aureport

Report ausgeben:

aureport -f /file/path

Mit aureport kann man sich z.B. auch Login und Auth-Versuche anzeigen lassen:

# aureport -au

Authentication Report
============================================
# date time acct host term exe success event
============================================
1. 11/16/2018 19:15:46 dexter x.x.x.x ssh /usr/sbin/sshd no 40
2. 11/16/2018 19:16:47 viper x.x.x.x ssh /usr/sbin/sshd no 51

 

Hello world!

So, ich starte einen neuen Blog um mich an Dinge zu erinnern und hin und wieder mal was zu posten ohne damit FB oder ähnliches zu füttern.