Sicherheit – Security
FIREWALL – FireHol
Als Firewall nehme ich mal FireHol. Ein gutes HowTo gibt es schon für Debian ist im Sysop-Forum zu finden. Hier noch der exakte Link. Doch dort muss man sich Registrieren (kein grosser Akt).
Das HowTo gibt es auch in der original Fassung zum runterladen hier auch nochmal, doch man sollte wirklich ins Forum und den ganzen Thread lesen.
LogWatch
aptitude install logwatch
in /etc/logwatch noch kurz die conf mit dem nötigsten anpassen und das wars – logwatch einmal ausgeführt und das mail war sogar ganz brauchbar, gleich am anfang einen fehler bei mir auf dem server entdeckt der logeinträge verursacht die kein mensch braucht und behoben.
Und da haben wir es. Tag für Tag ein nette kleine Zusammenfassung die immerwieder was interessantes drin hat ohne dass man stundenland logfiles durch lesen muss.
Nun wollen wir uns mal ein wenig mehr reinlesen und sehen was man alles noch am feintuning ändern kann.
deny hosts
http://denyhosts.sourceforge.net/
Ist ein Script das entweder per Cron job die Lgofiles durchackert un nachschaut wer alles mit falschen Passwörtern an die Türen klopft. Wenn es da jemand gibt der es ein paar mal versucht wird er automatisch in den hosts.deny File eingetragen.
Kann auch per Daemon laufen, doch ich habs mal mit dem Cron job gemacht.
Bevor man sich die Mühe macht und alles runterläd, auspackt, etc. als Erstes mal das installierte SSH auf dem Server anschauen und sicher stellen das es mit tcp wrapper funktioniert.
Genaue Anweisungen gibt es hier http://denyhosts.sourceforge.net/ssh_config.html
Ein gutes HowTo gibt es auch bei howtoforge!
mod_security – Apache2
Nachdem es jemand wirklich geschafft hat durch schadhaften Code meinen Server zu benutzen legenwir hier noch eine Daumenschraube an. In zwei Worten oder weniger, mod_security ist wie eine kleine Firewall für den Apache.
Genaueres unter: http://www.modsecurity.org
Also mal loslegen:
#aptitude install libapache2-mod-security
Wenn installiert dann:
# a2enmod mod-security
Module mod-security installed; run /etc/init.d/apache2 force-reload to enable.
So jetzt sollten wir noch Regeln anlegen, zum start holen wir uns doch mal die, die beim Paket mit dabei waren:
#cp /usr/share/doc/libapache2-mod-security/examples/httpd2.conf.example-full /etc/apache2/meinesecurityconf.d
Jetzt das in die apache2.conf rein, oder includieren oder einfach in conf.d reinkopieren (sollte dann automatisch in die configuration aufgenommen werden.
Natürlich sollte man die Regeln noch an seine Bedürfnisse anpassen oder ein wenig googeln um zu sehen was andere als Regeln so aufsetzen (wie z.B. im rootforum).
Den apache neu start nicht vergessen:
#/etc/init.d/apache2 restart
Zum Paket gab es auch gleich mal ein paar test Dateien. Die findet ihr unter
#cd /usr/share/mod-security/tests
nessus
Nessus ist weniger zur Sicherheit oder Abwehr gedacht. Es ist ein Scanner mit dem man seinen eigenen Server prüfen kann um zu sehen wo Lücken sind oder auch sein könnten.
Kommt von www.nessus.org.
Momentane Version 2.2.4.
Ok, wir benötigen die pakete flex und bison mal vorab (ob wir die wirklich brauchen ist mir eigendlichnicht so sicher da ich bei Nesuss auf der Website nix dergleiches entdecken konnte nur mein Linux Buch scheint es so zu wollen).
aptitude update
aptitude install flex
aptitude install bison
so nun ist nessus dran:
aptitude install nessus nessusd
dann user anlegen:
foreigner:~# nessus-adduser
Using /var/tmp as a temporary file holder
Add a new nessusd user:
Login : xxx
Authentication (pass/cert) [pass] : pass
Login password :
Login password (again) :
User rules
nessusd has a rules system which allows you to restrict the hosts
that steffen has the right to test. For instance, you may want
him to be able to scan his own host only.
Please see the nessus-adduser(8) man page for the rules syntax
Enter the rules for this user, and hit ctrl-D once you are done :
(the user can have an empty rules set)
default accept
Login : xxx
Password : ***********
DN :
Rules :
default accept
Is that ok ? (y/n) [y]
user added.
foreigner:~#
so nach den paar Fragen haben wir nessusd und nessus drauf und einen user:
Irgendwo kommt eine Meldung das man sich registrieren muß, tut man das bekommt man per e-mail einen Code der dann die nessus plug-ins freischaltet und ohne plug-ins ist nessus wie ein zahnloser Löwe!
Nun sind wir soweit, jetzt mal das target definieren
nano /usr/local/bin/nesstarget
Dort gib man einfach seine IP an oder die eines seiner server, wohl gemerkt, NICHT irgend eine belibige address eingeben von irgend jemand, denn daß kann ein böses Nachspiel haben.
dann den nesuss server starten
nessusd -D start
Mit einem normalen ps -alF|grep nessusd werdet ihr gleich sehen das der server an ist und wartet, denkt daran wenn ihr nessus nicht gerade jetzt verwendet oder verwenden wollt, unbedingt den nessusd deamon wieder killen.
So, jetzt gehts los.
nessus localhost 1241 user password nesstarget nessresult.html -T html
Hier kommt der User und das Passwort das Ihr oben angelgt habt rein. Das nesstarget habt ihr oben auf definiert nehme ich, also entweder in der Zeile den kompletten pfad zum File “nesstarget” angeben oder diesen Befehl im gleichen Verzeichniss ausführen, wie ihr wollt.
Das gibt uns doch schonmal einen html file mit ein paar scan daten, weitere spezielle Einstellungen werde ich mal als nächstes erforschen.
Cron Job für Nessus Plugin update:
su root
falls ihr nicht als root gerade unterwegs seit.
crontab -e
… oder /etc/crontab direkt editieren.
folgendes einfügen:
55 3 * * * /usr/local/sbin/nessus-update-plugins
die Uhrzeit natürlich selber einstellen auf was ihr wollt.
Das wars.
