PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Linux "webserverfähig" machen


Pimok
2006-06-29, 17:54:10
Ein guter freund von mir möchte einen Server in ein RZ stellen. er kennt sich auch gut mit linux aus und daher fiel seine wahl des OS logischerweise auf linux. er möchte dabei ubuntu verwenden, würde sich aber uahc auf alternativen einlassen. jetz stellt sich ihm die frage - was muss er alles installieren, um den server mit maximaler sicherheit ins netz stellen zu können ? er möchte gerne plesk8 als oberfläche benutzen, altarnativ confix, wenn es das für linux gibt (oder wars umgedreht ? oO ka^^) nun bruahc er ja
- nen ftp server
- nen html server (apache)
- nen mail client
- ne firewall (welche ?)

und was brauch er noch ? er möchte root zugriff von aussen haben und den server gut abgeschottet gegen angriffe haben.

der server ist ein single opteron 165 auf nem tyan brett. welches weis ich nun nicht genau. ram stehen ihm 1 GB zur verfügung. 400 GB HDD als raid 5 ebenso.

was muss er jetzt wie einrichten um root zugriff darauf zu haben und gleichzeitig eine bequeme benutzerobberfläche wie plesk oder confixx zu haben, wo er einzelne benutzeraccs erstellen kann ?

The_Invisible
2006-06-29, 18:35:12
proftpd, apache2, mailserver (dovecot) mailclient (mutt), iptables, konsole

herz was willst du mehr...

mfg

Wuzel
2006-06-29, 19:19:21
Pimok[/POST]']Ein guter freund von mir möchte einen Server in ein RZ stellen. er kennt sich auch gut mit linux aus und daher fiel seine wahl des OS logischerweise auf linux. er möchte dabei ubuntu verwenden, würde sich aber uahc auf alternativen einlassen. jetz stellt sich ihm die frage - was muss er alles installieren, um den server mit maximaler sicherheit ins netz stellen zu können ? er möchte gerne plesk8 als oberfläche benutzen, altarnativ confix, wenn es das für linux gibt (oder wars umgedreht ? oO ka^^) nun bruahc er ja
- nen ftp server
- nen html server (apache)
- nen mail client
- ne firewall (welche ?)

und was brauch er noch ? er möchte root zugriff von aussen haben und den server gut abgeschottet gegen angriffe haben.

der server ist ein single opteron 165 auf nem tyan brett. welches weis ich nun nicht genau. ram stehen ihm 1 GB zur verfügung. 400 GB HDD als raid 5 ebenso.

was muss er jetzt wie einrichten um root zugriff darauf zu haben und gleichzeitig eine bequeme benutzerobberfläche wie plesk oder confixx zu haben, wo er einzelne benutzeraccs erstellen kann ?

Das wage ich nach der Fragestellung zu bezweifeln.
Lasst das lieber sein, sowas kann ruck zuck ins Auge (Geld) gehen.

TheGamer
2006-06-29, 19:48:05
Wuzel[/POST]']Das wage ich nach der Fragestellung zu bezweifeln.
Lasst das lieber sein, sowas kann ruck zuck ins Auge (Geld) gehen.

Richtig deine Frag laesst daran zweifeln das er nen Plan hat. Er solls lassen um sich und uns nicht zu gefaehrden

Xanatos
2006-06-29, 19:50:42
Wuzel[/POST]']Das wage ich nach der Fragestellung zu bezweifeln.
Lasst das lieber sein, sowas kann ruck zuck ins Auge (Geld) gehen.
auch wenn ich selber nicht der Linux-Guru bin, habe ich es auch erkannt.

TheGamer
2006-06-29, 19:51:59
Bruce Wayne[/POST]']auch wenn ich selber nicht der Linux-Guru bin, habe ich es auch erkannt.

Was hast du erkannt?

Xanatos
2006-06-29, 19:57:11
Die Frage ist nicht gerade gut, bzw lässt nicht gerade viel Wissen erkennen.
Oder seit wann ist linux ein OS?

TheGamer
2006-06-29, 19:59:01
Bruce Wayne[/POST]']Die Frage ist nicht gerade gut, bzw lässt nicht gerade viel Wissen erkennen.
Oder seit wann ist linux ein OS?

