Debian Jessie Grundkonfiguration

Beispiel Server Grundkonfiguration

Zeitzone konfigurieren

dpkg-reconfigure tzdata

vi

Syntax Highlight für den VI Editor aktivieren, zuerst muss VIM installiert werden:

apt-get -y install vim

Danach kann die Options Syntax auf on gesetzt werden in der Datei /etc/vim/vimrc:

vi /etc/vim/vimrc
" Vim5 and later versions support syntax highlighting. Uncommenting the next
" line enables syntax highlighting by default.
syntax on

MOD

In der motd Datei kann eine Nachricht konfiguriert werden die bei einem erfolgreichem Login angezeigt wird, motd steht für „message of the day“:

vi /etc/motd
*******************************************************************

       This computer system is for authorized users only.

All activity is logged and regulary checked by systems personal.
Individuals using this system without authority or in excess of
their authority are subject to having all their services revoked.
Any illegal services run by user or attempts to take down this
server or its services will be reported to local law enforcement,
and said user will be punished to the full extent of the law.
Anyone using this system consents to these terms.

*******************************************************************

Mount Optionen

Linux speichert standardmässig die letzte Zugriffszeit einer Datei (atime). Wenn diese Information nicht gebraucht wird, können Partitionen mit der Option noatime eingebunden werden, dass bringt einen kleinen Geschwindigkeitsgewinn. Dafür muss die Mount-Options „noatime“ in die /etc/fstab bei ext3 oder ext4 Dateisysteme eingetragen werden:

vi /etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
/dev/mapper/vg_debian-lv_root /               ext4    errors=remount-ro,noatime 0       1
# /boot was on /dev/sda2 during installation
UUID=d6c0ddaf-73e9-4c9b-9565-2e34362fb943 /boot           ext4    defaults,noatime        0       2
# /boot/efi was on /dev/sda1 during installation
UUID=B2CA-DBB6  /boot/efi       vfat    umask=0077      0       1
/dev/mapper/vg_debian-lv_opt /opt            ext4    defaults,noatime        0       2
/dev/mapper/vg_debian-lv_var /var            ext4    defaults,noatime        0       2
/dev/mapper/vg_debian-lv_swap none            swap    sw              0       0
/dev/sr0        /media/cdrom0   udf,iso9660 user,noauto     0       0

SSH

Beim SSH Dienst muss das Root-Login deaktiviert werden und Benutzer dürfen sich nur mit der Public-Key Methode authentifizieren, die DNS Auflösung ebenfalls deaktivieren und nur Strenge Cipher-Algorithmen erlauben (rot markierte Elemente sind Änderungen der Rest neu hinzufügen):

vi /etc/ssh/sshd_config
# Authentication:
LoginGraceTime 120
PermitRootLogin no
StrictModes yes
# Change to no to disable tunnelled clear text passwords
PasswordAuthentication no

Zu unterst in der SSHD Konfiguration folgendes hinzufügen:

# Specifies whether sshd(8) should look up the remote host name and
# check that the resolved host name for the remote IP address maps
# back to the very same IP address.
UseDNS no

# Specifies the ciphers allowed for protocol version 2. Multiple
# ciphers must be comma-separated.
Ciphers aes256-gcm@openssh.com,aes128-gcm@openssh.com,aes256-ctr,aes128-ctr

# Specifies the available MAC (message authentication code) algo-
# rithms.  The MAC algorithm is used in protocol version 2 for data
# integrity protection.  Multiple algorithms must be comma-sepa-
# rated.  The algorithms that contain ``-etm'' calculate the MAC
# after encryption (encrypt-then-mac).
MACs hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-512,hmac-sha2-256,hmac-ripemd160

# Specifies the available KEX (Key Exchange) algorithms.  Multiple
# algorithms must be comma-separated.
KexAlgorithms diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha1

# Specifies whether the distribution-specified extra version suffix
# is included during initial protocol handshake. The default is yes.
DebianBanner no

# List of user name patterns, separated by spaces. login is allowed
# only for user names that match one of the patterns
#AllowUsers admin

Den SSH Dienst neustarten:

systemctl restart ssh

Für das Login muss mindestens WinSCP 5.7.6 genutzt werden und Putty 0.66 am besten man nutzt bei Putty die letzte Snapshot Version.

Firewall

Für die Firewall wird der Kernelinterne Paket Filter iptables genutzt. Um die iptables Regeln automatisch nach einem Neustart des Servers zu laden, wird iptables-persistent benötigt.

iptables persistent installieren:

apt-get install iptables-persistent

Während der Installation kommt ein Dialog Fenster, mit der Frage ob die aktuellen ipv4 und ipv6 Regeln gespeichert werden sollen, diese Frage mit zweimal mit „Yes“ beantworten. Die iptables Regeln werden in der Datei /etc/iptables/rules.v4 und /etc/iptables/rules.v6 abgelegt. Folgende Regel erlaubt nur die Verbindung zum SSH Dienst auf Port 22:

vi /etc/iptables/rules.v4
# Generated by iptables-save v1.4.21 on Wed Aug  3 03:59:18 2016
*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
COMMIT
# Completed on Wed Aug  3 03:59:18 2016
# Generated by iptables-save v1.4.21 on Wed Aug  3 03:59:18 2016
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp --dport 22 -j ACCEPT
-A INPUT -j LOG --log-prefix "ip4tables drop: " --log-level warning
-A INPUT -j DROP
COMMIT
# Completed on Wed Aug  3 03:59:18 2016
# Generated by iptables-save v1.4.21 on Wed Aug  3 03:59:18 2016
*mangle
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
COMMIT
# Completed on Wed Aug  3 03:59:18 2016
vi /etc/iptables/rules.v6
# Generated by ip6tables-save v1.4.21 on Wed Aug  3 03:59:18 2016
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp --dport 22 -j ACCEPT
-A INPUT -j LOG --log-prefix "ip6tables drop: " --log-level warning
-A INPUT -j DROP
COMMIT
# Completed on Wed Aug  3 03:59:18 2016
# Generated by ip6tables-save v1.4.21 on Wed Aug  3 03:59:18 2016
*mangle
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
COMMIT
# Completed on Wed Aug  3 03:59:18 2016

Regeln neu einlesen:

netfilter-persistent reload

CTRL+ALT+DEL

Mit dem Befehl CTRL+ALT+DEL wird Standardmässig das System neugestartet, diese Tastenkombination deaktivieren:

ln -fs /dev/null /lib/systemd/system/ctrl-alt-del.target

Systemd neu laden:

systemctl daemon-reload

Benutzer hinzufügen

Benutzer Max Mustermann erstellen

useradd -c "Max Mustermann <mmustermann@gmail.com>" -m -s /bin/bash mmustermann

Sie haben weitere Fragen zu dieser Anleitung und möchten gerne mehr Informationen oder brauchen Unterstützung? Wir helfen Ihnen gerne, unsere Kontaktdaten finden Sie hier: https://df-informatik.ch/kontakt/