Pour ce genre de chose désormais j'utilise des outils qui permettent
de faire ce genre de chose à grande échelle... au taff, j'utilise
"ansible"
Il y a même un repo (Ansible Galaxy) avec plein de gens qui écrivent
des rôles dont on peut s'inspirer...
Hello, pas les mêmes objectifs, pour ça on utilise puppet, aucun intérêt
pour un quidam qui veut déployer son vps chez ovh ou online.

- Ton script fonctionne-t-il quelque soit la LANG positionnée ?
D'après l'absence de retour que j'ai malgré de nombreuses exécution aux
usa, je dirais "sans doute", je vais cependant vérifier ce point.
Cependant, tout l'intérêt d'un script est justement de l'adapter à ses
propres besoins... ou envies 

- Pourquoi modifier ds ta conf ssh à PermitRootLogin à yes ? J'espère
que ton mot de passe est béton et que ton serveur n'est pas sur
internet...
Le mot de passe est généré automatiquement par le script, tu peux
toujours essayer de le bruteforcer par internet : il va te falloir
longtemps (quelques siècles), beaucoup d'ips (à cause de Fail2ban entre
autre), et que la personne n'est pas changé le port par défaut (ce que
permet le script en standard via ex : -s 44232 installera ssh sur ce port).

Ce n'est donc clairement pas la même fréquence de test qu'avec un John
the reaper entre de s'amuser avec une Geforce 1080 via openCL

J'administre plusieurs milliers de serveurs bastions sur internet avec
un ssh (et précedemment telnet) ouvert en mode password sans incident
sécurité lié au pass. Il faut juste respecter quelques règles comme
http://www.christophe-casalegno.fr/2007/01/30/petit-point-sur-les-strategies-de-mot-de-passe/
mais il y en a d'autres.

- Pourquoi utiliser ntpdate ds un cron pour ta mise à l'heure ?
Utilise plutôt ntpdate au démarrage + le démon ntpd, c'est mieux
En parlant de sécurité, disons que le démon ntpd a eu sa phase
d'utilisation pour faire du ddos udp, même s'il est toujours possible de
positionner des filtres adéquats, l'objectif est de rester simple.

- pure-ftpd sur un serveur ? C'est pas tip-top sur un serveur surtout
depuis que l'on peut chrooter sftp (mais au taff je me bas aussi
contre ça)
Le protocole ftp reste le plus utilisé pour publier un site aujourd'hui,
rien en effet ne t'empêche d'utiliser sftp (faut bidouiller un minimum
pour le chrooter correctement et surtout qu'il ne puisse pas servir à
créer des tunnels ssh), ou ftps (il est supporté par pure-ftpd d'ailleurs).

J'ai fais le choix de pure-ftpd car c'est un soft qu'on a eu à auditer
en pentest plusieurs fois, je trouve sa conception robuste (comme pour
vsftpd) et dans ma "philo".

- attention si tu rebootes ton serveur, les produits ne démarreront
pas automatiquement... il faut probablement que tu ajoutes des
update-rc.d à ton script (ou des systemctl enable xxx)
Quels produits ?

- pourquoi forcer la sortie d'exécution de ton script à 0 ? D'ailleurs
tu ne trappes pas bcp les codes retours de tes commandes...
Les tests, ça vient(dra) après, bien bien après, même si j'en ai mis 2
ou 3 de base. L'objectif est seulement de permettre à un quidam de
prendre un serveur chez l'hébergeur de son choix, même si ce n'est pas
chez moi, et avoir une stack lamp relativement propre sans rien
connaître. Si tu sais déjà installer ton stack, tu as probablement déjà
tes scripts 

amicalement,
 

-- Christophe Casalegno http://www.christophe-casalegno.com