PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Webserver sicher machen? wie?



daniel_m
26.05.06, 18:48
Hallo liebe Forumler!

Hab mir vor kurzem einen Linux Webserver mit Debian und Xampp eingerichtet. Bei dem xampp hab ich die Anleitung zum Sichermachen befolgt. Dabei werden ja nur die Passwörter geändert und gesetzt.
Wie kann ich den Webserver an sich vor Hackern sicher machen?
Der Server steht hinter einem Router.

Meine erste Überlegung => Firewall. Dachte mir gute Idee, allerdings bei der Ausführung etwas kompliziert für so nen newbie wie mich. Habe jede Menge gegooglet und jede Menge zum Thema Firewall gefunden, allerdings kam ich damit nicht klar, dass die Befehle bei meinem debian System nicht klappten, was ich schonmal weiß hab ne Kernel Vers. 2.4.27-2-386 (glaub ich mal) ... dann hab ich auf www.linux-fuer-alle.de ne anleitung gefunden, wo ich bereits bei dem Befehl modconf scheitere :ugly: , wobei dieser Artikel auch von 2002 ist wohl etwas Alt.

Wäre cool wenn mir jemand helfen könnte :)

Vielen Dank schonmal im Voraus!

Schöne Grüße Daniel

choener
26.05.06, 20:07
Den Router nur den Port für den Webserver weiterleiten lassen; dann braucht man auch keine Firewall. Ansonsten ständig Updates einspielen.

daniel_m
26.05.06, 20:16
Ich lass vom Router die Ports 21, 80 und 23 weiterleiten, sollte ich nur den 80 für http weiterleiten lassen? also kein ftp und telnet?

mfg

PierreS
26.05.06, 20:43
Richtig, FTP ist nicht unbedingt versclüsselt und heute noch telnet zu verwenden ist schon nahezu wahnsinnig. ;-) Beide Aufgaben kannst Du auch gut mit ssh erledigen.

choener
27.05.06, 00:39
Kommt drauf an, was der Server tun soll. Wenn er allerdings wirklich nur ein Webserver ist, dann nur Port 80 und einen weiteren für ssh. Der ssh-Zugang sollte ausserdem nur über keys erfolgen, nicht Passwörter.

kshade
27.05.06, 01:08
Ich will ja nicht meckern aber:
Von http://www.apachefriends.org/en/xampp.html:

The default configuration is not good from a securtiy point of view and it's not secure enough for a production environment - please don't use XAMPP in such environment.

daniel_m
27.05.06, 06:55
Moin,

danke für die Antworten!

Nur wie kann ich einen SSH einrichten?

@kshade
Jap, da hast du vollkommen recht! Auf der apachefriends Seite steht man sollte den xampp nur für Entwickeln nutzen, da der zu unsicher ist. Genau. Nur leider hab ich noch keine Ahnung wie ich alles miteinandere verbinden kann, also PHP, ne MySQL DB, Sendmail, ein FTP Prog, könnte alles drauf packen, nur dann ist direkt die frage woher weiß der Server wo sein htdocs verzeichnis liegt? Woher weis ftp auf welches verzeichnis er zugreifen muss?

ldi91
27.05.06, 10:05
ssh ist eigentlich schon installiert. du musst port 22 in der firewall und im router durchschalten. dann fish://user@server eingeben und schon bist du drauf

choener
27.05.06, 10:59
Man sollte vielleicht auch die sshd_config anpasssen und sich die man-page dazu durchlesen oder im Forum / Google suchen.

brave_snoopy
27.05.06, 11:10
@daniel_m: falls kein ssh drauf ist, einfach mal apt-get install ssh machen. Dadurch wird automatisch der ssh Client und ssh Server installiert und eingerichtet.

lluser
28.05.06, 00:50
Hi,
zum absichern von ssh recht nützlich: http://www.debianhowto.de/doku.php/de:howtos:woody:ssh

lluser

daniel_m
28.05.06, 09:09
Wow, vielen Dank für die antworten!
Aber wo geb ich das mit dem fish://user@server ein? Wenn ich im Browser fish:// dann natürlich den benutzer und meinen server eingebe kommt "Nicht unterstütztes Protokoll". Habs mal mit FTP probiert, da kam nur connection refused. Hab versucht ssh zu installieren, da kam dan 0 aktualisierte, 0 neu installiert und 0 zu entfernen etc. also denke ich es ist drauf.
Kann das auch daran liegen, dass ich xampp wieder runter geschmissen hab und den Server ohne xampp sondern vernünftig betreiben möchte?

gruß Daniel

Blade
28.05.06, 09:47
Hast Du den Daemon sshd gestartet?

Öffne mal eine Textkonsole und gib dort ein:
ssh username_oder_root@servername.de
Dann solltest Du einen Connect bekommen.
Hilfreich ist auch die Lektüre -> man ssh.

daniel_m
28.05.06, 13:30
Hi, hab das gemacht und nun kommt diese Meldung:
"ssh_exchange_identification: Connection closed by remote host"
Was hat das zu bedeuten?

Hab den glaub ich jetzt zu sicher gemacht :D.
Wollte soeben mein mysql root Passwort ändern, hab das über diese Befehle gemacht:
# mysql -u root mysql
# UPDATE user SET Password='meinpw' WHERE user='root';
# FLUSH PRIVILEGES;

So nun ist mein update befehl glaube ich Fehlerhaft. jedenfalls hat der mir gezeigt 2 zeilen wären editiert worden und nun komm ich nicht mehr ins phpmyadmin? Jetzt versuch verzweifelt das Pw zurückzusetzen... 1. Versuch DB ohne Passwort starten lassen mit:
mysqld --user=mysql --pid-file=/var/lib/mysql/mysqld.pid \

--socket=/var/lib/mysql/mysql.sock --datadir=/var/lib/mysql \

--skip-grant-tables --skip-networking

Danach kommt InnoDB: Started; log sequence number 0 44304 mysqld: ready for connections dann eine Zeile über Version und der mysql.sock, dann port: 0 Source distribution. Danach nur der Cursor der blinkt und was ich auch eingebe und enter drücke kommt nur ne neue Zeile und nichts passiert. Kann das nur mit Strg+Druck abbrechen um zur ursprünglichen Eingabe zurückzukommen. Aber bekomme nicht die chance mit mysqladmin -u root password "mynewpassword" das zu ändern.

Wie kann ich das denn sonst machen??

Hilfe

Gruß daniel

Blade
28.05.06, 15:15
Hi, hab das gemacht und nun kommt diese Meldung:
"ssh_exchange_identification: Connection closed by remote host"
Was hat das zu bedeuten?

Ich würde auch sagen, Du hast da in den ssh-Confisg oder in den hosts-Dateien etwas reingeschrieben, was den ssh-Server dicht macht. Vielleicht hilft Dir das weiter http://denyhosts.sourceforge.net/ssh_config.html.

Beim mysql-Problem weiß ich keinen Rat, setze mysql nicht ein.

Cybersonic
04.06.06, 10:03
Könntest auch noch mod_security installieren für dein Apache