www.ProFTPD.de
13. März 2007, 18:26:43 *
Willkommen Gast. Bitte einloggen oder registrieren.
Haben Sie Ihre Aktivierungs E-Mail übersehen?

Einloggen mit Benutzername, Passwort und Sitzungslänge
News: SMF - Neu installiert!
 
   Übersicht   Hilfe Suche Login Registrieren  
Seiten: [1]   Nach unten
  Drucken  
Autor Thema: Nicht mehr als 5 Loginversuche + Root benötig einen eigene Zugang  (Gelesen 91 mal)
0 Mitglieder und 1 Gast betrachten dieses Thema.
borderlinedancer
ProFTPD
*
Offline Offline

Beiträge: 5



Profil anzeigen
« am: 02. März 2007, 18:31:38 »

Hallo bin neu hier.
Ich arbeite gerade an einem Server Project. Dazu habe ich Ubuntu gewähtl.
Nach Forum könnte man für den FTP zugriff auch vsftpd verwenden,  allerdings hat mich ProFTP etwas mehr angesprochen.
Ich hab mich dann auch inspirieren lassen, und neben LAMP auch ProFTP installiert.
Und damit alle localen User nur dahin Zugreiffen können, wo sie auch brechtigung haben, habe die conf so eingerichtet.
Code:
ServerName "???.???.???.???"
ServerType inetd
DefaultServer on

# Port 21 is the standard FTP port.
Port 21

# Umask 022 is a good standard umask to prevent new dirs and files
# from being group and world writable.
Umask 022

# To prevent DoS attacks, set the maximum number of child processes
# to 30.  If you need to allow more than 30 concurrent connections
# at once, simply increase this value.  Note that this ONLY works
# in standalone mode, in inetd mode you should use an inetd server
# that allows you to limit maximum number of processes per service
# (such as xinetd)
MaxInstances 5

# Set the user and group under which the server will run.

# To cause every FTP user to be "jailed" (chrooted) into their home
# directory, uncomment this line.
DefaultRoot ~/public_html

 # Normally, we want files to be overwriteable.

AllowOverwrite on

<Global>
DefaultTransferMode binary
RootLogin off
</Global>

Nun wird jeder User in sein Locales Verzeichnis weiter geleitet.
Was mir aber noch fehlt ist:
- Eine Begrenzung für die "misslungen" Login Veruche.
- Root sol sich ebenfalls anmelden können, soll jedoch in das Verzeichnis /var/www/ weitergeitet werden.

Nun das sich root anmelden kann, muss ich nicht viel ändern das weiss ich. Einfach "RootLogin off" in "RootLogin on" umschreiben, und ProFTP neu starten. Die Frage ist blos, wie ich es schaffe, das Root in ein von mir gewähltes Verzeichnis weitergelitet wird.

Und dann sind dan noch die Misslungene Login Versuche. So wie ich das verstanden haben geht das mit "MaxLoginAttempts 5", aber wo schreibe ich das rein?
Was mus ich beachten? Was mach ich wen ein User gesperrt wird?

Fragen über Fragen ich weiss, und das auch gleich zu beginn.
Aber ich hoffe echt ihr könnt mir helfen, ich komm da sonst echt nicht mehr weiter.
Gespeichert
VolGas
Moderator
ProFTPD
*****
Online Online

Beiträge: 770



Profil anzeigen
« Antwort #1 am: 02. März 2007, 22:40:17 »

Hallo!

Als erstes empfehle ich Dir zunächst einmal die Support-Seiten von Stonki (diese Site hier) durchzulesen,
damit Du ein bischen Grundwissen bekommst.

Als nächstes muß ich Dir einfach sagen, daß ich es für eine -Entschuldigung!- absolut blödsinnige und dumme
Idee halte, sich per FTP als root einloggen zu wollen. Das FTP-Protokoll ist dafür in keinster Weise dafür geeignet!
Als root sollte man sich prinzipiell nur über ssh einloggen und selbst das nicht direkt, sondern über einen
"Dummy-User". Überlege Dir das Thema ruhig noch zwei/drei Dutzend mal, ob Du wirklich das Risiko eingehen
möchtest.

Deine Konfiguration ist extrem sparsam und bevor wir jetzt anfangen, an Konfigurationsdateien herumzuschrauben
und alles von Pontius bis Pilatus durchexerzieren müssen, möchte ich Dir vorschlagen, daß Du Dir zunächst die
Beispielkonfigurationen ansiehst. Eine gut funktionierende proftpd.conf, die die wichtigsten und meist benötigten
Anforderungen abdeckt, kann man bei den ->Beispiel Konfigurationen finden: die ->proftpd.conf Standard Deluxe...

Versuche es doch einmal damit, Du mußt sie nur ein ganz klein wenig Deinen Beürfnissen anpassen.