Oha jetzt wirds spannend, was ist es denn?

Pimok
2006-06-29, 20:07:24
öhm, er kennt sich, soweit ich das einschätzen kann, schon ganz gut mit linux aus, nur das thema (web)server ist totales neuland für ihn.

aevil
2006-06-29, 20:07:34
Der Kernel? Zusammen mit den GNU Tools ein OS

TheGamer
2006-06-29, 20:09:12
aevil[/POST]']Der Kernel? Zusammen mit den GNU Tools ein OS

Ok passt dachte jetzt was falsches sorry :)

Marscel
2006-06-29, 20:54:34
was muss er jetzt wie einrichten um root zugriff darauf zu haben und gleichzeitig eine bequeme benutzerobberfläche wie plesk oder confixx zu haben, wo er einzelne benutzeraccs erstellen kann ?

Da liest man in der Regel Dokumentationen, Wikis und manpages durch...

Lokadamus - nixBock
2006-06-29, 21:00:40
TheGamer[/POST]']Was hast du erkannt?mmm...

Wenn es um Sicherheit geht, ist die Frage mit dem Root- Zugriff schon sehr merkwürdig. Root bekommt soweit wie möglich nie direkten Zugang übers Netz zu irgendwelchen Sachen. Man kann sich nur als irgendwas anmelden und danach zu root wechseln.

Ebenso ist die Frage nach einer Firewall auch in gewisser Weise fragwürdig. Apache kann man selber so konfigurieren, dass es nur auf bestimmte Bereiche horcht. Das Mail- Programm sollte sowas ebenfalls anbieten. Weitere Dienste, die nicht benötigt werden, sollten nicht laufen, wodurch die Frage nach einer Firewall fragwürdig wird.
Ich weiß nicht, ob IPTables von sich heraus Angriffe/ Angriffsmuster erkennen kann. Wenn nein, muss man wirklich schauen, in wie weit sich die Dienste selber abschotten können. Es macht ebenso keinen Sinn, einfach Just for Fun IPTables zu starten, nach dem Motto, ein Portscan wird nichts finden. Entweder Apache antwortet oder er läuft nicht, mal pauschal gesagt ...

wintermute
2006-06-29, 21:25:44
Das würde mich jetzt aber auch interessieren.
Wenn ich @home an mein DSL einen Webserver hängen will, wie sichere ich den am besten ab als Linuxlehrling?
Reicht es einfach SELinux zu aktivieren und immer schön updates installieren?
Grüße
wintermute

Wuzel
2006-06-29, 21:42:39
wintermute[/POST]']Das würde mich jetzt aber auch interessieren.
Wenn ich @home an mein DSL einen Webserver hängen will, wie sichere ich den am besten ab als Linuxlehring?
Reicht es einfach SELinux zu aktivieren und immer schön updates installieren?
Grüße
wintermute

Ganz einfach: Logfiles lesen und verstehen(!) .

Das einzige was wirklich Sinn ergibt an einem Webserver ist das System zu härten und den Dienst nur über einen Proxy (der die Request Strings abfiltert) zu fahren ...
Das macht aber im 'kleinen' Rahmen kaum Sinn - daher spiel ich selber Proxy und scann per Hand zu Fuss, ein vernünftig geconfter Apache ist sehr gesprächig und die Lgfiles geben schnell Auskunft ob etwas im Busch ist.

Alles andere ist eher als Witz zu verstehen. IpTables machen nur bedingt sind, der connection State ist ja bei einem angriff voll I.O. - im Falle von Webserver Attacken (logischerweise, wenn man versteht wie ein Angriff auf einem Webserver ausschaut ;) ).

Xanthomryr
2006-06-29, 21:45:22
Hier finden sich jede Menge Informationen zum sichern Betrieb eines Webservers:

http://www.bsi.de/fachthem/sinet/dienste/dienste_www.htm

Überhaupt finden sich auf den Seiten des BSI sehr viele Infos zum Thema Sicherheit.

(del676)
2006-06-29, 22:27:22
ssh
auf einem nonstandardport (z.b. 23778)
nur ein user der sich da einloggen darf (z.b. muahdsjgha) und per su zu root wechseln kann

