This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
sermn_wiki:userpages:marta:ftp [2008/11/14 11:43] marta |
sermn_wiki:userpages:marta:ftp [2011/03/02 01:32] (current) miquel |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | <note important> | + | ====== Servidor FTP amb ProFTPd ====== |
| + | FTP (File Transfer Protocol) és un protocol de xarxa per transferència de fitxers entre diferents sistemes, basat en l' | ||
| + | Un servidor FTP és un programa que s' | ||
| + | Sovint, els servidors FTP no es troben als ordinadors personals, per tant un usuari utilitzarà el FTP per connectar-se remotament a un servidor i així intercanviar informació amb ell. | ||
| + | |||
| + | ===== Configuració ===== | ||
| + | A continuació es mostra el contigunt del fitxer de configuració del servidor FTP. Aquest fitxer consta de dues parts: la configuració general del servidor i la configuració dels hosts virtuals. | ||
| + | |||
| + | ==== General ==== | ||
| + | |||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | |||
| + | < | ||
| + | TLSProtocol | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | ControlsEngine | ||
| + | ControlsMaxClients | ||
| + | ControlsLog | ||
| + | ControlsInterval | ||
| + | ControlsSocket | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | AdminControlsEngine | ||
| + | </ | ||
| + | |||
| + | La directiva '' | ||
| + | |||
| + | ==== Hosts virtuals ==== | ||
| + | |||
| + | < | ||
| + | ServerName " | ||
| + | DeferWelcome off | ||
| + | |||
| + | <Limit WRITE> | ||
| + | | ||
| + | </ | ||
| + | |||
| + | Port 21 | ||
| + | Umask 022 | ||
| + | AuthPAM off | ||
| + | DefaultServer on | ||
| + | User nobody | ||
| + | Group nogroup | ||
| + | ExtendedLog < | ||
| + | DefaultRoot ~ | ||
| + | IdentLookups off | ||
| + | ShowSymlinks on | ||
| + | TimeoutNoTransfer 600 | ||
| + | TimeoutStalled 600 | ||
| + | TimeoutIdle 1200 | ||
| + | RootLogin off | ||
| + | MaxLoginAttempts 3 | ||
| + | RequireValidShell off | ||
| + | DisplayLogin welcome.msg | ||
| + | DisplayFirstChdir .message | ||
| + | ListOptions " | ||
| + | DenyFilter \*.*/ | ||
| + | TransferLog < | ||
| + | MaxClientsPerHost 2 | ||
| + | MaxClientsPerUser 2 | ||
| + | MaxClients 0 "Full Server" | ||
| + | DirFakeGroup on ftp | ||
| + | DirFakeUser on ftp | ||
| + | DirFakeMode 0000 | ||
| + | | ||
| + | < | ||
| + | | ||
| + | | ||
| + | </ | ||
| + | | ||
| + | < | ||
| + | | ||
| + | </ | ||
| + | | ||
| + | < | ||
| + | | ||
| + | </ | ||
| + | | ||
| + | < | ||
| + | | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | Proftpd només soporta hosts virtuals amb IPs diferents però soporta hosts virtuals amb la mateixa IP connectats a ports diferents. Si es volen definir més hosts virtuals, cal canviar el port que rep les connexins dels usuaris i la directiva '' | ||
| + | |||
| + | ==== Usuaris virtuals amb mySQL ==== | ||
| + | |||
| + | Per poder crear usuraris virtuals per al servidor FTP, s'ha creat una base de dades que conté la informació del usuaris del FTP amb la següent estrucura: | ||
| + | |||
| + | ^ | ||
| + | | id | int(10) | ||
| + | | username | varchar(32) | ||
| + | | password | varchar(100) | | No | | | | ||
| + | | uid | smallint(6) | ||
| + | | gid | smallint(6) | ||
| + | | homedir | ||
| + | | shell | varchar(50) | ||
| + | | actiu | tinyint(4) | ||
| + | | group | int(10) | ||
| + | | count | int(11) | ||
| + | | accessed | datetime | ||
| + | |||
| + | Per configurar el nostre servidor, avanç de res cal instalar el modul '' | ||
| + | |||
| + | Aquest és el contingut afegit (dins la directiva del virtual host) al fitxer de configuració per gestionar els usuaris de la base de dades: | ||
| + | # Autentificacion bbdd mysql | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | |||
| + | # Acutalització de la base de dades | ||
| + | | ||
| + | | ||
| + | |||
| + | Cal destacar la comanda '' | ||
| + | |||
| + | ==== Connexió segura amb SSL/TLS ==== | ||
| + | |||
| + | Un problema de FTP és que està pensat per oferir la màxima velocitat en la connexió, però no la màxima seguretat, ja que tot l' | ||
| + | |||
| + | Per configurar el nostre servidor amb connexions xifrades, cal generar un certificat RSA amb les calus publiques i privades. Desprès es configurarà el servidor. | ||
| + | |||
| + | Aquest és el contingut afegit (dins la directiva del virtual host) al fitxer de configuració per gestionar connexions amb el protocol SSL/TLS: | ||
| + | |||
| + | # | ||
| + | < | ||
| + | TLSEngine | ||
| + | TLSRequired | ||
| + | TLSLog | ||
| + | TLSRSACertificateFile | ||
| + | TLSRSACertificateKeyFile | ||
| + | TLSVerifyClient | ||
| + | TLSOptions | ||
| + | TLSRenegotiate | ||
| + | </ | ||
| + | |||
| + | |||
| + | La directiva '' | ||
| + | |||
| + | ==== Mòduls ==== | ||
| + | Cal especificar quins mòduls a he carregar el nostres servidor per a poder dur a terme totes les tasque. Com podem observar, la primera línia del nostre fitxer de configuració ens está indicant que cal incloure el fitxer '' | ||
| + | |||
| + | ModulePath / | ||
| + | ModuleControlsACLs insmod, | ||
| + | ModuleControlsACLs lsmod allow user * | ||
| + | | ||
| + | LoadModule mod_ctrls_admin.c | ||
| + | LoadModule mod_tls.c | ||
| + | LoadModule mod_sql.c | ||
| + | LoadModule mod_ldap.c | ||
| + | LoadModule mod_sql_mysql.c | ||
| + | LoadModule mod_quotatab.c | ||
| + | LoadModule mod_quotatab_file.c | ||
| + | LoadModule mod_quotatab_ldap.c | ||
| + | LoadModule mod_quotatab_sql.c | ||
| + | LoadModule mod_radius.c | ||
| + | LoadModule mod_wrap.c | ||
| + | LoadModule mod_rewrite.c | ||
| + | LoadModule mod_ifsession.c | ||
| + | |||
| + | ===== Enllaços ===== | ||
| + | |||
| + | [[http:// | ||
| + | |||
| + | [[http:// | ||
| + | |||
| + | [[http:// | ||
| + | |||
| + | [[http:// | ||