sicheres root-server hosting mit linux

52
© Markus Markert, CHECK24 2013 Sicheres Root-Server Hosting Linux, Firewall, Apache, MySQL, PHP and more

Upload: markusmarkert

Post on 06-Jul-2015

2.767 views

Category:

Documents


3 download

DESCRIPTION

In diesem Workshop zeige ich Euch, wie ihr einen eigenen und sichereren Root-Server für Eure Websites betreibt. Dabei gehe ich auf verschiedenste Konfigurationsparameter der nötigen Dienste (Apache, MySQL, PHP) und auf die Server-Sicherheit (Firewall, IP-Autoblocking, Ports, Updates, Backups) ein.

TRANSCRIPT

Page 1: Sicheres Root-Server Hosting mit Linux

© Markus Markert, CHECK24 2013

Sicheres Root-Server HostingLinux, Firewall, Apache, MySQL, PHP and more

Page 2: Sicheres Root-Server Hosting mit Linux

© Markus Markert, CHECK24 2013

Agenda – Sicheres Root-Server Hosting

1. VORWORT

2. INFRASTRUKTUR

3. LINUX SERVER

4. FIREWALL

5. DIENSTE / PROGRAMME

6. UPDATES / BACKUP

7. CHECKS

8. SCHLUSSWORT

Page 3: Sicheres Root-Server Hosting mit Linux

© Markus Markert, CHECK24 2013

Agenda – Sicheres Root-Server Hosting

1. VORWORT

2. INFRASTRUKTUR

3. LINUX SERVER

4. FIREWALL

5. DIENSTE / PROGRAMME

6. UPDATES / BACKUP

7. CHECKS

8. SCHLUSSWORT

Page 4: Sicheres Root-Server Hosting mit Linux

© Markus Markert, CHECK24 2013

Vorwort

Linux Kenntnisse erforderlich

Zugriff auf den Server per SSH

Standard Einstellungen ändern

Fingerprints suchen und abstellen

100%igen Schutz gibt es nicht

Vielfältige Maßnahmen

Page 5: Sicheres Root-Server Hosting mit Linux

© Markus Markert, CHECK24 2013

Agenda – Sicheres Root-Server Hosting

1. VORWORT

2. INFRASTRUKTUR

3. LINUX SERVER

4. FIREWALL

5. DIENSTE / PROGRAMME

6. UPDATES / BACKUP

7. CHECKS

8. SCHLUSSWORT

Page 6: Sicheres Root-Server Hosting mit Linux

© Markus Markert, CHECK24 2013

Infrastruktur

Webserver (Apache, MySQL) + Firewall (IP-Tables)

Backupserver

Externer Mailserver

3 IP-Adressen

2 IPs Hosting

1 IP Management

Page 7: Sicheres Root-Server Hosting mit Linux

© Markus Markert, CHECK24 2013

Infrastruktur

Webserver

Mailserver Backupserver

IP1

IP2

IP3

Domain 1

IP4

DNS Server

Update Server

IP6

IP7

IP8

Internet

ADMIN

BESUCHER

LegendeHTTP / HTTPS

SSH / FTPS / DNS…

SSH / FTPSIP5

Page 8: Sicheres Root-Server Hosting mit Linux

© Markus Markert, CHECK24 2013

Agenda – Sicheres Root-Server Hosting

1. VORWORT

2. INFRASTRUKTUR

3. LINUX SERVER

4. FIREWALL

5. DIENSTE / PROGRAMME

6. UPDATES / BACKUP

7. CHECKS

8. SCHLUSSWORT

Page 9: Sicheres Root-Server Hosting mit Linux

© Markus Markert, CHECK24 2013

Linux Server

Warum Linux Freiheit (Open Source)

Riesige Softwareauswahl

Gratis

Sicherheit

Stabilität

Vielseitig

Immer auf dem neuesten Stand

Wer braucht eine Grafische Oberfläche bei einem Server?

Abenteuer / Neues Entdecken

Page 10: Sicheres Root-Server Hosting mit Linux