für was man grafische config tools für einen webserver braucht weiss ich ned, und kenn daher auch keine - per ssh ist aber X forwarding möglich - sowie auch port forwarding - soll heissen:
wenn irgendso ein schwindliges config tool auf dem server läuft (z.b. 127.0.0.1:2434) dann kann er das über ssh zu sich tunneln -> vorteil ist dabei dass von aussen NUR ssh zugänglich sein muss, er alle möglichen ports forwarden kann und das auch noch verschlüsselt.

feddich ;)

und am besten keine iptables benutzen - sondern einfach nur alle services so drehen dass sie entweder garned laufen wenn man sie ned braucht - oder sie nur auf 127.0.0.1 hören (mir graut es immer wieder vor den "empfohlenen drop" (stealth) modi X-D mit iptables(o.a. fw-software)

Pimok
2006-06-29, 22:30:19
.... ok ich werd ihm das so weiterleiten. hab zwar selsbt nur so ca bahnhof verstanden aber was solls XD

TheGamer
2006-06-29, 22:41:59
Pimok[/POST]'].... ok ich werd ihm das so weiterleiten. hab zwar selsbt nur so ca bahnhof verstanden aber was solls XD

Und vergiss Plesk, das Buggy langsam Zeugs da, entweder gar ncihts oder wenn er was SIMPLES braucht VHCS, aber leiber gar keine Admin Oberflaeche, Plesk ist sicher Oversized

Ulukays tipp nd nciht vergessen das root nciht anmelden darf per ssh, Ulukay wenns ebi dirr im Text steht verzeih mir, habs nur ueberflogen

aevil
2006-06-29, 22:55:55
Die Unmengen an Probes die ich hier reinbekomme versuchens schon nichtmehr als root :)

piepre
2006-06-29, 22:59:53
wenn ihr unbedingt eine weboberfläche zum verwalten von webaccounts haben wollt, nehmt nicht soetwas überladenes wie confixx oder plesk.
gibt genug andere, wie z.b. syscp...

The_Invisible
2006-06-30, 00:10:26
Ulukay[/POST]']

und am besten keine iptables benutzen - sondern einfach nur alle services so drehen dass sie entweder garned laufen wenn man sie ned braucht - oder sie nur auf 127.0.0.1 hören (mir graut es immer wieder vor den "empfohlenen drop" (stealth) modi X-D mit iptables(o.a. fw-software)

och, da kann man so schön filtern was ziel/quelladressen alles tun dürfen, zb könnte man man ssh zugriff nur von bestimmten statischen adressen erlauben, das mit non standard ports und man ist schonmal nicht so schlecht dran, außerdem kann man gleiche eine Art QOS für die dienste einbauen...

mfg

(del676)
2006-06-30, 07:48:18
The_Invisible[/POST]']och, da kann man so schön filtern was ziel/quelladressen alles tun dürfen, zb könnte man man ssh zugriff nur von bestimmten statischen adressen erlauben, das mit non standard ports und man ist schonmal nicht so schlecht dran, außerdem kann man gleiche eine Art QOS für die dienste einbauen...

mfg

qos für nen webserver?
imho ist iptables dafür einfach zuviel - unnötiger ballast den man ned benötigt wenn man nur http und ssh anbietet

Wuzel
2006-06-30, 08:03:45
IpTables kann man herrlich als Traffic Managment und Routing Erweiterung hernehmen, insbesondere dann wenn ich weniger zugewiesene Adressen als Maschinen habe - bei heutiger Adress Knappheit garnicht mal so dumm.

Für alles andere aber, insbesondere Sicherheit im Server Dienst bereich, kann ich es vergessen.
Und so halbgare Urban Legends das man (pseudo) Zugangskontrolle mit zugriffsbeschränkung für bestimmte Adressen oder das reudige Portknocking (um es vorweg zunehmen bevor der nächste damit anrollt) sind eh die schönsten Lachnummern, insbesondere bei IPv4.
Nicht einmal die Mac Adresse ist eindeutig einer Maschine zuweisbar, eine IPv4 Adresse schon 10 mal nicht (spoofing!), damit holt man sich eher die ganzen Scriptkiddies vor die Tür, als es etwas nützen würde.
Ports über solche Spässe zu sichern ist wahnsinn, eine primitive 'man in the middle' attacke über eine gefakte ARP route (die selbst hans lieschen müller vollziehen kann) und das wars dann.
Und nocheinmal gerade solche 'absicherungen' ziehen Kiddies und anderes Unkraut wie Licht Insekten an, da es von absoluter unwissenheit des Admins zeugt.

(del676)
2006-06-30, 09:15:23
Wuzel[/POST]']IpTables kann man herrlich als Traffic Managment und Routing Erweiterung hernehmen, insbesondere dann wenn ich weniger zugewiesene Adressen als Maschinen habe - bei heutiger Adress Knappheit garnicht mal so dumm.

Für alles andere aber, insbesondere Sicherheit im Server Dienst bereich, kann ich es vergessen.
Und so halbgare Urban Legends das man (pseudo) Zugangskontrolle mit zugriffsbeschränkung für bestimmte Adressen oder das reudige Portknocking (um es vorweg zunehmen bevor der nächste damit anrollt) sind eh die schönsten Lachnummern, insbesondere bei IPv4.
Nicht einmal die Mac Adresse ist eindeutig einer Maschine zuweisbar, eine IPv4 Adresse schon 10 mal nicht (spoofing!), damit holt man sich eher die ganzen Scriptkiddies vor die Tür, als es etwas nützen würde.
Ports über solche Spässe zu sichern ist wahnsinn, eine primitive 'man in the middle' attacke über eine gefakte ARP route (die selbst hans lieschen müller vollziehen kann) und das wars dann.
Und nocheinmal gerade solche 'absicherungen' ziehen Kiddies und anderes Unkraut wie Licht Insekten an, da es von absoluter unwissenheit des Admins zeugt.

*hust* deshalb hat das 3dc iptables und alle ports auf drop *hust*
:)

