[gelöst] pure-ftpd übernimmt meine config nicht

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
Benutzeravatar
feldmaus
Beiträge: 1308
Registriert: 14.06.2005 23:13:22
Lizenz eigener Beiträge: GNU General Public License
Wohnort: Deutschland

[gelöst] pure-ftpd übernimmt meine config nicht

Beitrag von feldmaus » 27.04.2010 12:29:26

Hallo Leute,


ich bin gerade dabei eine Homepage aufzubauen auf meinem neuen kleinen Server(Debian Lenny, 2.6.32.11). :-) Installiert habe Apache2, pure-ftpd-mysql, phpmyadmin, mysql. Beim einrichten des pure-ftp Servers habe ich allerdings noch Probleme. Ich habe eine SQL Datenbank/Tabelle erstellt, wo ich die Benutzer verwalte, die sich über ftp einloggen können sollen.
Datenbank: pureftpd
Tabelle: sql-ftp-users
User: Stefan (Benutzer zum testen)

Wie man sieht heißt mein erster User Stefan. Wenn ich mich einloggen will über <sftp://feld-server/> kommt ein Login-Fenster. Dort werden zur zeit nur lokale Benutzer erlaubt, aber nicht mein Benutzer Stefan aus meiner SQL-Datenbank. Eine Log-Datei wurde auch nicht erstellt. Laufen tut pure-ftpd bei mir über initd. Hier meine Konfigs:

Code: Alles auswählen

./MinUID 1000
./NoAnonymous yes
./PAMAuthentication yes
./PureDB /etc/pure-ftpd/pureftpd.pdb
./UnixAuthentication no
./ChrootEveryone yes
./MaxClientsPerIP 5
./TLS 2
./AltLog clf:/var/log/pure-ftpd/transfer.log
./MaxDiskUsage 1
./CreateHomeDir yes
./MaxClientsNumber 50
./Umask 117 007
./MySQLConfigFile /etc/pure-ftpd/db/mysql.conf
Komischerweise werde ich am Anfang gleich zu meinem lokalen Wurzel-Verzeichnis umgeleitet(Sehr unschön und nicht gewollt)

Dafür habe ich mich an folgende Anleitung gehalten http://www.howtoforge.com/pureftpd_mysq ... al_hosting und http://wiki.hetzner.de/index.php/Mysql_ ... g_pureFTPd Es kann natürlich sein, das meine Config Einstellung Fehler aufweisen und er dadurch auf default Werte umspringt?!

hat da vielleicht Jemand einen Hinweis für mich?

Grüße Markus
Zuletzt geändert von feldmaus am 28.04.2010 10:08:13, insgesamt 2-mal geändert.

Benutzeravatar
feldmaus
Beiträge: 1308
Registriert: 14.06.2005 23:13:22
Lizenz eigener Beiträge: GNU General Public License
Wohnort: Deutschland

Re: pure-ftpd übernimmt meine config nicht

Beitrag von feldmaus » 27.04.2010 19:58:32

Habe mal was konkretes gefunden in /var/log/auth.log

Code: Alles auswählen

Apr 27 19:50:51 feld-server sshd[4636]: Invalid user stefan from 192.168.0.197
Apr 27 19:50:51 feld-server sshd[4636]: Failed none for invalid user stefan from 192.168.0.197 port 38530 ssh2
Apr 27 19:50:51 feld-server sshd[4636]: pam_unix(sshd:auth): check pass; user unknown
Apr 27 19:50:51 feld-server sshd[4636]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=feld-bert.feldland.lan 
Apr 27 19:50:54 feld-server sshd[4636]: Failed password for invalid user stefan from 192.168.0.197 port 38530 ssh2
Ich will das die Authentifizierung über meinen MySQL Server läuft, muss ich "PAMAuthentication yes" löschen? Und dafür was anderes setzen?

Grüße Markus

Benutzeravatar
feldmaus
Beiträge: 1308
Registriert: 14.06.2005 23:13:22
Lizenz eigener Beiträge: GNU General Public License
Wohnort: Deutschland

Re: pure-ftpd übernimmt meine config nicht

Beitrag von feldmaus » 27.04.2010 21:36:59

Habe folgendes eingestellt:
PAMAuthentication no
UnixAuthentication no

Weiterhin habe ich ein eigenes Zertifikat erstellt:

Code: Alles auswählen

