Sicheres Root-Server Hosting
Linux, Firewall, Apache, MySQL, PHP and more




                        © 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

                      © 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

                      © 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




                  © 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

                      © Markus Markert, CHECK24 2013
Infrastruktur
 Webserver (Apache, MySQL) + Firewall (IP-Tables)
 Backupserver
 Externer Mailserver
 3 IP-Adressen
  2 IPs Hosting
  1 IP Management




                     © Markus Markert, CHECK24 2013
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
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
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
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
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
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
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
Firewall




           © Markus Markert, CHECK24 2013
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
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
Firewall
 Sammeln für die Firewall:
 # ifconfig (IPs - inet Adresse und Maske rausschreiben)




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




                       © Markus Markert, CHECK24 2013
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
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
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
Firewall
 Der Firewall Builder
# apt-get install fwbuilder
# fwbuilder




                        © Markus Markert, CHECK24 2013
Firewall – Firewall Builder
 Regeln des Firewall Builders




      9 Regeln um den Server sicherer zu machen!



                         © Markus Markert, CHECK24 2013
Firewall
 Firewall-Skript hochladen /root/
 Dateirechte ändern!
 # chown root:root firewall.sh
 # chmod 700 firewall.sh




                      © Markus Markert, CHECK24 2013
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
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
Dienste / Programme
 Unnötige Dienste entfernen
 # netstat -lpn




 # apt-get remove cups

        ACHTUNG: Aufpassen was ihr deinstalliert ;-)



                           © Markus Markert, CHECK24 2013
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
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
Dienste / Programme
 Apache Konfiguration




                                                                   Aua!
/etc/apache2/conf.d/security




                                                                besser




                               © Markus Markert, CHECK24 2013
Dienste / Programme
 Apache Konfiguration
 /etc/apache2/apache2.conf




                             © 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)




                    © Markus Markert, CHECK24 2013
Dienste / Programme
 PHP




                                             Works, but…..




            © Markus Markert, CHECK24 2013
Dienste / Programme
   PHP




Uuuuh                                                            Schön 


    /etc/php5/apache2/php.ini




                                © Markus Markert, CHECK24 2013
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
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
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
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
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
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
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
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
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
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
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
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
Checks      NUR DIE SICHERHEIT DER EIGENEN SYSTEME PRÜFEN!!!


 Backbox Linux
  http://www.backbox.org/
 -> ISO Image, Virtual Box
  WPScan




                     © Markus Markert, CHECK24 2013
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
Checks            NUR DIE SICHERHEIT DER EIGENEN SYSTEME PRÜFEN!!!


# wpscan –url www.xxx.de
                                         Verbesserungswürdig, sonst Top




                           © 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)




                                © 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

                      © Markus Markert, CHECK24 2013
Schlusswort




              © Markus Markert, CHECK24 2013
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

Sicheres Root-Server Hosting mit Linux

  • 1.
    Sicheres Root-Server Hosting Linux,Firewall, Apache, MySQL, PHP and more © Markus Markert, CHECK24 2013
  • 2.
    Agenda – SicheresRoot-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 – SicheresRoot-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 Kenntnisseerforderlich  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 – SicheresRoot-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 – SicheresRoot-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  WarumLinux  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  LinuxServer finden  Strato, Hetzner, Server4you, … -> Plain Images Ubuntu LTS (Long Term Support)  Connect auf Server mit Putty / Konsole © Markus Markert, CHECK24 2013
  • 11.
    Linux Server  LinuxBefehle  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  Linuxupdaten # 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 – SicheresRoot-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ürHacker 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 derDienste 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ürdie Firewall: # ifconfig (IPs - inet Adresse und Maske rausschreiben) # cat /etc/resolv.conf (Nameserver IPs rausschreiben) © Markus Markert, CHECK24 2013
  • 18.
    Firewall  Sammeln fürdie 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 solltenfolgende 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
  • 21.
    Firewall  Der FirewallBuilder # apt-get install fwbuilder # fwbuilder © Markus Markert, CHECK24 2013
  • 22.
    Firewall – FirewallBuilder  Regeln des Firewall Builders 9 Regeln um den Server sicherer zu machen! © Markus Markert, CHECK24 2013
  • 23.
    Firewall  Firewall-Skript hochladen/root/  Dateirechte ändern! # chown root:root firewall.sh # chmod 700 firewall.sh © Markus Markert, CHECK24 2013
  • 24.
    Firewall  Firewall-Rettungsanker (vordem 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 – SicheresRoot-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
  • 30.
    Dienste / Programme Apache Konfiguration /etc/apache2/apache2.conf © 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
  • 32.
    Dienste / Programme PHP Works, but….. © 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 – SicheresRoot-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 apticronBESCHEID 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 paarZeilen 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 – SicheresRoot-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 – SicheresRoot-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
  • 51.
    Schlusswort © Markus Markert, CHECK24 2013
  • 52.
    Kontakt Markus Markert Online MarketingManager 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