_CaBaL_
2006-06-30, 09:18:26
Für die BruteforceAttacken hatte ich mir mal was gebastelt was auch auf meinem Root läuft (debian sarge) und schlägt täglich mindestens 5 mal an

Läuft alle Minute durch cron und ich finds echt interessant wieviel Leute da jeden Tag ne Wörterbuchattacke probieren.


#!/bin/sh

# ************************
# * Author: Dennis Gilke *
# * *
# * dennis.gilke@web.de *
# ************************

SSH_LOG="/var/log/auth.log" # Pfad zum SSH Logfile
IPT="/sbin/iptables" # Pfad zur iptables
ADMIN="cabal" # Wer soll eine Mail erhalten
SUBJECT="Warnung: Zugriffsversuch" # Mailsubject
MAIL="/root/ip_block/mail.tmp" # temp. Maildatei die das Skript anlegt
LOG="/root/ip_block/ips_blocked" # Datei mit schon geblockten IP Adressen
A_USERS="/root/ip_block/users" # User die 3 Fehlversuche haben
echo "Es wurde ein unberechtigter Zugriff bemerkt, folgende IP-Adresse(n)\
wurde(n) fuer weitere Zugriffe blockiert" > $MAIL

case $1 in

check)

# pruefen ob die Userdatei existiert, zuweisen der User
if [ -f $A_USERS ]
then
A_USERS=`cat $A_USERS`
else
A_USERS=""
fi

# User suchen, die Shellrechte am System haben (mgl. Angriffsziel)
USERS=`grep -i "/bin/.*sh" /etc/passwd | cut -f1 -d":"`

# Anlegen einer neuen Datei die nur noch die weiteren Zugriffsversuche enthaelt"
egrep 'Illegal user|Authentication failure for|Failed password' $SSH_LOG > /root/accesslist.ssh

# SSH_LOG den Pfad auf die neue Datei zuweisen
SSH_LOG="/root/accesslist.ssh"

# Alle IP Adressen aus der LOG suchen
for USER in $USERS
do
IP_ADR_1=`grep -i "Failed password for $USER" $SSH_LOG | cut -f4 -d":" | cut -f7 -d" "`
IP_ADR="$IP_ADR_1 $IP_ADR"
done