cd /etc/ssl/private
openssl req -x509 -nodes -newkey rsa:1024 -keyout \
  /etc/ssl/private/pure-ftpd.pem \
  -out /etc/ssl/private/pure-ftpd.pem

chmod 600 /etc/ssl/private/*.pem
Allerdings musste ich pure-ftpd als Standalone, also als Daemon laufen lassen, über inetd scheint es nicht zu funktionieren. Anschliessend habe ich mir einen sftp kompatiblen Client für Debian, FileZilla installiert. Nun bekomme ich folgende Meldung:

Code: Alles auswählen

Apr 27 21:21:23 feld-server pure-ftpd: (?@feld-bert.feldland.lan) [INFO] New connection from feld-bert.feldland.lan
Apr 27 21:21:23 feld-server pure-ftpd: (?@feld-bert.feldland.lan) [WARNING] Wrong SQL parameters : [SELECT Password FROM users WHERE User="stefan"]
Apr 27 21:21:23 feld-server pure-ftpd: (?@feld-bert.feldland.lan) [WARNING] Authentication failed for user [stefan]
Apr 27 21:21:26 feld-server pure-ftpd: (?@feld-bert.feldland.lan) [INFO] Logout.
Meine Tabelle mit dem entsprechenden User sieht so aus

Code: Alles auswählen

"stefan";"1";"PASSWORD";"2001";"2001";"/home/pureftpd";"100";"100";;"*";"50";"0"
Und meine /etc/pure-ftpd/db/mysql.conf sieht so aus:

Code: Alles auswählen

MYSQLSocket      /var/run/mysqld/mysqld.sock
MYSQLUser       sql-ftp
MYSQLPassword   poppen :-)
MYSQLDatabase   pureftpd
MYSQLCrypt      crypt
MYSQLGetPW      SELECT Password FROM users WHERE User="\L"
MYSQLGetUID     SELECT Uid FROM users WHERE User="\L"
MYSQLGetGID     SELECT Gid FROM users WHERE User="\L"
MYSQLGetDir     SELECT Dir FROM users WHERE User="\L"
MySQLGetQTAFS  SELECT QuotaFiles FROM users WHERE User="\L"
MySQLGetQTASZ  SELECT QuotaSize FROM users WHERE User="\L"
MySQLGetBandwidthUL SELECT ULBandwidth FROM users WHERE User="\L"
MySQLGetBandwidthDL SELECT DLBandwidth FROM users WHERE User="\L"
Hat Jemand einen Plan, was er mir ankreidet? Meine Datenbank heißt pureftpd, meine Tabelle heißt sql-ftp-users. Kann es sein das ich users durch sql-ftp-users ersetzen muss?

Grüße Markus

Benutzeravatar
feldmaus
Beiträge: 1308
Registriert: 14.06.2005 23:13:22
Lizenz eigener Beiträge: GNU General Public License
Wohnort: Deutschland

Re: pure-ftpd übernimmt meine config nicht

Beitrag von feldmaus » 27.04.2010 22:41:50

Einloggen/Schreiben/Lesen mit Filezilla scheint über Port 21, also ohne TLS zu funktionieren, jedoch wollte ich ja unbedingt...

ich habe mal folgendes geändert um ihn zu TLS zu zwingen:
echo 2 > /etc/pure-ftpd/config/TLS

Allerdings meckert er rum, das ich mich mit meinem client bei Ihm unverschlüsselt melde, das will er nicht, wie bekomme ich das Zertifikat in meinen Filezilla Client?

Code: Alles auswählen

Apr 27 22:46:22 feld-server pure-ftpd: (?@feld-bert.feldland.lan) [INFO] New connection from feld-bert.feldland.lan
Apr 27 22:46:22 feld-server pure-ftpd: (?@feld-bert.feldland.lan) [WARNING] Sorry, cleartext sessions are not accepted on this server.#012Please reconnect using SSL/TLS security mechanisms.
Ich glaube Filezilla war falsch eingerichtet, daher hat er den Benutzernamen/Passwort als Plaintext übertragen(versucht)
Ich lese gerade ein Howto, wo was zur Einstellung von Filezilla steht http://typo3.sfroemken.de/index.php?id=126, auf jeden Fall versucht er dann auch über Port 22 (ssh) reinzukommen, siehe die folgende Meldung.

Code: Alles auswählen

Apr 27 23:13:43 feld-server sshd[5345]: Invalid user stefan from 192.168.0.197
Apr 27 23:13:43 feld-server sshd[5345]: Failed none for invalid user stefan from 192.168.0.197 port 55724 ssh2
Apr 27 23:13:43 feld-server sshd[5345]: pam_unix(sshd:auth): check pass; user unknown
Apr 27 23:13:43 feld-server sshd[5345]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=feld-bert.feldland.lan 
Apr 27 23:13:45 feld-server sshd[5345]: Failed password for invalid user stefan from 192.168.0.197 port 55724 ssh2
Allerdings nutzt ssh pam_authentication, aber ich wollte doch mySQL Authentication, wat soll das also?

Grüße Markus

Benutzeravatar
feldmaus
Beiträge: 1308
Registriert: 14.06.2005 23:13:22
Lizenz eigener Beiträge: GNU General Public License
Wohnort: Deutschland

Re: pure-ftpd übernimmt meine config nicht

Beitrag von feldmaus » 27.04.2010 23:48:18

So habe jetzt mal ein Erfolgserlebnis.

Datei --> Servermanager
Dort einen neuen Server eintragen, in meinem Fall habe ich ihn feld-server genannt, dann in der Registerkarte Allgemein die Ip-Adresse oder den lokalen Domain-Namen eintragen, in meinem Fall feld-server.feldland.lan. Als Server-Typ FTPES - FTP über explizites TLS/SSL einstellen. Verbindungsart auf Nach Passwort fragen stellen und bei Benutzer habe ich stefan eingetragen. Diesen Benutzer kennt nur meine MySQL Datenbank, es ist kein lokaler User, und er wird sofort nach /home/purftpd/ chrooted.

Das ganze sieht dann korrekterweise so aus:

Code: Alles auswählen

Apr 27 23:48:37 feld-server pure-ftpd: (?@feld-bert.feldland.lan) [INFO] New connection from feld-bert.feldland.lan
Apr 27 23:48:37 feld-server pure-ftpd: (?@feld-bert.feldland.lan) [INFO] SSL/TLS: Enabled TLSv1/SSLv3 with AES128-SHA, 128 secret bits cipher
Apr 27 23:48:37 feld-server pure-ftpd: (?@feld-bert.feldland.lan) [INFO] stefan is now logged in
Ich habe noch ein Problem mit dem erstellen von Dateien. Ordner erstellen geht, nur Dateien will er nicht bzw. kann ich nicht rüber kopieren. Hat Jemand eine Idee?

Grüße Markus

Benutzeravatar
feldmaus
Beiträge: 1308
Registriert: 14.06.2005 23:13:22
Lizenz eigener Beiträge: GNU General Public License
Wohnort: Deutschland

Re: pure-ftpd übernimmt meine config nicht

Beitrag von feldmaus » 28.04.2010 09:57:05

Meine Platte war zu 30% voll, was bedeutet, dass ich die Variable MaxDiskUsage auf mindestens 31% setzen musste. Ich habe sie daher auf 95% gesetzt, damit ich nicht mehr so schnell genervt werde.

Code: Alles auswählen

MaxDiskUsage 95
Noch ein Wort zu inetd und Standalone Modus. Inetd soll Sicherheitslücken aufweisen, siehe Kapitel Usage with Inetd in http://download.pureftpd.org/pub/pure-ftpd/doc/README, weiterhin muss das Startskript angepasst werden, siehe folgenden Ausschnitt:

Code: Alles auswählen

If you use Inetd, don't put space between options and arguments. e.g. use
-a42 instead of -a 42 . Inetd has trouble dealing with a lot of options and
with characters like ':' .
Was auch der Grund ist, warum pure-ftpd nicht out of the Box im inetd Modus läuft.

Grüße Markus

Benutzeravatar
feldmaus
Beiträge: 1308
Registriert: 14.06.2005 23:13:22
Lizenz eigener Beiträge: GNU General Public License
Wohnort: Deutschland

Re: [gelöst] pure-ftpd übernimmt meine config nicht

Beitrag von feldmaus » 28.04.2010 15:43:58

Vielleicht kann mir noch Jemand einen Tipp geben, ob oder/und wie man sshd einrichtet, dass man zwar FTPES (FTP über explezites TLS/SSL) nutzen kann, aber ohne das sich ein Benutzer von Außen über ssh einloggen kann?

Grüße Markus

Antworten