Internetverbindungen speichern

Rund um die Sicherheit des Systems und die Applikationen
Post Reply
UbuntuUser
Posts: 1
Joined: 2012-08-30 23:33
 

Internetverbindungen speichern

Post by UbuntuUser »

Also Freunde, ich habe einen Server und Angst, dass er gehackt werden könnte. Deshalb wollte ich alle Prozesse, die eine Internetverbindung herstellen, speichern/protokollieren und einmal am Tag eine Übersicht an eine EMail-Adresse schicken lassen. Ist das so ohne Weiteres möglich (z.B. mit einem bash script)? :-? Vielen Dank im Voraus
User avatar
Joe User
Project Manager
Project Manager
Posts: 11191
Joined: 2003-02-27 01:00
Location: Hamburg
Contact:
 

Re: Internetverbindungen speichern

Post by Joe User »

Auf einem Server besteht die Internetverbindung permanent, die muss nicht ständig wiederhergestellt werden. Daher ist Dein Vorhaben ziemlich sinnfrei.
Was Du tun kannst, ist, die erzeugten Sockets für INET und INET6 zu protokollieren. Allerdings ist das ebenfalls nicht wirklich sinnvoll, da dieses Log ganz schnell in die Gigabytes gehen kann.

Am Sinnvollsten ist, den Server, die Dienste und die Apps uptodate zu halten und vernünftig zu konfigurieren.
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
ddm3ve
Moderator
Moderator
Posts: 1237
Joined: 2011-07-04 10:56
 

Re: Internetverbindungen speichern

Post by ddm3ve »

Ganz kurz un Simpel gesagt, schalte eine Firewall dazwischen.
Ein TCP Dump muss es ja nun nicht sein aber Snort sollte schon ausreichen um potentiell Angriffe zu erkennen.

Es sollte nur eine dedizierte eigenständige Firewall sein und keine "Software" Firewall.
02:32:12 21.12.2012 und dann sind Deine Probleme alle unwichtig.
User avatar
daemotron
Administrator
Administrator
Posts: 2641
Joined: 2004-01-21 17:44
Contact:
 

Re: Internetverbindungen speichern

Post by daemotron »

Na ja, mit Bordmitteln lässt sich da auch schon was machen. Per MAC/RBAC kann man schon eine Menge erreichen. Auf einem Standard-LAMP etwa könnte man per RBAC generell INET/INET6-Sockets verbieten, Apache auf passive INET/INET6 Sockets beschränken (Host name resolution ist normalerweise nicht nötig), und den Mailserver auf passive und aktive INET/INET6-Sockets (der muss ja Mails auch ausliefern können). Andere Dienste wie Syslog, MySQL etc. brauchen keine INET/INET6-Sockets, falls alles auf einer Maschine liegt.

Wenn man dann ein Policy-Log aufsetzt (hängt vom eingesetzten MAC/RBAC-Framework ab), bekommt man einen recht guten Überblick, wo und welche Prozesse versuchen, INET Sockets zu erstellen, die nicht per Policy freigegeben sind.

Dieses Vorgehen ist aber bestenfalls Stufe 2 in einem Sicherheitskonzept - Stufe 1 sollte sein, durch sorgfältige Auswahl, regelmäßige Aktualisierung und entsprechende Audits dafür zu sorgen, dass auf dem Server nur vertrauenswürdige Software vorhanden ist.

Ach ja - und Stufe 0 wäre das genaue Verständnis, wie die Software genau arbeitet (wie z. B. Multiplexing umgesetzt ist, welche Socket-Typen wofür benötigt werden, etc.), damit man Risiken einschätzen kann und abnormes Verhalten auch sofort erkennt.
“Some humans would do anything to see if it was possible to do it. If you put a large switch in some cave somewhere, with a sign on it saying 'End-of-the-World Switch. PLEASE DO NOT TOUCH', the paint wouldn't even have time to dry.” — Terry Pratchett, Thief of Time
ddm3ve
Moderator
Moderator
Posts: 1237
Joined: 2011-07-04 10:56
 

Re: Internetverbindungen speichern

Post by ddm3ve »

Btw. beim durchforsten eines Altservers sind mir ein paar Zeilen Code in die Finger gerutscht welche Dir ggf. bei Deiner Anfordrung helfen könnten.

Code: Select all

#!/bin/sh
TMPFILE=/lsof.tmp
if [ ! -f $TMPFILE ] ; then
   touch $TMPFILE
fi

i=0;
while [ $i -lt 200000 ] ; do

  lsof -n |grep TCP | grep -v LISTEN | while read zeile; do
  CURRLINE=`echo $zeile |sed -e "s/.*TCP //g"`
  HISTLINE=`sed -n "/$CURRLINE/ p" $TMPFILE`;
  if [ "$HISTLINE" != "$CURRLINE" ] ; then
    echo $CURRLINE >> $TMPFILE;
    echo "new connection found";
  fi
  done
  i=`expr $i + 1`
  echo $i
  sleep 5
done
exit
02:32:12 21.12.2012 und dann sind Deine Probleme alle unwichtig.
Post Reply