© Markus Markert, CHECK24 2013

Linux Server

Linux Server finden

Strato, Hetzner, Server4you, … -> Plain Images Ubuntu LTS (Long Term Support)

Connect auf Server mit Putty / Konsole

Page 11: Sicheres Root-Server Hosting mit Linux

© Markus Markert, CHECK24 2013

Linux Server

Linux Befehle Man [Programm], cd [Verzeichnis], mv [Datei1] [Datei2], mkdir,

rmdir, ls, vim, apt-get, netstat –lpn, ps –aux

http://www.pc-erfahrung.de/linux/linux-befehle.html

Linux Dateirechte

Page 12: Sicheres Root-Server Hosting mit Linux

© Markus Markert, CHECK24 2013

Linux Server

Linux updaten# apt-get update && apt-get upgrade

Installation von Tasksel# apt-get install tasksel

Tasksel starten# tasksel

LAMP & OpenSSH(Passwörter aufschreiben! ;)

Page 13: Sicheres Root-Server Hosting mit Linux

© Markus Markert, CHECK24 2013

Agenda – Sicheres Root-Server Hosting

1. VORWORT

2. INFRASTRUKTUR

3. LINUX SERVER

4. FIREWALL

5. DIENSTE / PROGRAMME

6. UPDATES / BACKUP

7. CHECKS

8. SCHLUSSWORT

Page 14: Sicheres Root-Server Hosting mit Linux

© Markus Markert, CHECK24 2013

Firewall

Page 15: Sicheres Root-Server Hosting mit Linux

© Markus Markert, CHECK24 2013

Angriffsfläche für Hacker verringern

Nichtbenötigte Verbindungen sperren

FW von Hand mit IP-Tables erstellen (Harte Kost)

Firewall

Mit dem Firewall Builder unter Linux ist es kein Hexenwerk mehr.

Technisches Verständnis natürlich vorausgesetzt ;)

Von möglichen 65.535 Ports werden wir ca. 99,9% schließen

Von quasi möglichen Verbindungen werden wir auf ein Minimum reduzieren

Page 16: Sicheres Root-Server Hosting mit Linux

© Markus Markert, CHECK24 2013

Firewall

Ports der Dienste

SSH – 11222DNS – 53HTTP – 80FTP – 21SMTP - 25

SSH – 11222DNS – 53HTTP – 80FTP – 21SMTP - 25

HTTP – 80HTTPS - 443

HTTP – 80HTTPS - 443 DNS - 53DNS - 53

HTTP – 80FTP - 21

HTTP – 80FTP - 21

SSH - 11222SSH - 11222SMTP - 25SMTP - 25

SSH - 11222SSH - 11222

Page 17: Sicheres Root-Server Hosting mit Linux

© Markus Markert, CHECK24 2013

Firewall

Sammeln für die Firewall:# ifconfig (IPs - inet Adresse und Maske rausschreiben)

# cat /etc/resolv.conf (Nameserver IPs rausschreiben)

Page 18: Sicheres Root-Server Hosting mit Linux

© Markus Markert, CHECK24 2013

Firewall

Sammeln für die Firewall:# vim /etc/apt/sources.list (Domains Updateserver)

de.archive.ubuntu.comsecurity.ubuntu.com…

# host domain.de (Ips herausfinden)

Page 19: Sicheres Root-Server Hosting mit Linux

© Markus Markert, CHECK24 2013

Firewall

Wir sollten folgende IPs gesammelt haben!WAS IP NETZMASKE

Webserver IP1 (Hosting) 1.2.3.4 255.255.225.0

Webserver IP2 (Hosting) 1.2.3.5 255.255.225.0

Webserver IP3 (Management) 1.2.3.6 255.255.225.0

Backupserver IP4 (Backup) 1.2.3.7 255.255.225.0

Admin IP5 (Remote Zugriff) Ip oder Domain -

Mailserver IP6 (Mailversand) 1.2.3.6 255.255.225.0

Update Server IP7(oder mehrere) 1.2.3.7 255.255.225.0

