NetVision-Technik

Zur?ck   NetVision-Technik > Forum > Server > Webserver > Security

Security Hier kommen alle Fragen und Lösungen zur Sicherheit und zu Fixes am Serversystem rein

Umfrageergebnis anzeigen: Was haltet Ihr von diesem Thema
Finde ich gut das es mal einer anschpricht und hilft 5 62,50%
Ich mache es anders aber es ist trotzdem gut 1 12,50%
Völlig blöd , Server Sichermachen geht garnicht 1 12,50%
Kill ALL Script Kiddys 2 25,00%
Multiple-Choice-Umfrage. Teilnehmer: 8. Sie d?rfen bei dieser Umfrage nicht abstimmen

 
 
Themen-Optionen Ansicht
Alt 07.12.2008, 13:07   #1
Server sicher machen - so geht's!
TrackerPolizei TrackerPolizei ist offline 07.12.2008, 13:07
Bewertung: (1 votes - 5,00 average)

Mal ein Tutorial für Unsere Coder anfänger ...
Es ist wie gesagt nur ein Beispiel und es geht auch noch besser .. aber es soll ja auch jeder verstehen können ...


Da ich selbst nur mit SuSE und Debian arbeite, schließe ich Fehler nicht aus, und bin über Korrekturen dankbar! Das Tutorial ist extra einfach gehalten, damit es auch jeder ***** soweit versteht ;o)


Dieses Tutorial bezieht sich nur auf LINUX Systeme!

-------------------------------------------------------------

1. System updaten

Sehr wichtig: als erstes das System updaten. Auch wenn Ihr eine Vorinstallation vom Provider habt, die aktualisieren ihr Template nicht alle 2 Wochen, sondern etwa alle 2 Monate, wenn überhaupt. Deswegen, updaten! Sofort!

Wie das geht, ist von Distribution ("Marke" des Linux Systems) unterschiedlich, bei
  • Debian: apt-get update dann apt-get dist-upgrade
  • SuSE: YaST benutzen
  • Andere: RPM benutzen und damit neue Pakete installieren oder lest in Euren Handbüchern zur jeweiligen Distribution nach.
2. SSH gegen Angriffe absichern, Teil A: root Login verbieten

Damit kein Scriptkiddie über SSH Euer root Passwort knackt, solltet Ihr von vorneherein den Login mit root über SSH verbieten. Folgende Schritte ausführen:
  1. Erstmal neuen Benutzer anlegen:

    useradd Name

    "Name" sollte natürlich nicht "admin", "login", "ssh" oder so was sein, das würde ja keinen Sinn machen. Am besten den eigenen Vornamen, oder "Firmen"namen oder was weiss ich, etwas, worauf man nicht so schnell kommt.
  2. Testen, ob Ihr mit dem User per SSH reinkommt, sonst sperrt Ihr Euch aus! Und Kennwort festlegen:

    passwd Name

    und dann den Anweisungen auf dem Bildschirm folgen.
  3. In der Datei sshd_config (meist unter /etc/ssh) die Zeile

    PermitRootLogin yes

    ändern in

    PermitRootLogin no

  4. Jetzt probieren, ob Ihr noch mit "root" reinkommt. Wenn Ihr noch weiter reinkommt, den Server mal neu starten, das ist am einfachsten ;-) Alternativ könnt Ihr den SSH service selbst neu starten bzw. die Konfiguration neu einlesen lassen.
Ab jetzt könnt Ihr Euch mit dem neuen Benutzer einloggen (der soweit ja keine Rechte hat und damit eher ein Dummy ist). Mit dem Befehl

su -

könnt Ihr zum root-Benutzer wechseln, dabei müsst Ihr dann natürlich das Root-Passwort eingeben!



3. SSH gegen Angriffe absichern, Teil B: Auf Protokoll 2 umsteigen

In der Datei sshd_config (meist unter /etc/ssh) folgende Zeile ändern (wenn Euer Provider das nicht gemacht hat):
Protocol 1
wird zu
Protocol 2



4. SSH gegen Angriffe absichern, Teil C: Nach X Versuchen bannen

