Kategorien
Linux Server

iptables Übersicht

Meine kleine iptables Sammlung 🙂

Vollständig mit allen Feldern
iptables -L -v -n
Alle Bereiche schließen und verwerfen
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP
Öffnen aller Bereiche
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
Zurücksetzen und löschen alle eingetragenen Werte
iptables -F
SSH für INPUT und für Schnittstelle ens192
iptables -A INPUT -i ens192 -p tcp –dport 22 -j ACCEPT
DNS für INPUT und für Schnittstelle ens192
iptables -A INPUT -i ens192 -p tcp –dport 53 -j ACCEPT
iptables -A INPUT -i ens192 -p udp –dport 53 -j ACCEPT
Erlaube Webserver Dienste und SSH vom VPN
sudo iptables -A INPUT -i eth0 -p tcp –dport 21 -s VPN-IP -j ACCEPT
sudo iptables -A INPUT -i eth0 -p tcp –dport 80 -s VPN-IP -j ACCEPT
sudo iptables -A INPUT -i eth0 -p tcp –dport 443 -s VPN-IP -j ACCEPT
Erlaube Loopback
iptables -A INPUT -i lo -j ACCEPT
iptables speichern
# Paket iptables-persistent laden
apt-get install iptables-persistent
# für ipv4
iptables-save > /etc/iptables/rules.v4
# für ipv6
iptables-save > /etc/iptables/rules.v6
SSH nur von meiner IP zulassen (VPN)
iptables -A INPUT -p tcp -s YourIP –dport 22 -j ACCEPT
Erlaube bereits aufgebaut Verbindungen weiterhin
iptables -A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT
Auflisten der iptables line number
iptables -L –line-numbers
Löschen der line numbers „3“ in INPUT
iptables -D INPUT 3
ICMP aktivieren
iptables -I INPUT -p icmp –icmp-type destination-unreachable -j ACCEPT
iptables -I INPUT -p icmp –icmp-type source-quench -j ACCEPT
iptables -I INPUT -p icmp –icmp-type time-exceeded -j ACCEPT
Kategorien
Linux Server absichern

Ubuntu 18.04 Server absichern / Google Authenticator (Teil 3)

Nun installieren wir für den SSH Login den Google Authenticator, dafür aktualisieren wir den Repository Cache mit

sudo apt-get update

und installieren den Google Authenticator

sudo apt-get install libpam-google-authenticator

Nun starten wir den Google Authenticator

google-authenticator

Nun bekommst du einige Fragen die du mit y oder n beantworten musst.

Do you want authentication tokens to be time-based (y/n) y

Do you want me to update your "~/.google_authenticator" file (y/n) y

Do you want to disallow multiple uses of the same authentication
token? This restricts you to one login about every 30s, but it increases
your chances to notice or even prevent man-in-the-middle attacks (y/n) y

By default, tokens are good for 30 seconds and in order to compensate for
possible time-skew between the client and the server, we allow an extra
token before and after the current time. If you experience problems with poor
time synchronization, you can increase the window from its default
size of 1:30min to about 4min. Do you want to do so (y/n) n

If the computer that you are logging into isn't hardened against brute-force
login attempts, you can enable rate-limiting for the authentication module.
By default, this limits attackers to no more than 3 login attempts every 30s.
Do you want to enable rate-limiting (y/n) y

Als nächstes müssen wir die Config etwas anpassen. Dafür öffnen wir die Datei sshd

sudo nano /etc/pam.d/sshd

Und suchen @include common-password und schreiben auth required pam_google_authenticator.so drunter.

. . .
# Standard Un*x password updating.
@include common-password
auth required pam_google_authenticator.so

Als nächstes öffnen wir die SSH Config

sudo nano /etc/ssh/sshd_config

und suchen ChallangeResponseAuthentication. Wir ändern den Wert auf yes.

. . .
# Change to yes to enable challenge-response passwords (beware issues with
# some PAM modules and threads)
ChallengeResponseAuthentication yes
. . .

Als nächstes sichern wir die Datei und starten den SSH Dienst neu.

sudo systemctl restart sshd.service

Nach einem Neustart des Servers musst du nun dein User Passwort sowie das den Zahlencode vom Google Authenticator eingeben.

Kategorien
Linux Server absichern

Ubuntu 18.04 Server absichern / SSH Konfiguration (Teil 2)

Nun gilt es den SSH Zugang abzusichern. Der OpenSSH Dienst stellt ein beliebtes Einfallstor für Angreifer bei jeder Linux-basierten Server-Distribution dar.

SSH Root Login verbieten

Wenn du direkten SSH Root Login unter Ubuntu verbieten willst, benötigst du neben dem Root Benutzer mindestens einen weiteren Benutzer, der sich am Server anmelden darf.

ACHTUNG: Wenn du keinen weiteren Benutzer angelegt hast sperrst du dich vom System komplett aus!

Um jetzt einen neuen Benutzer anzulegen musst du folgendes angeben:

sudo adduser BENUTZERNAME

Jetzt muss der Benutzer ja noch in die sudo Gruppe gesetzt werden. Das funktioniert mit folgenden Befehl:

sudo usermod -aG sudo BENUTZERNAME

Als nächstes verbieten wir dem root sich einzuloggen. Editiere die Datei /etc/ssh/sshd_config und setze

PermitRootLogin yes

auf

PermitRootLogin no

Starte nun den SSH Dienst neu:

/etc/init.d/ssh restart (alternativ: service ssh restart)

Nun darf sich Benutzer Root nicht mehr direkt am System anmelden. Wenn du nun zum root wechseln willst geb einfach su ein und das root Passwort.

Kategorien
Linux Server absichern

Ubuntu 18.04 Server absichern / apticron (Teil 1)

Einen eigenen Linux Server zu betreiben ist eine anspruchsvolle Aufgabe. Es gibt hierfür allerhand Optimierungsmöglichkeiten, um die Sicherheit zu erhöhen und Angriffsfläche zu verringern. Hier zeige ich euch wie man einen Ubuntu 18.04 Server absichern und mit ein Monitoring überwachen könnt.

Wichtig ist das man stets nur einen Server mit wirklich erforderlichen Paketen installiert.

Updates sind wichtig

Regelmäßige Updates versorgen dein System mit Patches und neuen Funktionen. Ein ungepatchtes System ist ein hohes Sicherheitsrisiko und Updates dürfen daher nicht vernachlässigt werden. Natürlich habe auch ich keine Lust jeden Tag auf meinen Servern nachzuschauen welches Update nun wieder ansteht.

Hierfür gibt es bei Ubuntu ein schönes Script.

Apticron installieren

Um Apticron nutzen zu können muss folgendes Paket installiert werden:

sudo apt-get install apticron

Um sich nun E-Mails für neue Updates zu schicken zu lassen muss man nur in der Datei /etc/apticron/apticron.conf seine E-Mail Adresse eintragen.

nano /etc/apticron/apticron.conf

EMAIL="deine@mailadresse.de"

Wichtig ist das du vorher Postfix installierst damit der Server dir auch Mails senden kann