IP_ADR_2=`grep "Illegal user" $SSH_LOG | cut -f 4 -d ":" | cut -f 6 -d " "`
IP_ADR_3=`grep "Authentication failure" $SSH_LOG | cut -f 6 -d ":" | cut -f 7 -d " "`


# Schon geblockte IP Adressen auslesen
if [ -f $LOG ]
then
BLOCKED_IP_ADR=`cat $LOG`
fi

# Alle IP Adressen in einer Variable zusammenfuehren
IP_ADR="$IP_ADR_3 $IP_ADR_2 $IP_ADR"

for IP in $IP_ADR
do
if [ "$LAST_IP" != $IP ]
then
IP_ALRDY_BLOCKED=0
BLOCK_THIS_IP=1
for BIP in $BLOCKED_IP_ADR
do
if [ "$BIP" = $IP ]
then
IP_ALRDY_BLOCKED=1
fi
done
# hat hat sich ein authorisierter Benutzer vertippt?
if [ "$IP_ALRDY_BLOCKED" = 0 ]
then
for USER in $A_USERS
do
TRIES=`grep -i "failed password for $USER from $IP" $SSH_LOG -c`
if [ $TRIES -lt 4 -a $TRIES -gt 0 ]
then
BLOCK_THIS_IP=0
else
TRIES=`grep -i "Authentication failure for $USER from $IP" $SSH_LOG -c`
if [ $TRIES -lt 4 -a $TRIES -gt 0 ]
then
BLOCK_THIS_IP=0
fi
fi
done
if [ "$BLOCK_THIS_IP" = 1 ]
then
BLOCKED_IP_ADR="$IP $BLOCKED_IP_ADR"
TRIES=`grep $IP $SSH_LOG -c`
echo $IP >> $LOG
echo "$IP verzeichnete Zugriffe: $TRIES" >> $MAIL
$IPT -I INPUT -s $IP -j DROP
ATTACK=1
fi
fi
fi
LAST_IP=$IP
done

if [ "$ATTACK" = 1 ]
then
echo >> $MAIL
echo IPTABLES >> $MAIL
echo >> $MAIL
$IPT -L -nv >> $MAIL
mail -s "$SUBJECT" "$ADMIN" < "$MAIL"
fi
;;

reset)
BLOCKED_IP_ADR=`cat $LOG`
for IP in $BLOCKED_IP_ADR
do
$IPT -D INPUT -s $IP -j DROP
done
rm -f $LOG
;;

status)
echo "Folgende IP Adressen sind momentan fuer dieses System geblockt"
cat $LOG
;;

*)
echo "Usage: $0 check|reset|status"
;;

esac



Ansonsten, hat Ahnung von Linux und will Plesk ;D ok ich sag mal nix. Firewall ist für nen Server meiner Meinung nich sooooo sinnvoll weil nur die Ports offen sind auf denen Dienste angeboten werden, und die anderen Dienste schaltet man ab. Ne Firewall die dann Ports blockiert wo eh nix drauf läuft ist dann naja ...

The Cell
2006-06-30, 09:26:28
Warum schauen die Leute, die Fragen haben nich persönlich in dieses Forum? Warum läuft das über einen Vermittler, der ebenso planlos ist, wie der Mensch, der sich in Bälde den nächsten Rootserver aufmachen lässt?
In diesem Sinne: http://www.selfschuld.de/

Gruß,
QFT

TheGamer
2006-06-30, 09:34:27
Quantenfeldtheorie[/POST]']
In diesem Sinne: http://www.selfschuld.de/

Gruß,
QFT

lol genial, aber leider war und unverantwortlich

Wuzel
2006-06-30, 10:08:28
Ulukay[/POST]']*hust* deshalb hat das 3dc iptables und alle ports auf drop *hust*
:)

99,8% aller Angriffe auf 'aktive' webpräsenzen - also z.B. PHP basierend, laufe über Injektions (SQL Injektion) - Frage: "Was kann hier eine IpTables basierte Lösung an 'Sicherheit' bringen?"
Antwort: "Rein garnichts"

PS: Wie unschwer an der URL zu erkennen ist, wird hier nichteinmal das elementare mod_rewrite des Apache verwendet, das richtig geconft viel unheil ersparen kann. Ich möchte einmal gerne wissen, wer hier die Logs täglich kontroliert und wie oft eine liebe nette Person dumps von der DB gezogen hat um an Passwörter und email addis zu kommen .......

