\documentclass[a4paper,11pt]{report}

	\input{../includes/headers_global.tex}

	\def\sitename{Debian GNU/Linux :: Serveur }
	\def\shorttitre{ProFTPd}
	\def\titre{Serveur FTP : ProFTPd}
	\def\autheur{Matthieu Vogelweith}
	\def\subject{Mise en place d'un serveur FTP sous Debian GNU/Linux}
	\def\keywords{Debian, Linux, Matthieu, Vogelweith, Serveur, Etch, FTP, SSl, LDAP}

	\input{../includes/headers.tex}

\begin{document}

\renewcommand{\bibname}{R\'ef\'erences}

\begin{titlepage}
	\maketitle
\end{titlepage}

\chapter*{Résumé}

	ProFTPd\\
	...\\

\input{../includes/licence.tex}
%\input{licence.tex}

\tableofcontents
		
\chapter{Introduction}


\chapter{Serveur ProFTPd}

	\section{Installation des paquets}

\vspace{1em}
\begin{lstlisting} 
# aptitude install proftpd-ldap
\end{lstlisting}
\vspace{1em}

Lors de la configuration des paquets, Debconf demande s'il doit lancer proftpd avec l'aide d'inetd ou avec des démons indépendants, répondre \textbf{standalone}

	\section{Configuration de base}

- Désactivation de l'IPv6

\vspace{1em}
\begin{lstlisting} 
UseIPv6             off
\end{lstlisting}
\vspace{1em}

- Désactivation des requêtes DNS

\vspace{1em}
\begin{lstlisting} 
IdentLookups        off
UseReverseDNS       off
\end{lstlisting}
\vspace{1em}


\chapter{Authentification des utilisateurs}

    \section{Authentification LDAP}

ProfFTPd peut utiliser une base d'utilisateurs virtuels pour l'authentification. Par exemple, pour réaliser l'authentification sur un annuaire LDAP, éditer un fichier /etc/proftpd/proftp\_ldap.conf contenant les lignes suivantes :

\vspace{1em}
\begin{lstlisting} 
# LDAP Authentication
LDAPServer          "127.0.0.1:389"
LDAPUseTLS          off
LDAPDoAuth          on ou=Users,dc=example,dc=com
LDAPDoUIDLookups    on ou=Users,dc=example,dc=com
LDAPDoGIDLookups    on ou=Groups,dc=example,dc=com
LDAPAuthBinds       on
PersistentPasswd    off

# Disable Pam authentication
AuthPAM             off
\end{lstlisting}
\vspace{1em}

Il suffit ensuite d'insérer la ligne suivante à l'endroit ou vous désirez réaliser l'authentification :

\vspace{1em}
\begin{lstlisting} 
# LDAP Auth
Include /etc/proftpd/proftpd_ldap.conf
\end{lstlisting}
\vspace{1em}
    
    \section{Restrictions sur les utilisateurs}

\vspace{1em}
\begin{lstlisting} 
<Limit LOGIN>
    AllowGroup  ftp_users
    DenyAll
</Limit>
\end{lstlisting}
\vspace{1em}


\chapter{Sécurisation du service}

    \section{Chroot des utilisateurs}

\vspace{1em}
\begin{lstlisting} 
DefaultRoot     ~
\end{lstlisting}
\vspace{1em}

    \section{Delai d'authentification}

\vspace{1em}
\begin{lstlisting}
<IfModule mod_delay.c>
    DelayEngine on
</IfModule>
\end{lstlisting}
\vspace{1em}

    \section{Le module SSL}

ProFTPd dispose d'un module SSL pour chiffrer les données conformément à la RFC 4217 qui défini la sécurisation du protocole FTP à l'aide de TLS. L'interêt principal de ce module est de chiffrer tout le processus d'authentification afin de ne laisser transiter aucun mot de passe en clair sur le réseau.

\vspace{1em}
\begin{lstlisting}
<IfModule mod_tls.c>
    TLSEngine on
    TLSRSACertificateFile /etc/ssl/certs/proftpd.pem
    TLSRSACertificateKeyFile /etc/ssl/private/proftpd.key
    TLSCACertificateFile /etc/ssl/certs/ca.pem
    TLSOptions AllowPerUser
    TLSRequired on
</IfModule>
\end{lstlisting}
\vspace{1em}

\clearpage
\nocite{*}
\bibliographystyle{unsrt}
\bibliography{\jobname}

%\ifpdf
%\else
%\chapter{Vos commentaires}
%\fi
\end{document}
