Kategorie: Ubuntu

SSH Guard schütz vor Brute-Force Angriffen

Der SSH-Guard hilft Ihnen beim Schutz vor Brute-Force Angriffen auf den SSH Port. Dabei wird die Log-Datei „/var/log/auth.log“ überwacht und bei falschen Anmeldeversuchen wird die Remote IP-Adresse mit der Firewall (iptables) gesperrt.

Installation aus dem Ubuntu Repo.

sudo apt-get install sshguard

Nach der Installation werden folgende Einstellung in der Firewall iptables vorgenommen.

Erzeugen eines neuen Chain für SSH-Guard.

sudo iptables -N sshguard
sudo ip6tables -N sshguard

Jeder Netzwerkverkehr wird über diesen Chain geführt.

sudo iptables -A INPUT -j sshguard
sudo ip6tables -A INPUT -j sshguard

Der SSH-Guard wird als Dienst gestartet.

sudo service sshguard start

Ein Test mit falschen SSH Login solltem in der Firewall iptables einen neue Eintrag mit „DROP“ enthalten.

sudo iptables -L -v

Eine Whitelist wurde nach der Installation auch erstellt.

sudo vim /etc/sshguard/whitelist

10.0.0.0/8
192.168.178.0/24
office.example.de

NTP Konfigurieren

Das Network Time Protocol (NTP) erlaubt es, das Datum und die Uhrzeit von dem System mit dem Internet zu synchronisieren. Für die Kommunikation wird UDP auf Port 123 verwendet. Der permanente Abgleich von Datum und Uhrzeit erfolgt mit einem NTP Dienst.

Die Installation erfolgt mit dem Befehl.

sudo apt-get install ntp

Der erste Abgleich kann mit dem Befehl ntpdate erfolgen. Eine Liste von NTP Servern findet man auf der Seite von www.pool.ntp.org.

ntpdate de.pool.ntp.org

Die Einstellungen für den NTP Dienst kann man so ändern.

sudo vim /etc/ntp.conf

server 0.de.pool.ntp.org
server 1.de.pool.ntp.org
server 2.de.pool.ntp.org
server 3.de.pool.ntp.org

Der NTP Dienst wird gestartet mit dem Befehl.

sudo service ntp start
sudo service ntp status

Die Serverliste kann man ausgeben mit dem Befehl.

ntpq -p

Systemd verwendet einen eigenen NTP Dienst.

timedatectl status

Sollte NTP nicht aktiviert sein, so kann man die Einstellung ändern.

sudo vim /etc/systemd/timesyncd.conf

[Time]
Servers=0.de.pool.ntp.org 1.de.pool.ntp.org

Nach der Aktivierung sollte NTP aktiv und synchronisiert sein.

sudo timedatectl set-ntp true
sudo timedatectl status

Mail von Kommandozeile versenden

Wie kann ich eine E-Mail von der Kommandozeile versenden?

Zu erst installieren wir die Mail-Util’s.

sudo apt-get install mailutils

Und jetzt kann man schon eine E-Mail versenden.

mail -s "Betreff" recipient@domain.de < nachricht.txt

echo "Nachricht" | mail -a "From: you@example.com" -s "Betreff" recipient@domain.de

Oder mit Sendmail.

sendmail recipient@domain.de
From: you@example.com
Subject: Betreff
Nachricht
.

Sollte die Email beim Empfänger nicht an kommen, muss man die Einstellung von Postfix oder Exim noch einmal prüfen.

sudo dpkg-reconfigure postfix

sudo dpkg-reconfigure exim4-config

Will man die Kommunikation von SMTP selbst mal probieren, so kann man per Telnet auch eine E-Mail senden.

telnet mail.domain.de 25

HELO <senderhostname.de>
EHLO <senderhostname.de>
MAIL FROM:<you@example.com>
RCPT TO:<recipient@domain.de>
DATA
Subject: Test email
 
Body of the email
.
QUIT

Heute sollte die Kommunikation zum SMTP Server nicht mehr unverschlüsselt statt finden. Für die Verschlüsslung werden SSL Zertifikat verwendet.

Mit OpenSSL kann man das Zertifikat von dem SMTP Server überprüfen.

openssl s_client -connect : -servername [-starttls ]

