Euh, oui, c'est le principe de open_basedir- Je peux parcourir tous les répertoires du disque dur via php. open_basedir peut-il m'aider à brider cela ?
Que le dossier soit dans /var/www/ , /home/user/www/ ou encore /trucmuche/, cela ne changera pas grand chose, ce sont les droits qu'il faut correctement configurer. Et pour cela cela dépend directement de ce à quoi servira à terme la plateforme, donc à quoi est ce que servira le serveur apache.- J'ai déplacé la base d'apache de /var/www à /home/ma_session/www soit disant pour éviter des problèmes de sécurité. Est-ce réel ?
Déjà le problème c'est qu'un Ubuntu, déjà, c'est pas top pour un serveur, alors en plus un Ubuntu Desktop ! Je t'invite vraiment à changer de distribution pour cela. Sinon, il faut en fait que le initscript de apache soit référencé dans /etc/init.d/, et linké dans /etc/rc*.d/. Si ce n'est pas le cas, poste ce que tu as dans ces dossiers, que l'on s'en assure.- Mon apache démarre pas tant que ma session Ubuntu est pas ouverte. Quel moyen pour la lancer sans passer via la session ?
proftpd est le plus simple à configurer. Il a une configuration à peu près apache-like, il a pas mal de modules, tu peux faire des virtual users sans avoir à utiliser pam (et là si tu essayes, tu verras, c'est relou- Impossible d'installer un daemon ftp correct. J'ai essayé proftpd et vsftpd, les deux en gestion avec mysql. A chaque fois, 530 login incorrect et aucun log me détaillant l'erreur (essayé avec tous les cryptage et même sans !). Je ne veux pas utiliser un daemon ftp basé sur les utilisateurs UNIX. Quel daemon ftp pourrait ressembler à typsoft ftp server ? J'ai besoin de créer des utilisateurs rapidement et les encapsuler dans un dossier précis.
La base : Les mises à jour de sécurité, un vrai OS serveur, et un iptables bien configuré.Au final, cette machine sera en frontal sur le port 21. Que pouvez-vous me conseiller quand à sa sécurité ?
Pas réellement de façon tangible sans partir dans la virtualisation, la meilleure et la plus simple des façon est d'utiliser un environnement chrooté, ou mieux encore un jail freebsd (sous ubuntu forcément ca sera difficile:))Hello ALL,
Je rencontre quelques difficultés dans mon apprentissage de l'administration serveur. J'ai installé Ubuntu (version normale) afin de créer un serveur web interne avec ftp externe. J'ai bien installé apache2, php5 et mysql. Seulement, il y a plusieurs zones d'ombre quant à la sécurité :
- Je peux parcourir tous les répertoires du disque dur via php. open_basedir peut-il m'aider à brider cela ?
Nope aucune réalité la dedans- J'ai déplacé la base d'apache de /var/www à /home/ma_session/www soit disant pour éviter des problèmes de sécurité. Est-ce réel ?
Pas sur vu que jsuis pas fan d'ubuntu, mais normalement c'est deux choses totalement distinctes (services vs utilisation desktop) tu es sur de ce que tu dis?- Mon apache démarre pas tant que ma session Ubuntu est pas ouverte. Quel moyen pour la lancer sans passer via la session ?
Je prefere pure-ftpd à n'importe quel autre surtout proftpd qui a eu à mon gout beaucoup trop de probleme de sécurité dans son histoire pour etre considéré comme fiable meme si tous le monde s'accorde pour dire que ca s'est amélioré.- Impossible d'installer un daemon ftp correct. J'ai essayé proftpd et vsftpd, les deux en gestion avec mysql. A chaque fois, 530 login incorrect et aucun log me détaillant l'erreur (essayé avec tous les cryptage et même sans !). Je ne veux pas utiliser un daemon ftp basé sur les utilisateurs UNIX. Quel daemon ftp pourrait ressembler à typsoft ftp server ? J'ai besoin de créer des utilisateurs rapidement et les encapsuler dans un dossier précis.
La sécurité c'est un terme très relatif, ca se base plus sur la chance qu'autre chose tu peux etre un cador de la sécu si tu tombes sur un cracker doué, il va te péter ta conf quand meme, donc mon avis, fais des sauvegardes, fais des trucs de base (firewalling, tuning kernel, environnements chrooté, password générés et non pas choisis par les users, gestion stricte des droits sur le système, et fais des backups, et si tu veux rentrer en mode parano y'a les IDS (prelude est très bien openvas aussi)Au final, cette machine sera en frontal sur le port 21. Que pouvez-vous me conseiller quand à sa sécurité ?
Je suis ouvert à toute aide ou recommandation.
Merci à tous
d'ailleurs par défaut proftpd utilise pam qui signifie plugable authentification module, et qui permet entre autre d'utiliser une base de donnée (mysql pgsql) ou un annuaire (ldap) voir du côté de pam-mysql et pam-ldap, ca se configure pas trop mal avec tous les tutos du net contrairement à ce que Sekil dit.proftpd est le plus simple à configurer. Il a une configuration à peu près apache-like, il a pas mal de modules, tu peux faire des virtual users sans avoir à utiliser pam (et là si tu essayes, tu verras, c'est relou- Impossible d'installer un daemon ftp correct. J'ai essayé proftpd et vsftpd, les deux en gestion avec mysql. A chaque fois, 530 login incorrect et aucun log me détaillant l'erreur (essayé avec tous les cryptage et même sans !). Je ne veux pas utiliser un daemon ftp basé sur les utilisateurs UNIX. Quel daemon ftp pourrait ressembler à typsoft ftp server ? J'ai besoin de créer des utilisateurs rapidement et les encapsuler dans un dossier précis.). Mais ce n'est pas pour autant que c'est évident. Poste plutôt ta conf et tes erreurs pour qu'on puisse t'aiguiller.
Je crois que je vais désactiver les fonction fonctions permettant de lancer un éxécutable ou un shell. Tu aurais une lsite rapide de ces fonctions ?Euh, oui, c'est le principe de open_basedir
Tu fixes la valeur de open_basedir au chemin dans lequel se situe le site web. Par contre, si tu n'utilises que open_basedir (sans autre mécanisme comme safemode ou suphp, suexec, etc…), il faut que tu désactives toute fonction permettant de lancer un exécutable ou un shell.
Je retiens, effectivement c'est puissant ce truc, je connaissais pasun iptables bien configuré.
Merci pour tout cela.fais des trucs de base (firewalling, tuning kernel, environnements chrooté, password générés et non pas choisis par les users, gestion stricte des droits sur le système, et fais des backups, et si tu veux rentrer en mode parano y'a les IDS (prelude est très bien openvas aussi)
Oui mais quelque part, c'est le premier serveur que j'installe. Je suis habitué à Windows et j'ai besoin de cette interface graphique pour commencer. Je me fous des performances du "serveur", je veux juste en créer un sécurisé. Apprendre à gérer ce genre de chose là. J'utilise déjà pas mal Terminal mais l'interface graphique m'est d'une grande utilité !Déjà le problème c'est qu'un Ubuntu, déjà, c'est pas top pour un serveur, alors en plus un Ubuntu Desktop ! Je t'invite vraiment à changer de distribution pour cela.
Pas sur vu que jsuis pas fan d'ubuntu, mais normalement c'est deux choses totalement distinctes (services vs utilisation desktop) tu es sur de ce que tu dis?
Sinon, il faut en fait que le initscript de apache soit référencé dans /etc/init.d/, et linké dans /etc/rc*.d/. Si ce n'est pas le cas, poste ce que tu as dans ces dossiers, que l'on s'en assure.
C'est dans init.d, mais pas dans /etc/rc*.d/. à ma connaissance (connais même pas ce rép)update-rc.d , pour spécifier modifier les liens pour un runlevel
proftpd est le plus simple à configurer. Il a une configuration à peu près apache-like, il a pas mal de modules, tu peux faire des virtual users sans avoir à utiliser pam (et là si tu essayes, tu verras, c'est relou). Mais ce n'est pas pour autant que c'est évident. Poste plutôt ta conf et tes erreurs pour qu'on puisse t'aiguiller.
Je prefere pure-ftpd à n'importe quel autre surtout proftpd qui a eu à mon gout beaucoup trop de probleme de sécurité dans son histoire pour etre considéré comme fiable meme si tous le monde s'accorde pour dire que ca s'est amélioré.
Pour proftpd , lorsqu'il démarre , tu dois forcement avoir des logs ..
Je veux bien le croire mais j'ai un gros souci pour m'y loguer avec une authentification via mysql. Par contre, avec mon compte unix, aucun souci.d'ailleurs par défaut proftpd utilise pam qui signifie plugable authentification module, et qui permet entre autre d'utiliser une base de donnée (mysql pgsql) ou un annuaire (ldap) voir du côté de pam-mysql et pam-ldap, ca se configure pas trop mal avec tous les tutos du net contrairement à ce que Sekil dit.
Merci, je l'ai suivie mais ça ne fonctionne pas... proftpd se lance bien et par contre ne se connecte pas avec une authentification via mysql ("530 - authentification failed" un truc du genre)
Désolé Nagol mais rien compris. Autant à la phpFranquette devant des sushis tu parlais français, autant là je suis largué ^_^Pas réellement de façon tangible sans partir dans la virtualisation, la meilleure et la plus simple des façon est d'utiliser un environnement chrooté, ou mieux encore un jail freebsd (sous ubuntu forcément ca sera difficile:))
firewalling sous linux iptables oui, c'est le seul pour ainsi dire, les chroot oui c'est assez complexe à mettre en place, le soucis étant classique plus tu veux de la sécu plus ca sera compliqué à mettre en place j'en ai peur, les password généré, c'est plus un conseil qu'autre chose, éviter les password choisis par l'utilisateur genre leur date de naissance ou genre "123" "azerty"Merci pour tout cela.fais des trucs de base (firewalling, tuning kernel, environnements chrooté, password générés et non pas choisis par les users, gestion stricte des droits sur le système, et fais des backups, et si tu veux rentrer en mode parano y'a les IDS (prelude est très bien openvas aussi)
firewalling => iptable ?
tuning kernel => ???
chrooté => c'est très complexe ! J'ai lu les divers articles et d'après ce que j'en ai retenu, c'est plein de manipulation pour changer les répertoires des processus.
password générés et non pas choisis par les users => quels mdp ? mysql ? ftp ?
gestion stricte des droits sur le système => ???
ids => pas mal mais effectivement parano. Me laisserai tout de même bien tenter...
généralement sur les linux on parle de rc quand il s'agit de services alors forcément ubuntu debian j'ai pas pratiqué depuis l'an 2000 je vais pas pouvoir aider parceque c'est quelquechose qui est traditionellement entierement différent d'une distribution à une autre.Pas sur vu que jsuis pas fan d'ubuntu, mais normalement c'est deux choses totalement distinctes (services vs utilisation desktop) tu es sur de ce que tu dis?Sinon, il faut en fait que le initscript de apache soit référencé dans /etc/init.d/, et linké dans /etc/rc*.d/. Si ce n'est pas le cas, poste ce que tu as dans ces dossiers, que l'on s'en assure.C'est dans init.d, mais pas dans /etc/rc*.d/. à ma connaissance (connais même pas ce rép)update-rc.d , pour spécifier modifier les liens pour un runlevel
Une bonne technique pour voir les choses plus clairement c'est de lancer le processus du serveur en ligne de commande pour pouvoir scruter les logs au fur et à mesure, sans qu'il parte en processus daemon, si tu as une conf pam-mysql , il y a fort à parier qu'elle n'est pas au point, le compte systeme authentifie toujours parceque en plus du mysql il va checker le compte système (pratique pour éviter d'etre coincé, surtout quand on touche au pam de sshproftpd est le plus simple à configurer. Il a une configuration à peu près apache-like, il a pas mal de modules, tu peux faire des virtual users sans avoir à utiliser pam (et là si tu essayes, tu verras, c'est relou). Mais ce n'est pas pour autant que c'est évident. Poste plutôt ta conf et tes erreurs pour qu'on puisse t'aiguiller.
Je prefere pure-ftpd à n'importe quel autre surtout proftpd qui a eu à mon gout beaucoup trop de probleme de sécurité dans son histoire pour etre considéré comme fiable meme si tous le monde s'accorde pour dire que ca s'est amélioré.Pour proftpd , lorsqu'il démarre , tu dois forcement avoir des logs ..Je veux bien le croire mais j'ai un gros souci pour m'y loguer avec une authentification via mysql. Par contre, avec mon compte unix, aucun souci.d'ailleurs par défaut proftpd utilise pam qui signifie plugable authentification module, et qui permet entre autre d'utiliser une base de donnée (mysql pgsql) ou un annuaire (ldap) voir du côté de pam-mysql et pam-ldap, ca se configure pas trop mal avec tous les tutos du net contrairement à ce que Sekil dit.
Les logs, j'en ai. Seulement ça se résume à "530 - authentification failed", aucun détail sur la requête faite et/ou retournée.
J'ai également essayé avec pure-ftpd et vsftpd et... pareil. Pourtant, je me connecte bien sur ma table (phpmyadmin) avec l'identifiant et mdp des ftp que j'ai défini
Aye désolé, on me le dit souvent que je suis un peu cryptique quand je résume, la virtualisation c'est le fait de pouvoir lancer un OS virtuel dans un OS réel, un linux dans un linux, deux linux dans un linux, un windows dans un linux, etc etc, vmware est le leader de ce marché actuellement, le jail freebsd oublie c'est une technique comparable au chroot sous linux mais plus avancée et disponible uniquement sous freebsd et peut etre openbsd ou netbsd.Merci, je l'ai suivie mais ça ne fonctionne pas... proftpd se lance bien et par contre ne se connecte pas avec une authentification via mysql ("530 - authentification failed" un truc du genre)
Désolé Nagol mais rien compris. Autant à la phpFranquette devant des sushis tu parlais français, autant là je suis largué ^_^Pas réellement de façon tangible sans partir dans la virtualisation, la meilleure et la plus simple des façon est d'utiliser un environnement chrooté, ou mieux encore un jail freebsd (sous ubuntu forcément ca sera difficile:))
y'a des OS qui se spécialise dans la sécurité, OpenBSD est sans doute le meilleur exemple, c'est un OS compliqué à aborder qui n'est généralement utilisé que pour faire de la sécu (passerelle/firewall/ids etc) côté linux, faudrait fouiller un peu, mais Debian est une distribution qui a fait ses preuves en tant que solution sécurité, notament en allongeant les cycles de stabilisation des logiciels au point que les derniers versions stables pour une debian sont souvent des versions très vieilles pour n'importe quelle autre distribution, personellement je n'aime pas, mais c'est une des distrib les plus faciles et équilibrées pour faire un serveur web sécurisé correctement.Dites, pendant que j'y pense, y'a pas une distrib modifiée avec tout ça d'installé et securisé par hasard ? On fait bien des distribs windows prête à l'emploi...pas légales mais bon ^_^
Okay, donc faut que je me documente sur iptablesfirewalling sous linux iptables oui, c'est le seul pour ainsi dire, les chroot oui c'est assez complexe à mettre en place, le soucis étant classique plus tu veux de la sécu plus ca sera compliqué à mettre en place j'en ai peur, les password généré, c'est plus un conseil qu'autre chose, éviter les password choisis par l'utilisateur genre leur date de naissance ou genre "123" "azerty"la gestion stricte des droits d'un système c'est de définir une politique de droit (user/groupe et chmod) je sais pas trop à quel point tu connais linux/unix donc c'est dur de préciser correctement l'idée, mais grosso modo la règle c'est de désactiver l'accès en lecture/écriture/exécution pour tous le monde, de n'autoriser qu'au groupes/users qui ont besoin la lecture écriture sur les fichiers et lecture écriture exécution sur les dossiers.
Le tuning kernel ca se fait au choix directement dans le kernel en compile (cad forcément qu'il faut pas se planter) ou alors à base de sysctl, on trouve des docs spécialisées sur le sujet sur le net, généralement on conseille de désactiver le ping, il y'a quelques configs pour éviter quelques cas de figures de spoofing de réseau local, ou pour désactiver le routage (quand on n'a pas de serveur derriere une box il ne devrait jamais pouvoir router) ce genre de choses.
Les IDS c'est puissant, c'est gourmand aussi, généralement on fait ca sur un serveur séparé (une gateway qui fait firewall par exemple) c'est la solution la plus définitive en matière de sécu, mais pas facile à mettre en place non plus.
Ca je ne savais pas... Un tuto traîne qque part sur le web concernant ce lancement en ligne de commande ? Ou un bon tuto pour installer un ftp de A à Z de façon simple (ajouter un utilisateur, définir son chemin et ça tourne) ? J'aimais bien filezilla server et typsoft ftp server... mais je veux plus de windows !Une bonne technique pour voir les choses plus clairement c'est de lancer le processus du serveur en ligne de commande pour pouvoir scruter les logs au fur et à mesure, sans qu'il parte en processus daemon, si tu as une conf pam-mysql , il y a fort à parier qu'elle n'est pas au point, le compte systeme authentifie toujours parceque en plus du mysql il va checker le compte système (pratique pour éviter d'etre coincé, surtout quand on touche au pam de ssh)
Ouep, je connais le principe de la virtualisation, vmware etc.. J'en entendais parler à l'époque Celeonet et leurs serveurs virtuels !Aye désolé, on me le dit souvent que je suis un peu cryptique quand je résume, la virtualisation c'est le fait de pouvoir lancer un OS virtuel dans un OS réel, un linux dans un linux, deux linux dans un linux, un windows dans un linux, etc etc, vmware est le leader de ce marché actuellement, le jail freebsd oublie c'est une technique comparable au chroot sous linux mais plus avancée et disponible uniquement sous freebsd et peut etre openbsd ou netbsd.
Mouai, donc je vais préférer rester sous ubuntu pour APPRENDRE à installer un serveur et à le sécuriser. Une fois cela appris, je passerai à une autre distrib que Ubuntu (ou du moins passer en Ubuntu server)y'a des OS qui se spécialise dans la sécurité, OpenBSD est sans doute le meilleur exemple, c'est un OS compliqué à aborder qui n'est généralement utilisé que pour faire de la sécu (passerelle/firewall/ids etc) côté linux, faudrait fouiller un peu, mais Debian est une distribution qui a fait ses preuves en tant que solution sécurité, notament en allongeant les cycles de stabilisation des logiciels au point que les derniers versions stables pour une debian sont souvent des versions très vieilles pour n'importe quelle autre distribution, personellement je n'aime pas, mais c'est une des distrib les plus faciles et équilibrées pour faire un serveur web sécurisé correctement.
Vous croyez que "auth required pam_mysql.so" peut être la cause du problème ? faut le mettre en lien réel ?# Connexion avec logging en base de donnees des acces
auth required pam_mysql.so verbose=1 user=vsftpd passwd=VsftpD host=localhost db=vsftpd table=utilisateurs usercolumn=nom passwdcolumn=pass crypt=1 sqllog=true logtable=log logmsgcolumn=msg logusercolumn=user logpidcolumn=pid loghostcolumn=host logrhostcolumn=rhost logtimecolumn=time
account required pam_mysql.so verbose=1 user=vsftpd passwd=VsftpD host=localhost db=vsftpd table=utilisateurs usercolumn=nom passwdcolumn=pass crypt=1 sqllog=true logtable=log logmsgcolumn=msg logusercolumn=user logpidcolumn=pid loghostcolumn=host logrhostcolumn=rhost logtimecolumn=time