DNS Server IP8 (oder mehrere) 1.2.3.8 255.255.225.0

Page 20: Sicheres Root-Server Hosting mit Linux

© Markus Markert, CHECK24 2013

Firewall

1. Download & Installation Virtual Box2. Ubuntu LTS ISO herunterladen3. Virtuelle Linux Maschine erzeugen4. Linux ISO als Laufwerk einbinden5. Ubuntu installieren

Virtual Box (PC Emulator)

Page 21: Sicheres Root-Server Hosting mit Linux

© Markus Markert, CHECK24 2013

Der Firewall Builder

Firewall

# apt-get install fwbuilder# fwbuilder

Page 22: Sicheres Root-Server Hosting mit Linux

© Markus Markert, CHECK24 2013

Firewall – Firewall Builder

9 Regeln um den Server sicherer zu machen!

Regeln des Firewall Builders

Page 23: Sicheres Root-Server Hosting mit Linux

© Markus Markert, CHECK24 2013

Firewall

Firewall-Skript hochladen /root/

Dateirechte ändern!# chown root:root firewall.sh# chmod 700 firewall.sh

Page 24: Sicheres Root-Server Hosting mit Linux

© Markus Markert, CHECK24 2013

Firewall

Firewall-Rettungsanker (vor dem aussperren ;-)

# crontab –e

#M S T M W User Befehl

*/5 * * * * root /root/flush-firewall.sh

Firewall ausführen# ./firewall.sh

/root/flush-firewall.sh

Test der Dienste, Ausgesperrt? 5 Min warten Firewall ändern.

Page 25: Sicheres Root-Server Hosting mit Linux

© Markus Markert, CHECK24 2013

Agenda – Sicheres Root-Server Hosting

1. VORWORT

2. INFRASTRUKTUR

3. LINUX SERVER

4. FIREWALL

5. DIENSTE / PROGRAMME

6. UPDATES / BACKUP

7. CHECKS

8. SCHLUSSWORT

Page 26: Sicheres Root-Server Hosting mit Linux

© Markus Markert, CHECK24 2013

Dienste / Programme

Unnötige Dienste entfernen# netstat -lpn

# apt-get remove cups

ACHTUNG: Aufpassen was ihr deinstalliert ;-)

Page 27: Sicheres Root-Server Hosting mit Linux

© Markus Markert, CHECK24 2013

Dienste / Programme

Aufgeräumte Dienste

Je weniger Dienste laufen oder installiert sind,umso weniger Fehler / Bugs können auftreten!

# netstat -lpn

Page 28: Sicheres Root-Server Hosting mit Linux

© Markus Markert, CHECK24 2013

Dienste / Programme

SSH

Standard Port ändern, Protokol auf Version 2 zurren, Root-Logins abschalten, auf die Management-IP zurren

# /etc/init.d/ssh restart

/etc/ssh/sshd_config

ACHTUNG: Ab jetzt funktionieren Logins nicht mehr auf dem Port 22!Neue Verbindung erst testen bevor bestehende geschlossen wird.

vorher

nachher

Page 29: Sicheres Root-Server Hosting mit Linux

© Markus Markert, CHECK24 2013

Dienste / Programme

Apache Konfiguration

Aua!

/etc/apache2/conf.d/security

besser

Page 30: Sicheres Root-Server Hosting mit Linux

© Markus Markert, CHECK24 2013

Dienste / Programme

Apache Konfiguration/etc/apache2/apache2.conf

Page 31: Sicheres Root-Server Hosting mit Linux

© Markus Markert, CHECK24 2013

Dienste / Programme

Apache Sicherheitsmodule

Mod_security & Mod_evasive

(Application-Level-Firewall – HTTP analysieren)

Mod_geoip (Komplette Länder sperren -> Fein :)

Mod_spamhaus (Spammer / Server sperren)

Page 32: Sicheres Root-Server Hosting mit Linux

© Markus Markert, CHECK24 2013

Dienste / Programme

PHP

Works, but…..

