Más contenido relacionado La actualidad más candente (20) Similar a Sicheres Root-Server Hosting mit Linux (20) Sicheres Root-Server Hosting mit Linux2. Agenda – Sicheres Root-Server Hosting
1. VORWORT
2. INFRASTRUKTUR
3. LINUX SERVER
4. FIREWALL
5. DIENSTE / PROGRAMME
6. UPDATES / BACKUP
7. CHECKS
8. SCHLUSSWORT
© Markus Markert, CHECK24 2013
3. Agenda – Sicheres Root-Server Hosting
1. VORWORT
2. INFRASTRUKTUR
3. LINUX SERVER
4. FIREWALL
5. DIENSTE / PROGRAMME
6. UPDATES / BACKUP
7. CHECKS
8. SCHLUSSWORT
© Markus Markert, CHECK24 2013
4. 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
© Markus Markert, CHECK24 2013
5. Agenda – Sicheres Root-Server Hosting
1. VORWORT
2. INFRASTRUKTUR
3. LINUX SERVER
4. FIREWALL
5. DIENSTE / PROGRAMME
6. UPDATES / BACKUP
7. CHECKS
8. SCHLUSSWORT
© Markus Markert, CHECK24 2013
6. Infrastruktur
Webserver (Apache, MySQL) + Firewall (IP-Tables)
Backupserver
Externer Mailserver
3 IP-Adressen
2 IPs Hosting
1 IP Management
© Markus Markert, CHECK24 2013
7. Infrastruktur
Legende ADMIN
HTTP / HTTPS
SSH / FTPS / DNS…
SSH / FTPS
IP5 BESUCHER
Domain 1
Internet
DNS Server
IP8
IP1
Webserver Update Server
IP2
IP7
IP3
IP6 IP4
Mailserver Backupserver
© Markus Markert, CHECK24 2013
8. Agenda – Sicheres Root-Server Hosting
1. VORWORT
2. INFRASTRUKTUR
3. LINUX SERVER
4. FIREWALL
5. DIENSTE / PROGRAMME
6. UPDATES / BACKUP
7. CHECKS
8. SCHLUSSWORT
© Markus Markert, CHECK24 2013
9. 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
© Markus Markert, CHECK24 2013
10. Linux Server
Linux Server finden
Strato, Hetzner, Server4you, … -> Plain Images Ubuntu
LTS (Long Term Support)
Connect auf Server mit Putty / Konsole
© Markus Markert, CHECK24 2013
11. 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
© Markus Markert, CHECK24 2013
12. 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! ;)
© Markus Markert, CHECK24 2013
13. Agenda – Sicheres Root-Server Hosting
1. VORWORT
2. INFRASTRUKTUR
3. LINUX SERVER
4. FIREWALL
5. DIENSTE / PROGRAMME
6. UPDATES / BACKUP
7. CHECKS
8. SCHLUSSWORT
© Markus Markert, CHECK24 2013
14. Firewall
© Markus Markert, CHECK24 2013
15. Firewall
Angriffsfläche für Hacker verringern
Von möglichen 65.535 Ports werden wir ca. 99,9% schließen
Nichtbenötigte Verbindungen sperren
Von quasi möglichen Verbindungen werden wir auf ein Minimum reduzieren
FW von Hand mit IP-Tables erstellen (Harte Kost)
Mit dem Firewall Builder unter Linux ist es kein Hexenwerk mehr.
Technisches Verständnis natürlich vorausgesetzt ;)
© Markus Markert, CHECK24 2013
16. Firewall
Ports der Dienste
SSH - -11222
SSH 11222
HTTP ––80
HTTP 80
HTTPS - -443 DNS - -53
DNS 53
HTTPS 443
HTTP ––80
HTTP 80
FTP - -21
FTP 21
SSH ––11222 SSH - -11222
SSH 11222
SSH 11222 SMTP - -25
SMTP 25
DNS ––53
DNS 53
HTTP ––80
HTTP 80
FTP ––21
FTP 21
SMTP - -25
SMTP 25
© Markus Markert, CHECK24 2013
17. Firewall
Sammeln für die Firewall:
# ifconfig (IPs - inet Adresse und Maske rausschreiben)
# cat /etc/resolv.conf (Nameserver IPs rausschreiben)
© Markus Markert, CHECK24 2013
18. Firewall
Sammeln für die Firewall:
# vim /etc/apt/sources.list (Domains Updateserver)
de.archive.ubuntu.com
security.ubuntu.com
…
# host domain.de (Ips herausfinden)
© Markus Markert, CHECK24 2013
19. 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
© Markus Markert, CHECK24 2013
20. Firewall
Virtual Box (PC Emulator)
1. Download & Installation Virtual Box
2. Ubuntu LTS ISO herunterladen
3. Virtuelle Linux Maschine erzeugen
4. Linux ISO als Laufwerk einbinden
5. Ubuntu installieren
© Markus Markert, CHECK24 2013
22. Firewall – Firewall Builder
Regeln des Firewall Builders
9 Regeln um den Server sicherer zu machen!
© Markus Markert, CHECK24 2013
24. Firewall
Firewall-Rettungsanker (vor dem aussperren ;-)
/root/flush-firewall.sh
# crontab –e
#M S TMW User Befehl
*/5 * *** root /root/flush-firewall.sh
Firewall ausführen
# ./firewall.sh
Test der Dienste, Ausgesperrt? 5 Min warten Firewall ändern.
© Markus Markert, CHECK24 2013
25. Agenda – Sicheres Root-Server Hosting
1. VORWORT
2. INFRASTRUKTUR
3. LINUX SERVER
4. FIREWALL
5. DIENSTE / PROGRAMME
6. UPDATES / BACKUP
7. CHECKS
8. SCHLUSSWORT
© Markus Markert, CHECK24 2013
26. Dienste / Programme
Unnötige Dienste entfernen
# netstat -lpn
# apt-get remove cups
ACHTUNG: Aufpassen was ihr deinstalliert ;-)
© Markus Markert, CHECK24 2013
27. Dienste / Programme
Aufgeräumte Dienste
# netstat -lpn
Je weniger Dienste laufen oder installiert sind,
umso weniger Fehler / Bugs können auftreten!
© Markus Markert, CHECK24 2013
28. Dienste / Programme
SSH
Standard Port ändern, Protokol auf Version 2 zurren,
Root-Logins abschalten, auf die Management-IP zurren
/etc/ssh/sshd_config
# /etc/init.d/ssh restart
ACHTUNG: Ab jetzt funktionieren Logins nicht mehr auf dem Port 22!
Neue Verbindung erst testen bevor bestehende geschlossen wird.
vorher
nachher
© Markus Markert, CHECK24 2013
29. Dienste / Programme
Apache Konfiguration
Aua!
/etc/apache2/conf.d/security
besser
© Markus Markert, CHECK24 2013
31. 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)
© Markus Markert, CHECK24 2013
33. Dienste / Programme
PHP
Uuuuh Schön
/etc/php5/apache2/php.ini
© Markus Markert, CHECK24 2013
34. Dienste / Programme
PHP
/etc/php5/apache2/php.ini
Max_execution_time = 10
Max_input_time = 10
Memory_limit = 128M
Display_errors = off
Log_errors = On
File_uploads = Off
Allow_url_open = Off
Allow_url_include = Off
Post_max_size = 1k
+
© Markus Markert, CHECK24 2013
35. 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
© Markus Markert, CHECK24 2013
36. Dienste / Programme
MySQL
Nur lokal, nicht extern
Einlesen von Dateien verbieten
Root Benutzer umbenennen
Ausgelaufene Accounts löschen
Userrechte verwalten
/etc/mysql/my.cnf
skip-networking
bind-address=127.0.0.1
set-variable=local-infile=0
© Markus Markert, CHECK24 2013
37. Dienste / Programme
Erweiterter Schutz mit fail2ban
Apache Sicherheitsmodule
Webserver Firewall HTTP(S), SSH
HTTP(S), SSH
Apache
Apache
Log-Dateien
SSH
SSH
Überwachungtool Log-Dateien
fail2ban
fail2ban
Schreibt dynamisch IP-Table Block Listen
© Markus Markert, CHECK24 2013
38. Dienste / Programme
Erweiterter Schutz mit fail2ban
Konfigurationsdatei
fail2ban
fail2ban SSH
SSH
/etc/fail2ban/jail.conf
Log-Dateien
Log-Datei
/var/log/auth.log
© Markus Markert, CHECK24 2013
39. Dienste / Programme
Erweiterter Schutz mit fail2ban
Konfigurationsdatei
fail2ban
fail2ban Apache
Apache
/etc/fail2ban/jail.conf
Log-Dateien
Log-Dateien
/var/vhosts/*/logs/error.log
&
/var/log/apache*/*.error.log
© Markus Markert, CHECK24 2013
40. Dienste / Programme
ClamAV (Antivirus)
# apt-get install clamav clamav-freshclam
ClamAV updaten
# freshclam
ClamAV Skript
#!/bin/bash
clamscan -ri --exclude-dir=^/sys|^/proc|^/dev / |
mail -s "ClamAV Scan Results for `date +%D`"
xxx@xxx.de
/root/clamscan.sh
# crontab –e
#M S T M W U Befehl
15 0 * * * root /root/clamscan.sh 2>&1
© Markus Markert, CHECK24 2013
41. Dienste / Programme
RootKit-Hunters
# apt-get install rkhunter # apt-get install chkrootkit
# rkhunter --propupd --update # chkrootkit
# rkhunter –c Cronjob einrichten
Cronjob einrichten # crontab –e
# crontab –e #M S T M W U Befehl
#M S T M W U Befehl 30 0 * * * root /usr/sbin/chkrootkit 2>&1 | mail -s
"chkrootkit output" xxx@xxx.xxx)
15 0 * * * root /usr/bin/rkhunter –cronjob
2>&1
/etc/rkhunter.conf
© Markus Markert, CHECK24 2013
42. Agenda – Sicheres Root-Server Hosting
1. VORWORT
2. INFRASTRUKTUR
3. LINUX SERVER
4. FIREWALL
5. DIENSTE / PROGRAMME
6. UPDATES / BACKUP
7. CHECKS
8. SCHLUSSWORT
© Markus Markert, CHECK24 2013
43. 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 TMW Befehl
00 *** /usr/sbin/apticron
Updates durchführen
# apt-get update && apt-get upgrade
© Markus Markert, CHECK24 2013
44. Backup
1 paar Zeilen Code für ruhigeres schlafen
Public Key Authentifizierung - https://help.ubuntu.com/community/SSH/OpenSSH/Keys
/root/backup.sh
#!/bin/bash
cd /root/backup
# Mysql Backup erstellen
Mysqldump –u nur_lese_benutzer –p yoursecret –all-databases –result-file=backup.sql
tar cfz backup_mysql_`date +%Y%m%d`.tar.gz rootbackup.sql
#Vhosts Backup erstellen
Tar cfz backup_vhosts _`date +%Y%m%d`.tar.gz /var/www/
#Kopieren der Backups auf den Backupserver
scp -P 11222 backup_* backupuser@backupserver.de:~
#Verschieben der Backups in das Archiv
mv backup_* archive/
Dateirechte setzen + Crontab Eintrag
© Markus Markert, CHECK24 2013
45. Agenda – Sicheres Root-Server Hosting
1. VORWORT
2. INFRASTRUKTUR
3. LINUX SERVER
4. FIREWALL
5. DIENSTE / PROGRAMME
6. UPDATES / BACKUP
7. CHECKS
8. SCHLUSSWORT
© Markus Markert, CHECK24 2013
46. Checks NUR DIE SICHERHEIT DER EIGENEN SYSTEME PRÜFEN!!!
Backbox Linux
http://www.backbox.org/
-> ISO Image, Virtual Box
WPScan
© Markus Markert, CHECK24 2013
47. Checks NUR DIE SICHERHEIT DER EIGENEN SYSTEME PRÜFEN!!!
# wpscan –url www.xxx.de
WordPress Version 3.5.1
Danke für die Infos
© Markus Markert, CHECK24 2013
48. Checks NUR DIE SICHERHEIT DER EIGENEN SYSTEME PRÜFEN!!!
# wpscan –url www.xxx.de
Verbesserungswürdig, sonst Top
© Markus Markert, CHECK24 2013
49. Checks
NMAP
# nmap domain.de –sS –p1-1024
Zuviele Ports offen (FTP really bad)
Gut (SMTP schließen wäre Top)
© Markus Markert, CHECK24 2013
50. Agenda – Sicheres Root-Server Hosting
1. VORWORT
2. INFRASTRUKTUR
3. LINUX SERVER
4. FIREWALL
5. DIENSTE / PROGRAMME
6. UPDATES / BACKUP
7. CHECKS
8. SCHLUSSWORT
© Markus Markert, CHECK24 2013
52. Kontakt
Markus Markert
Online Marketing Manager
CHECK24 Media GmbH
Erika-Mann-Str. 66 Tel. +49 89 2000 47 1255
80636 München Fax +49 89 2000 47 1011
www.check24.de markus.markert@check24.de
© Markus Markert, CHECK24 2013