Zu "MaxLoginAttempts":
Nach der maximal erlaubten Anzahl von Versuchen wird man vom Server getrennt. Aber das hindert nichts und
niemanden, es gleich sofort wieder erneut zu versuchen. Wenn Du da mehr Sicherheit brauchst, dann solltest Du
Dich mit dem Thema FireWall oder IP-Tables befassen. Wer sich allerdings per FTP als root einloggen möchte,
der dürfte keine Sicherheitsporbleme haben...

Überlege Dir das mit dem root-Zugriff per FTP wirklich noch einmal sehr, sehr gut!

mfg.
  VolGas
Gespeichert
borderlinedancer
ProFTPD
*
Offline Offline

Beiträge: 5



Profil anzeigen
« Antwort #2 am: 03. März 2007, 05:17:18 »

Hallo VolGas, du hast wohl den Link zu diseser Support Seite Vergessen oder?
Meinst du etwa die hier?

Root muss sich natürlich nicht einlogen können. Nicht wenn ich einem anderen User, zusätzlich noch diese Verzeichnis zuweisen kann.

Und VolGas tut mir leid wenn du so viel schreiben "musstest" über dinge nach denen ich nicht gefragt / gebeten haben. Denn alles was ich brauch ist der zuriff auf das von mit gewähle Verzeichniss. Und eine Lösung gegen Brute-Force-Attacken.
Gespeichert
Overloard
ProFTPD
*
Offline Offline

Beiträge: 1


Profil anzeigen
« Antwort #3 am: 03. März 2007, 12:09:59 »

Also gegen brut-force-attacken kann ich dir pam und fail2bann empfehlen. fail2bann läuft auf meinen rechner seit nem jahr und haltet alle attacken auf . du kannst einstellen wie oft und wielange eine ip gesperrt ist.

da kann ich dir diesen rat geben.

Overloard
Gespeichert
VolGas
Moderator
ProFTPD
*****
Online Online

Beiträge: 770



Profil anzeigen
« Antwort #4 am: 03. März 2007, 13:05:54 »

@ borderlinedancer:

Ich habe keinen Link vergessen, ich meinte tatsächlich die Seiten dieser Website: http://proftpd.de/
Und noch spezieller: http://www.proftpd.de/Support.13.0.html

Und von müssen kann hier nicht die Rede sein, ich nenne das eher Vorbeugen... Zwinkernd

Der vorgeschlagene Weg von "Overloard" wäre eine denkbare Lösung.
Diese benutzt ebenfalls IPtables, allerdings ist mir das "fail2bann"-System zu umständlich und zu wuchtig.
Ich habe mit wenigen Anweisungen unsere IPtables so konfiguriert, daß nach x Versuchen die IP eines
potentiellen Angreifers für eine bestimmte Zeit ignoriert wird. Danach kann er es gerne wieder versuchen,
aber in der Regel bleibt es dann bei dem einen Versuch - und wenn nicht, wünsche ich für die nächsten
Jahrzehnte noch viel Spaß damit...

mfg.
  VolGas
Gespeichert
borderlinedancer
ProFTPD
*
Offline Offline

Beiträge: 5



Profil anzeigen
« Antwort #5 am: 04. März 2007, 12:29:43 »

Hmm...  geht das wirklich NUR mit der Firewall?
Gibt es da keine Einstellungen die man am ProFTP selbst vornemen kann?

Zum etwas unglücklich benännten Thema "Root brauch einen eigene Zugang" habe ich inzwischen eine Lösung gefunden. Es ging ja lediglich daraum das ich mit dem Editor -von Extern- auch die Hauptwebsite im Verzeichniss /var/www/ bearbeiten wollte. Und da dieses Verzeichniss root gehört...

Naja..

Die lösung ist jedenfalls die:

Zu erst einen neuen User erstellen mit dem Verzwichis /var/www/ als Home Verzeichnis.
Code:
#adduser neuer_user --home /var/www
Jezt noch mit root unter /var/www/ einen public_html Verzeichniss erstellen und es dem neuen User "schenken".
Code:
# mkdir /var/www/public_html
# chown neuer_user /var/www/public_html/
Danach müss die "DocumentRoot" und <Directory> Angaben von Apache mit dem Editor in /var/www/public_html bzw.  /var/www/public_html/ geändert werden.
Code:
# nano /etc/apache2/sites-enabled/???

Und jezt nur noch  Apache acktuallisieren
Code:
# /etc/init.d/apache2 reload

Fertig !
Gespeichert
borderlinedancer
ProFTPD
*
Offline Offline

Beiträge: 5



Profil anzeigen
« Antwort #6 am: 09. März 2007, 05:40:22 »

Wie gesagt ich kann mir nicht vorstellen das ich -um "brut-force-attacken" zu vermeiden- an der Firewall rumschrauben soll, da ja das grösste Problem die Loginversuche sind.
Also hab ich mal meine Conf etwas modifiziert. Die Globalen Einstellunge sehen jezt so aus:
Code:
<Global>
DefaultTransferMode binary
RootLogin off
# Login
TimeoutLogin 60
MaxLoginAttempts 5
MaxClientsPerHost 3
</Global>
Was mich im Moment aber noch etwas stört ist, das sich nach 5 falschen login versuchen, die Zeit der Sperre (falls sie so überhaupt funktioniern sollte) nicht steuern lässt.