Page 33: Sicheres Root-Server Hosting mit Linux

© Markus Markert, CHECK24 2013

Dienste / Programme

PHP

Uuuuh

/etc/php5/apache2/php.ini

Schön

Page 34: Sicheres Root-Server Hosting mit Linux

© Markus Markert, CHECK24 2013

Dienste / Programme

PHP/etc/php5/apache2/php.ini

Max_execution_time = 10Max_input_time = 10Memory_limit = 128MDisplay_errors = offLog_errors = OnFile_uploads = OffAllow_url_open = OffAllow_url_include = OffPost_max_size = 1k+

Page 35: Sicheres Root-Server Hosting mit Linux

© Markus Markert, CHECK24 2013

Dienste / Programme

PHP Modul Suhosin# apt-get install php5-suhosin

# cd /etc/php5/conf.d/

# ln –s ../mods-available/suhosin.ini .

# vim suhosin.ini

# /etc/init.d/apache restart

Page 36: Sicheres Root-Server Hosting mit Linux

© Markus Markert, CHECK24 2013

Dienste / Programme

MySQL

Nur lokal, nicht extern

Einlesen von Dateien verbieten

Root Benutzer umbenennen

Ausgelaufene Accounts löschen

Userrechte verwalten

skip-networkingbind-address=127.0.0.1set-variable=local-infile=0

/etc/mysql/my.cnf

Page 37: Sicheres Root-Server Hosting mit Linux

© Markus Markert, CHECK24 2013

Dienste / Programme

Webserver

Log-Dateien

Überwachungtool

ApacheApache

SSHSSH

Log-Dateien

Apache Sicherheitsmodule

fail2banfail2ban

Erweiterter Schutz mit fail2ban

Firewall

Schreibt dynamisch IP-Table Block Listen

HTTP(S), SSHHTTP(S), SSH

Page 38: Sicheres Root-Server Hosting mit Linux

© Markus Markert, CHECK24 2013

Dienste / Programme

SSHSSH

Log-Dateien

Erweiterter Schutz mit fail2ban

Log-Datei/var/log/auth.log

Konfigurationsdatei/etc/fail2ban/jail.conffail2banfail2ban

Page 39: Sicheres Root-Server Hosting mit Linux

© Markus Markert, CHECK24 2013

Dienste / Programme

ApacheApache

Log-Dateien

Erweiterter Schutz mit fail2ban

Log-Dateien/var/vhosts/*/logs/error.log&/var/log/apache*/*.error.log

Konfigurationsdatei/etc/fail2ban/jail.conffail2banfail2ban

Page 40: Sicheres Root-Server Hosting mit Linux

© Markus Markert, CHECK24 2013

Dienste / Programme

ClamAV (Antivirus)# apt-get install clamav clamav-freshclam

ClamAV updaten

# freshclam

ClamAV Skript

# crontab –e

#M S T M W U Befehl

15 0 * * * root /root/clamscan.sh 2>&1

#!/bin/bashclamscan -ri --exclude-dir=^/sys\|^/proc\|^/dev / | mail -s "ClamAV Scan Results for `date +%D`" [email protected]

/root/clamscan.sh

Page 41: Sicheres Root-Server Hosting mit Linux

© Markus Markert, CHECK24 2013

Dienste / Programme

RootKit-Hunters# apt-get install rkhunter

# rkhunter --propupd --update

# rkhunter –c

Cronjob einrichten

# crontab –e

#M S T M W U Befehl

15 0 * * * root /usr/bin/rkhunter –cronjob 2>&1

# apt-get install chkrootkit

# chkrootkit

Cronjob einrichten

# crontab –e

#M S T M W U Befehl

30 0 * * * root /usr/sbin/chkrootkit 2>&1 | mail -s "chkrootkit output" [email protected])

/etc/rkhunter.conf

Page 42: Sicheres Root-Server Hosting mit Linux

© Markus Markert, CHECK24 2013

Agenda – Sicheres Root-Server Hosting

1. VORWORT

2. INFRASTRUKTUR