Am besten aussortieren, wenn der jenige gerade angreift, deswegen sowas wie fail2ban installieren.
302 Found

Hier eine Installationsanleitung: MANUAL 0 8 - Fail2ban



5. Ports absichern


Die Firewall sollte so konfiguriert sein, dass nur die Ports offen sind, die Du brauchst, d.h. alles sperren außer SSH, FTP, Web, POP/SMTP Ports.

Am besten geht das bei vServern (wenn Euer Provider Virtuozzo verwendet) über die Virtuozzo Firewall. Dort haben sie Euch einige Konfigurationen vorgegeben, einfach erstmal die Standardumgebung nehmen und unter "Regel hinzufügen" / "Regel entfernen" die Ports freigeben, die gebraucht werden. Unter Virtuozzo sind die dann auch schön beschriftet mit "Web server" und "SSH login" usw.

Ansonsten: Klassisch per iptables.



6. "Sicherheitssoftware" installieren

Da gibt es einige Softwares, ich selbst mag chkrootkit, rkhunter und clamAV ganz gerne, deswegen rede ich jetzt mal über die ;-)

Mit chkrootkit und rkhunter könnt Ihr prüfen, ob jemand in Eurem System Software installiert hat, mit denen man den Server steuern kann. Das funktioniert ähnlich wie ein Trojaner. Mehr dazu in der Wikipedia: Rootkit – Wikipedia

Unter Debian z.B. wird das so installiert:
apt-get install chkrootkit
apt-get install rkhunter

ClamAV ist ein kostenloser Virenscanner, den einzurichten ist etwas "kniffliger" für Unwissende und würde den Rahmen dieses Tutorials sprengen. ClamAV gibts bei www.clamav.org



7. Die Programme am besten per Cronjob ausführen

Das sichert einfach, dass Ihr so früh wie möglich von einer Infektion erfahrt und reagieren könnt. Ich habe selbst ein kleines Shell  Script zusammengebastelt, welches Ihr gerne benutzen dürft. Es führt ClamAV aus (der dann die Verzeichnisse /root, /home und /tmp scannt), chkrootkit und rkhunter -- und mailt Euch dann die Logfiles.

--> E-Mail Adresse ersetzen, und ggf. die Logfile Pfade ändern. Der Ordner muss exisitieren, die Dateien selbst werden dann erstellt, wenn das Script ausgeführt wird (nach Datum sortiert).

Code:
#!/bin/sh

### LOG FILES PFADE ###
logfile1=/var/log/security/chkrootkit_scan_`date +%y%m%d`.log
logfile2=/var/log/security/rkhunter_scan_`date +%y%m%d`.log
logfile3=/var/log/security/clamav_scan_`date +%y%m%d`.log

### E-MAIL EMPFAENGER ###
email=deine@adresse.tld

### CHKROOTKIT ###

/usr/sbin/chkrootkit > $logfile1
cat $logfile1 | mail -s "chkrootkit !TREFFER!" $email


### RKHUNTER ###
/usr/bin/rkhunter --update >> /dev/null
/usr/bin/rkhunter -c --cronjob --quiet >> $logfile2
cat $logfile2 | mail -s "rkhunter !TREFFER!" $email


### CLAMAV ###
clamscan -r --quiet -l $logfile3 /home /root /tmp
cat $logfile3 | mail -s "ClamAV-Scan REPORT" $email
Abspeichern als "checkrootkit.sh" in einem beliebigen Ordner (und die Rechte natürlich so setzen, dass der Cron darauf zugreifen kann!! sonst wird das script nicht ausgeführt!), und danach in die Konsole eintippen:

crontab -e

Im folgenden Fenster dann eingeben:

0 3 * * * /pfad/zur/datei/checkrootkit.sh

(/pfad/zur/datei natürlich ersetzen!) Dann wird das Script morgens um 3 Uhr täglich ausgeführt. Wem das mit dem ClamAV Scan zu lange dauert, der kann das auch einfach rausnehmen. Ich mache es einfach, die Ressourcen opfere ich gerne.

