[SAMMLUNG] Sicherheits-Tipps für Linux

HobbyStern

Aktives Mitglied
Mitglied seit
5 Dez 2005
Beiträge
1,844
Punkte für Reaktionen
0
Punkte
36
Hallo Gemeinde,

ich möchte gerne meine Sicherheits-Tipps für einen gesunden Server hier verewigen und außerdem natürlich auch gerne von anderen Neues erlernen.

Ich möchte darum bitten das hier KEINE Diskussion geführt wird, das darf gerne in einem parallelen Thread geschehen.

Also los ... :

[Port des SSH Dämonen verschieben]
Umsetzung : leicht
Bei öffentlichen Servern verschieben wir den SSH Port des Servers in dem wir die Konfiguration in /etc/ssh/sshd_config verändern (Port 22 auf zB 9922)

[RootKits vorbeugen - automatisiert]
Umsetzung : leicht
Per Debian und seinem Paketdienst apt installieren wir das Paket "chkrootkit" mit apt-get install chkrootkit - dieses wird dann per Abfrage automatisiert - wichtige Einstellung "Erst warnen wenn Prüfung vom Vortag abweicht" Ein manueller Start sicht dann zB so aus :
Code:
asterisk:/etc# chkrootkit
ROOTDIR is `/'
Checking `amd'... not found
Checking `basename'... not infected
Checking `biff'... not found
....
Die Konfiguration unter "/etc/chkrootkit.conf" sollte dann so aussehen :

Code:
RUN_DAILY="true"
RUN_DAILY_OPTS="-q"
DIFF_MODE="true"
[Den Zugriff von bekannten Ips erlauben, unbekannte blocken]

Die Dateien /etc/hosts.allow und /etc/hosts.deny kann man so definieren das sie bestimmte IP Adressen, ganze Ranges oder auch nur Teilsubjekte filtern - das kann auf Dienste bezogen werden, ebenfalls auf eigene IPs (ggf. bei einem Rechner mit mehreren IPs) oder auch auf eigene Bereiche:

In die Datei hosts.allow folgendes eintragen um SSH Verkehr nur von 192.0.0.1 und 192.0.0.2 zuzulassen :

hosts.allow
Code:
sshd: 192.0.0.1,192.0.0.2
Oder SSH für 192.0.0.x sperren (Pattern Matches)

hosts.deny
Code:
sshd: 192.0.0.
Der abschließende Punkt und nichts dahinter zeigt an das es sich um ein PatternMatch handelt, ein Komma kann zu weiteren Verboten führen.

Alle Verbindungen zu TELNET verbieten (gute Idee im öffentlichen Netz)

hosts.deny
Code:
telnet: ALL
[Ein selten verändertes und selten administriertes Dateisystem (Asterisk) sichern]
Umsetzung : mittel
Im Falle eines reinen Asterisk-Servers empfiehlt sich diese Lösung, sie sichert nicht sondern bietet eher eine Chance der Spurenverfolgung bei Problemen - EmailMeldung inklusive. Wir installieren "tripwire" per "apt-get install tripwire" - die folgenden Fragen decken die wichtigsten Einstellungen ab, den site-key sowie den lokalen key und den Hinweis die Binärdateien auf einem RO Medium zu halten.

Als Initialisierung muss TW allen Dateien eine Prüfsumme mitgeben, so erkennt TW eine etwaige Veränderung und meldet diese per Email oder mind. per Logfile.

Wir initialisieren die DB mit "tripwire -init" - das dauert nun etwas und wir bekommen sicherlich einige Fehler, diese müssen wir dann in der TW Richtliniendatenbank entfernen oder aber mind. zu ignorieren melden (sonst kommen sie jeden Tag per Email :) )

Wir öffnen nun die Richtliniendatenbank und verändern sie (das spare ich mir hier) - nur soviel - wer die /etc/tripwire/twpol.txt öffnet wird das System erkennen, ein Beispiel :

Code:
        /etc/init.d             -> $(SEC_BIN) ;
bedeutet das Dateien im Verzeichnis init.d so gekennzeichnet sind das es "binärdateien" sind die nicht verändert werden sollten, wenn doch bekommen wir eine Email. Nun leuchtet auch sicherlich die Bedeutung des RO Mediums bei der Aptitudeinstallation ein, wer die Konfiguration beschreiben kann, kann TripWire steuern..

[Netzwerkeinbrecher an einem öffentlichen Server aufspüren]
Umsetzung : mittel

Mit Hilfe des Tools "snort" können wir live Angriffe entdecken und melden, das schützt zwar nicht mehr, erleichtert aber die Verfolgung und Behebung immens.

Installieren wie immer mit "apt-get install snort", die Hilfspakete sind dabei zu akzeptieren.

Wird weiter ausgebaut

[Virenscanner sorglos - für Dateisysteme mit Gastdateien]
Umsetzung : einfach

Im Grunde ist es sehr einfach einen Virenscanner einzusetzen - per "apt-get install clamav" werden im Grunde alle Pakete installiert, es kommt auf den Einsatzort an was dann noch kommen muss, ich habe auf meinem Samba Rechner sehr viele gepackte Dateien und scanne auch Email-Versände, so habe ich mir ebenfalls "unrar,lha,zoo" etc. installiert um alle Archive sorgenfrei öffnen zu können, "apt-cache search clamav" bekommen wir schnell alle Komponentenoptionen von CLAM.

UPDATE : Wichtig ist lt. Clam anscheinend diese Paketquelle in der /etc/apt/sources.lst zu hinterlegen :

Code:
deb http://volatile.debian.org/debian-volatile etch/volatile main contrib non-free
Nur so bekommt man trotz stabiler Distri die aktuelle CLAM Version. EIn folgendes "apt-get install clamav clamav-freshclam clamav-base" schließt die Sache ab.

Code:
apt-get install unrar-free unzip zoo tar
...sollte Pflicht sein. (zoo nicht mehr unbedingt)

Ist clam einmal installiert ist es natürlich ganz interessant ihn als Dämon zu installieren, für mich ist es wichtiger das es einen täglichen Suchlauf gibt, der die Gastdateien von Samba durchwühlt, das geht dann so

Code:
clamscan --help bringt Hilfe über alle Funktionen

(hier ist die [URL="http://wiki.ubuntuusers.de/ClamAV"]ubuntu Hilfe[/URL]) Meine sieht zB so aus : 

clamscan --quiet -ir --scan-mail=yes --tempdir=/tmp --log=/var/log/clam-scanner.log --detect-broken=yes --move=/virus --mail-follow-urls=yes [VERZEICHNIS-zum-SCANNEN]
Gründe gegen CLAM: Sehr ressourcenfressend, sehr unübersichtlich. Du hast einen besseren Scanner? Her damit!
Wichtig ist es auch Clam ein wenig an die kurze Leine zu nehmen, in meinem Augen macht ein default-setting von ca. 24 Suchvorgängen auf Neue Virendatenbank per freshclam.conf keinen Sinn. Aber das hat jeder selber in der Hand.
 
Zuletzt bearbeitet:
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.