Die Umschaltung auf verschlüsselt Übertragung erfolgt per STARTTLS. Mögliche Werte sind (smtp, pop3, imap).

Hier ein Beispiel für SMTP.

openssl s_client -connect example.com:25 -servername example.com -starttls smtp

Wenn man nur das Zertifikat überprüfen will, geht es auch so.

openssl s_client -connect example.com:25 -starttls smtp -showcerts | openssl x509 -text

Hier eine Liste der Ports für E-Mail Kommunikation.

  • 25 SMTP Empfangen von E-Mails von anderen Mailservern
  • 465 SMTP SSL Client E-Mail Übertragung
  • 587 SMTP TLS Client E-Mail Übertragung
  • 143 IMAP StartTLS Client
  • 993 IMAP TLS/SSL Client
  • 110 POP3 Client
  • 995 POP3 TLS/SSL Client

Ubuntu Dienst Systemd

Ubuntu hat einen Wechseln von Upstart zu SystemD durchgeführt. Für Systemd gibt es einige neue Tools für die Verwaltung der Dienste.

Um eine Übersicht über alle Dienste zu erhalten können Sie diese Option verwenden.

sudo systemctl -all

Um einen Dienst zu start oder stoppen können Sie diese Befehle verwenden.

sudo systemctl start [name.service]
sudo systemctl stop [name.service]
sudo systemctl restart [name.service]
sudo systemctl reload [name.service]
sudo systemctl status [name.service]

Eine neue Funktion von Systemd ist der Timer, mit deren Hilfe kann man Aufgaben automatisieren.

sudo vim /etc/systemd/system/backup.service

[Unit]
Description=Backup
[Service]
ExecStart=/home/user/backup.sh

Der Timer startet den Dienst immer jeden Tag um 2:15 Uhr.

sudo vim /etc/systemd/system/backup.timer

[Unit]
Description=beispiel timer
[Timer]
OnCalendar=02:15
OnUnitInactiveSec=1d

Hiermit starten Sie den Timer.

sudo service systemctl start backup.timer
sudo systemctl list-timers --all
sudo systemctl enable backup.timer
sudo systemctl disable backup.timer
sudo systemctl --failed

Alle Informationen zu Diensten erhalten Sie im Journal.

journalctl --reverse
journalctl --follow
journalctl --unit backup.timer

Mit den Analyze-Tool kann man sich den Startvorgang in einer SVG-Grafikdatei ausgeben lassen.

systemd-analyze plot > /tmp/plot.svg

Ubuntu Paket mit fixer Version installieren

Manchmal ist es notwendig eine bestimmte Version von einem Programm zu verwenden und nicht automatisch auf die neuste Version zu wechseln.

1. Alte Version entfernen

sudo apt-get remove firefox

2. Versionen anzeigen lassen

sudo apt-cache madison firefox
apt-cache show firefox | grep Version

Version: 40.0+build1-0ubuntu0.14.04.1
Version: 38.0+build2-0ubuntu2

3. Version installieren

sudo apt-get install firefox=38.0\*
sudo apt-get install firefox=38.0+build2-0ubuntu2

4. Updates auf neue Version verhindern

sudo apt-mark hold firefox

Sollte man sich doch entscheiden auf die aktuelle Version zu wechseln, kann man den Vorgang auch rückgängig machen.

sudo apt-mark unhold firefox
sudo apt-get upgrade

Eigene Ubuntu / Debian – Pakete erstellen

1. Paketverzeichnis erstellen

mkdir -p /tmp/myproject/DEBIAN/

1.1. HTML (Test) Seite erstellen

cd /tmp/myproject/
mkdir -p ./var/www/
echo "Test" > ./var/www/test.html

2. Kontrolldatei erstellen

cd /tmp/myproject/
vim ./DEBIAN/control

Package: myserver
Version: 0.0.1
Section: server
Priority: optional
Architecture: all
Essential: no
Installed-Size: 1024
Maintainer: User [snap.in@gmail.com]
Description: Statische Seite für den Webserver

2.1. Post-Install und Pre-Uninstall

cd /tmp/myproject/
echo "service apache2 restart" > ./DEBIAN/postinst
chmod +x ./DEBIAN/postinst

3. DEB Packet erstellen

cd /tmp/
dpkg-deb --build myproject

3.1. Debian Packet ansehen

