This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Last revision Both sides next revision | ||
sermn_wiki:userpages:marta:ftp [2008/11/14 11:43] marta |
sermn_wiki:userpages:marta:ftp [2008/12/02 14:04] marta |
||
---|---|---|---|
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 linea del nostre fitxer de configuració ens está indicant que cal inclure 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:// | ||