EDIT: ein einfacher rewrite hack für vbulletin als beispiel - hilft nicht nur für google ranks, sondern erhöt richtig eingesetzt die sicherheit ungemein.
Dies dient nur als 'Vorzeige beispiel' für ein rewrite am vbulletin und nicht als praxis bezogenes etwas. Für Sicherheitsrelevante arbeit müsste noch eine generelle Speere der normalen Requests angehängt werden (so beim groben drüberschauen des Hacks gesehen).
http://www.daniweb.com/techtalkforums/thread35147.html

Coda
2006-06-30, 10:46:28
Wenn die Forensoftware nicht komplett verblödet ist speichert sie keine Passwörter im Plaintext (ok MD5 wäre einfach zu knacken, aber wozu gibts zumindest SHA1).

Wuzel
2006-06-30, 11:01:16
Coda[/POST]']Wenn die Forensoftware nicht komplett verblödet ist speichert sie keine Passwörter im Plaintext (ok MD5 wäre einfach zu knacken, aber wozu gibts zumindest SHA1).

Das ist shon soweit logisch (obwohl es eh schwachsinn ist über eine Injektion zu fahren - weil wenn die Passwörter über Klartext gepostet werden, also nicht per SSL, gibt es einfachere Methoden).

Man sollte alerdings einwerfen, das nur der Salted Hash 'sicher' ist.
Die Sofware macht doch nur einen compare auf das gehashte - übermittelte und dem in der DB liegenden Hash. Wenn ich die Hashes aus der DB habe, setze ich vor dem eigentlichen hashen des übermittelten PW's in der Software an - volla.

Aber eh kaum relevant, ein Board ist kein lohnendes Ziel - Webshops sind hier bessere Beute, hier interesieren die Adressdaten - die durch dumme Admins sehr leicht zu beschaffen sind :D

The_Invisible
2006-06-30, 12:18:40
Wuzel[/POST]']99,8% aller Angriffe auf 'aktive' webpräsenzen - also z.B. PHP basierend, laufe über Injektions (SQL Injektion) - Frage: "Was kann hier eine IpTables basierte Lösung an 'Sicherheit' bringen?"
Antwort: "Rein garnichts"


ein squid proxy davor mit ein paar filter und das problem ist gegessen... ansonsten würden viele kunden bei unseren virt hosts schreihen da ihre jahre alte forensoftware auf einmal verunstaltet ist... openbasedir & co sind übrigens auch ganz nett (pflicht) wenn man ein lamp system aufsetzt (vorzugsweise bei vhosts)

mfg

Wuzel
2006-06-30, 12:55:56
The_Invisible[/POST]']ein squid proxy davor mit ein paar filter und das problem ist gegessen... ansonsten würden viele kunden bei unseren virt hosts schreihen da ihre jahre alte forensoftware auf einmal verunstaltet ist... openbasedir & co sind übrigens auch ganz nett (pflicht) wenn man ein lamp system aufsetzt (vorzugsweise bei vhosts)

mfg

Genau das habe ich weiter vorne auch schon geschrieben :confused:

Ein Proxy ist mehr als sinnvoll ;)

The_Invisible
2006-06-30, 12:59:37
Wuzel[/POST]']Genau das habe ich weiter vorne auch schon geschrieben :confused:

Ein Proxy ist mehr als sinnvoll ;)

achso, sorry, bin heute ein bisschen verwirrt...

mfg

Nasenbaer
2006-06-30, 23:45:35
_CaBaL_[/POST]']Firewall ist für nen Server meiner Meinung nich sooooo sinnvoll weil nur die Ports offen sind auf denen Dienste angeboten werden, und die anderen Dienste schaltet man ab. Ne Firewall die dann Ports blockiert wo eh nix drauf läuft ist dann naja ...
iptables ist ne firewall und kein simples 'Eh-über-port-xy-kommt-hier-nix-rein'-Programm. Soll heißen, damit kann ich weit mehr unfug anstellen als einfach ein paar Ports zu blocken. Sowas bekommen Desktop-Firewalls auch gerade noch so hin. ;)