--> nicht vergessen, dass ClamAV sich über freshclam auch regelmäßig updated, sonst ist das für die Wurst <--


8. Software aktuell halten! Scripte sicher halten!

Gerade bei Services, wie dem Apache oder postfix ist es SEHR wichtig, dass die Programme aktuell sind, damit Sicherheitslücken geschlossen werden. Vergesst nicht: Bei allem Blabla das wir über SSH gemacht haben, das selbe gilt auch für den FTP service: Wenn der unsicher ist, ist der Angreifer auch schnell drinnen.
Die meisten Vorinstallationen der Provider sind aber relativ gut, sodass die Services vernünftig konfiguriert sein sollten (!), aber bei einem frisch (vor)installierten System immer erstmal in die Konfiguration schauen und versuchen, das nachzuvollziehen, denn nur dann seid Ihr wirklich sicher: Wenn Ihr es VERSTEHT.

Selbes gilt auch für Scripte, z.B. php-Script Eurer Webseite. SQL Injections und Fremdcode sind nur zwei Gefahren. Achtet also darauf, dass Ihr sauber programmiert, alle Benutzereingaben abfangt und ggf. von Schadcode bereinigt. Am besten ein Security-Script einbauen (z.B. über prepend_file in der php.ini), das sicher dann nochmal ab. Kann ja nix schaden.

---

Mir persönlich reicht das erstmal, wenn Ihr Verbesserungen habt, nehme ich die gerne an, dann erweitern wir das. Der Server wird auch dadurch nicht 100% sicher sein, aber er ist sicherer, als vorher. Das ersetzt auch nicht regelmäßige Updates (s. Punkt 1!!)!!

Ich schreibe das hier einfach, weil ich es leid bin, dass einfach nur gemeckert wird "Scriptkiddies, es ist wieder Ferienzeit usw usf", anstatt was dagegen zu machen. Durch solche gehackten Server fließt viel Spam, und ich denke: Kündigen werden die ihren Server eh nicht, deswegen lieber dafür sorgen, dass sie es besser machen.

 
Benutzerbild von TrackerPolizei
TrackerPolizei
Profi
Punkte: 15.522, Level: 80 Punkte: 15.522, Level: 80 Punkte: 15.522, Level: 80
Levelaufstieg: 35% Levelaufstieg: 35% Levelaufstieg: 35%
Aktivität: 25,0% Aktivität: 25,0% Aktivität: 25,0%
Letzte Erfolge
Artikel Benutzer besitzt 1x Profi Benutzer besitzt 1x Ideen-Spender Benutzer besitzt 1x Helfer
Registriert seit: 12.03.2008
Beitr?ge: 986
Abgegebene Danke: 21
Erhielt 1.079 Danke für 154 Beiträge
Downloads: 32
Uploads: 2
Nachrichten: 123
Hits: 32902
Mit Zitat antworten
Folgende 26 Benutzer sagen Danke zu TrackerPolizei für den nützlichen Beitrag:
$iMpLy (07.12.2008), .:.Uranus.:. (07.12.2008), bejay (14.03.2010), bluedog1 (21.07.2009), Bluesteel (24.12.2009), Cerberus (07.12.2008), Cola (29.01.2010), DIABLO (13.02.2009), DirtyPlaya (07.12.2008), DoLo (19.10.2012), Elle (07.12.2008), Entity (07.12.2008), Flori12345 (09.02.2010), gotthummer (07.12.2008), Mauerwerk (18.03.2012), Metalmania (08.02.2009), micmac (06.01.2011), mobby (05.10.2010), NaIch (07.12.2008), One12 (08.09.2009), pandorra (29.02.2012), RedFighter (14.09.2009), SeeYou (07.12.2008), Thunder™ (07.04.2009), wagaman (29.01.2010), wutzi (30.09.2009)
 


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, G?ste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beitr?ge zu antworten.
Es ist Ihnen nicht erlaubt, Anh?nge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beitr?ge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:08 Uhr.


Powered by vBulletin® Version 3.8.9 (Deutsch)
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Template-Modifikationen durch TMS