Habt ihr da irgend etwas das mir helfen könnte?
« Letzte Änderung: 09. März 2007, 07:01:29 von VolGas » Gespeichert
VolGas
Moderator
ProFTPD
*****
Online Online

Beiträge: 770



Profil anzeigen
« Antwort #7 am: 09. März 2007, 08:32:15 »

Ich muß Dich leider enttäuschen: es gibt keine Sperrzeiten.

Das liegt z.T. auch am Konzept des ProFTPD: wenn sich jemand neu einloggen möchte wird von der ersten Instanz
des ProFTPD ein neuer "Kind-Prozess" von sich selbst gestartet. Dieser eigenständige Prozess beendet sich dann
wieder nach erfolglosen "MaxLoginAttempts" Login-Versuchen - fertig: neues Spiel, neues Glück, nächster bitte...

Alleine das macht eine BFA schon erfolgreich: der Server wird bis zum Anschlag zur maximal erlaubten Anzahl
von Prozessen gezwungen, es bleibt keine Kapazität mehr für andere User übrig. Jedes starten eines neuen
Prozesses erzeugt schon alleine eine deutliche Prozesslast und wenn die maximale Prozesszahl nicht gut gewählt
bzw. errechnet wurde oder es schlimmstenfalls gar kein Limit gibt (initd!) - um so besser: das System kommt in
Speichernot und beginnt zu "swappen". Die Maschine sackt endgültig in die Knie, neue Anfragen (Requests)
werden intern in eine Warteschleife legt, bis auch diese irgendwann voll ist und "überläuft"...

Nun könnte man behaupten, daß das Konzept des ProFTPD sch...lecht sei, aber es funktionieren fast alle Server
auf ähnliche oder gleiche Weise. Daher muß man eine Brute-Force-Attack schon im Ansatz abwehren, bevor sie
an der eigentlichen Serversoftware ankommt. Der Angriff findet nämlich schon auf Protokollebene statt, indem
man die Maschine einfach mit Anfragen überflutet und oft gar nicht mehr auf Antwort wartet. Damit sind wir
dann schon beim sog. "Flooding"...

Was macht man also am besten dagegen?
Ebenfalls auf Protokoll- und Systemebene reagieren!

Hier kommt z.B. IPtables/Netfilter als Teil des Betriebssystems (Kernel) ins Spiel. Versucht z.B. eine IP in einem
definierten Zeitabstand immer wieder eine neue Verbindung aufzubauen, dürfte mit hoher Wahrscheinlichkeit eine
BFA vorliegen und nach x Versuchen ignoriert das System einfach für eine voreingestellte Zeit alle Anfragen dieser
IP auf diesem Port...

Auch ein weniger "brutales" Vorgehen, bei dem nur ganz "gemächlich" und ohne dabei die Serverlast hochtreiben zu
wollen, versucht wird, ein Passwort zu knacken, wird extrem in die Länge gezogen und damit zumindest massiv
behindert. Zwischenzeitlich sollte dieser Angriff in den Logfiles deutlich auffallen...

Vielleicht kannst Du nun verstehen, warum Brute-Force-Attacken am besten schon vom System abgefangen werden
müssen und dies eigentlich nichts mehr mit der jeweiligen Serversoftware zu tun hat.

mfg.
  VolGas
« Letzte Änderung: 09. März 2007, 08:34:27 von VolGas » Gespeichert
borderlinedancer
ProFTPD
*
Offline Offline

Beiträge: 5



Profil anzeigen
« Antwort #8 am: 12. März 2007, 07:52:49 »

 Unentschlossen
Andere Perspektive = andere Sicht.
Keine frage, dass was du schreibst macht sinn.  Smiley
Muss ich halt mal sehen wie ich das zusammengetragene umsetzen kann, den Firewall oder Filter auf dem Rechner...
...das ist eigentlich etwas das ich nicht sehr mag.
Jedenfalls danke für dein ausführlichen Beitrag, auch wenn's für mich nicht das 5 Minuten Kochrezept darstellt.  Zwinkernd
Gespeichert
VolGas
Moderator
ProFTPD
*****
Online Online

Beiträge: 770



Profil anzeigen
« Antwort #9 am: 12. März 2007, 12:32:32 »

Leider sind gerade oft die Dinge, die man meint schnell erledigen zu können, die größten Zeitfresser.
Und da hast Du Dich -wenn man es gut machen und auch verstehen möchte- an ein riesiges Gelage
mit vielen Gängen, das auch über mehrere Tage hinweggehen kann, herangewagt.

Guten Appetit!

mfg.
  VolGas
Gespeichert
Seiten: [1]   Nach oben
  Drucken  
 
Gehe zu:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.2 | SMF © 2006-2007, Simple Machines LLC Prüfe XHTML 1.0 Prüfe CSS
Seite erstellt in 0.127 Sekunden mit 18 Zugriffen.