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

Kategorien
Linux

LiveConfig Installer für Ubuntu 18.04

Ich habe mal einen kleinen Installer geschrieben der dir bei der Installation von LiveConfig hilft. Es sind eigentlich alle wichtige Pakete dabei um einen Webserver zu betreiben. Ich empfehle jedoch nicht diesen ohne Linux Kenntnisse zu betreiben.

Unter https://github.com/Nazaled/liveconfig-installer findest du die gesamte Anleitung.

#!/bin/bash
clear
read -p"Soll LiveConfig installiert werden? (j/n)? " response

if [ "$response" == "j" ]; then
# Ändert die hostname und host Datei
        	clear
        echo "Bitte geben Sie die Subdomain ein (z.B. www)."
        	read subdomain
        echo "Bitte geben Sie den Domainnamen ein."
        	read domain
        echo "Bitte geben Sie die IP Adresse des Servers ein."
        	read ip

        sudo printf "$subdomain">/etc/hostname
        sudo printf "127.0.0.1  localhost\n 127.0.1.1   $subdomain.$domain $subdomain\n ::1             localhost ip6-localhost ip6-loopback\n ff02::1  ip6-allnodes\n ff02::2  ip6-allrouters\n $ip    $subdomain.$domain $subdomain">/etc/$
        hostname -F /etc/hostname
        clear

        echo "Es wird ein Update und Upgrade durchgeführt"
                sleep 2
                sudo apt update && sudo apt upgrade -y
                clear
        echo "Paket ntp wird installiert"
                sleep 2
                sudo apt install ntp -y
                clear
        echo "Paket quota wird installiert"
                sleep 2
                sudo apt install quota -y
                clear
        echo "LiveConfig wird installiert"
                sleep 2
                wget -O - https://www.liveconfig.com/liveconfig.key | sudo apt-key add -
                cd /etc/apt/sources.list.d
                sudo wget http://repo.liveconfig.com/debian/liveconfig.list
                sudo apt install aptitude -y && sudo aptitude update -y && sudo aptitude install liveconfig-meta -y && sudo aptitude install liveconfig -y
# Fehlende Pakete installieren die für ein Webserver notwendig sind
		sudo apt-get install php-fpm spamassassin php-pear apache2-suexec-custom postgrey dbconfig-common dbconfig-mysql javascript-common libjs-jquery -y
                sudo systemctl restart apache2
                clear

        echo "Installation ist abgeschlossen Server wird jetzt neugestartet...."
	sleep 2
	sudo reboot now
fi