3. LINUX SERVER

4. FIREWALL

5. DIENSTE / PROGRAMME

6. UPDATES / BACKUP

7. CHECKS

8. SCHLUSSWORT

Page 43: Sicheres Root-Server Hosting mit Linux

© Markus Markert, CHECK24 2013

Updates

Mit apticron BESCHEID wissen# apt-get install apticron && dpkg-reconfigure apticron

(E-Mail Adresse wird Abfrage), manuell einmal starten zum testen

# apticron

Erfolgreich? -> Cronjob einrichten

# crontab –e

#M S T M W Befehl

0 0 * * * /usr/sbin/apticron

Updates durchführen# apt-get update && apt-get upgrade

Page 44: Sicheres Root-Server Hosting mit Linux

© Markus Markert, CHECK24 2013

Backup

1 paar Zeilen Code für ruhigeres schlafenPublic Key Authentifizierung - https://help.ubuntu.com/community/SSH/OpenSSH/Keys

/root/backup.sh

#!/bin/bashcd /root/backup# Mysql Backup erstellenMysqldump –u nur_lese_benutzer –p yoursecret –all-databases –result-file=backup.sqltar cfz backup_mysql_`date +%Y%m%d`.tar.gz rootbackup.sql

#Vhosts Backup erstellenTar cfz backup_vhosts _`date +%Y%m%d`.tar.gz /var/www/

#Kopieren der Backups auf den Backupserverscp -P 11222 backup_* [email protected]:~

#Verschieben der Backups in das Archivmv backup_* archive/

Dateirechte setzen + Crontab Eintrag

Page 45: Sicheres Root-Server Hosting mit Linux

© Markus Markert, CHECK24 2013

Agenda – Sicheres Root-Server Hosting

1. VORWORT

2. INFRASTRUKTUR

3. LINUX SERVER

4. FIREWALL

5. DIENSTE / PROGRAMME

6. UPDATES / BACKUP

7. CHECKS

8. SCHLUSSWORT

Page 46: Sicheres Root-Server Hosting mit Linux

© Markus Markert, CHECK24 2013

Checks

Backbox Linux

http://www.backbox.org/

-> ISO Image, Virtual Box

WPScan

NUR DIE SICHERHEIT DER EIGENEN SYSTEME PRÜFEN!!!

Page 47: Sicheres Root-Server Hosting mit Linux

© Markus Markert, CHECK24 2013

Checks# wpscan –url www.xxx.de

WordPress Version 3.5.1

NUR DIE SICHERHEIT DER EIGENEN SYSTEME PRÜFEN!!!

Danke für die Infos

Page 48: Sicheres Root-Server Hosting mit Linux

© Markus Markert, CHECK24 2013

Checks# wpscan –url www.xxx.de

Verbesserungswürdig, sonst Top

NUR DIE SICHERHEIT DER EIGENEN SYSTEME PRÜFEN!!!

Page 49: Sicheres Root-Server Hosting mit Linux

© Markus Markert, CHECK24 2013

Checks

NMAP# nmap domain.de –sS –p1-1024

Zuviele Ports offen (FTP really bad)

Gut (SMTP schließen wäre Top)

Page 50: Sicheres Root-Server Hosting mit Linux

© Markus Markert, CHECK24 2013

8. SCHLUSSWORT

Agenda – Sicheres Root-Server Hosting

1. VORWORT

2. INFRASTRUKTUR

3. LINUX SERVER

4. FIREWALL

5. DIENSTE / PROGRAMME

6. UPDATES / BACKUP

7. CHECKS

Page 51: Sicheres Root-Server Hosting mit Linux

© Markus Markert, CHECK24 2013

Schlusswort

Page 52: Sicheres Root-Server Hosting mit Linux

© Markus Markert, CHECK24 2013

Kontakt

Markus MarkertOnline Marketing Manager

CHECK24 Media GmbHErika-Mann-Str. 66 Tel. +49 89 2000 47 125580636 München Fax +49 89 2000 47 1011www.check24.de [email protected]