dpkg-deb --contents myproject.deb

3.2. Debian Packet installieren

sudo dpkg -i myproject.deb

3.3. Debian Packet Auflisten

sudo dpkg --list |grep myproject

3.4. Debian Packet de-installieren

sudo dpkg --remove myproject

Ubuntu Update Steuerung mit Alias

Debian und Ubuntu verwenden als Paketverwaltung das Tool „apt-get“. Um ein System auf den aktuellen Stand zu bringen sind immer folgende Schritte notwendig.

1.) Änderungen der Paketliste laden

sudo apt-get update

2.) Ubuntu Distribution updaten

sudo apt-get dist-upgrade

3.) Aufräumen

sudo apt-get --purge autoremove
sudo apt-get autoclean

Diese drei Schritte kann man in einem Kommando als Alias zusammen fassen.

vim ~/.bash_aliases

alias update="sudo apt-get update && sudo apt-get dist-upgrade -y && sudo apt-get --purge autoremove && sudo apt-get autoclean"

Nach einem Re-Login in die BASH kann man alle Schritte mit einem Befehl update starten.

Linux Swap Dynamische Auslagerungsdatei

Unter Linux ist es möglich nicht nur eine Statische Partition für die Auslagerung von RAM zu verwenden, sondern auch eine Datei im Dateisystem.

Für die Installation ist ein extra Dienst notwendig.

sudo apt-get install dphys-swapfile

Die Größe der Auslagerungsdatei können Sie anpassen über die Einstellungen.

sudo vim /etc/dphys-swapfile

Nach dem Start von dem Dienst wird die Datei /var/swap erstellt.

sudo service dphys-swapfile start

Aktiviert wird der zusätzliche Speicher mit diesem Befehl.

sudo swapon -a

Damit der Dienst auch nach einem Neustart automatisch geladen wird, müssen die Runlevel geändert werden.

sudo update-rc.d dphys-swapfile enable

Kommt SystemD zum Einsatz, verwenden Sie das SystemCtl Tool.

sudo systemctl enable dphys-swapfile

Für die Deinstallation gehen Sie in umgedrehter Reihenfolge vor. Auslagerung (Swap) „Deaktivieren“, Dienst „Stoppen“ und „Deinstallieren“.

Eine andere Alternative ist der Dienst „swapspace“. Die Größe der Auslagerungsdatei wird von Ihm dynamisch erstellt.

sudo apt-get install swapspace

Die Swap Datei werden in dem Verzeichnis /var/lib/swapspace/ abgelegt.

Prüfen kann man die Auslagerungsdatei mit dem Befehl.

sudo swapon --show

Linux Swap – Auslagerungsspeicher

Um Linux mehr Speicher zur Verfügung zu stellen, kann man eine Auslagerungsdatei oder eine Partiotion erstellen.

Den aktuellen Zustang anzeigen.

sudo swapon -s

Auslagerungsdatei von 500 MByte im Filesystem erstellen.

sudo dd if=/dev/zero of=/var/cache/swapfile bs=100M count=5
sudo chmod 600 /var/cache/swapfile
sudo mkswap /var/cache/swapfile
sudo swapon /var/cache/swapfile

Nach einem Neustart, soll die Auslagerungsdatei automatisch eingebunden werden.

sudo vim /etc/fstab

/var/cache/swapfile   none    swap    sw    0   0

Weiterhin kann man noch Optimierungen am System durchführen.

Der Wert „swappiness“ zeigt uns in Prozenz (0-100) wie oft das System die Auslagerung durchführen soll. Null Prozent bedeutet, das System verwendet die Auslagerung nur wenn es wirklich notwendig ist. Ein Wert von 100 veranlasst das System so viel wie möglich in die Auslagerung zu verlagern.

Prüfen Sie den Wert mit cat /proc/sys/vm/swappiness.

Um den Wert zu Ändern verwenden Sie den Befehl sysctl.

sudo sysctl vm.swappiness=10

Wenn Sie sich für einen Wert entschieden haben, können Sie den Wert auch Fest eintragen.

sudo vim /etc/sysctl.d/swap.conf

vm.swappiness=10

Weitere Informationen finden Sie hier: https://wiki.ubuntuusers.de/Swap/

Copyright © 2024 Weiter.info

Theme von Anders Norén↑ ↑