Debian Dedibox : Sécurisation VHCS avec SSL
Presque 20 jours sans aucun article… Il m’a bien fallut tout ce temps pour tordre VHCS jusque dans ses plus profonds fichiers de configuration ! En faisant le tour de la sphère VHCS, j’ai pu me rendre compte que plusieurs personnes ont tenté (avec plus ou moins de succès) de coupler VHCS et SSL… Les différentes explications que l’on peut trouver ça et là (ou encore ici et là-bas) ne m’ont pas complètement satisfait.
Je vais donc tenter de proposer une solution, non pas alternative car j’utilise les mêmes principes, non plus innovante car je n’invente rien, mais plutôt personnelle. Je pars evidement du principe que mon serveur se trouve dans l’état ou je l’ai laissé depuis mon dernier article.
Voici donc les objectifs :
- VHCS, Webmail, Phpmyadmin et le Filemanager en SSL (uniquement)
- POP et IMAP en SSL (presque uniquement, on verra pourquoi ensuite…)
- Accès au panel principal sur https://sd-XXX.dedibox.fr (Pour les dédiboxiens)
- Accès par sous domaines (uniquement) au lieu des URLs. (Pour chaque domaine !)
- panel.domaine.tld
- webmail.domaine.tld
- files.domaine.tld
- pma.domaine.tld
Création des définitions POP et IMAP pour chaque domaine (futile mais pratique pour la configuration des clients mails.)
- pop.domaine.tld
- imap.domaine.tld
Munissez vous d’une bonne dose de patience et en route !
OpenSSL
Tout d’abord installons openssl au cas ou vous ne l’auriez pas déjà :
# apt-get install openssl
Errata #2 : Activez le module apache SSL :
# a2enmod ssl
Ensuite il faut générer vos certificats SSL :
# cd /etc/apache2/ssl
# apache2-ssl-certificate
Une série de question vous sera posée, vous pouvez tappez sur ENTER et ne pas répondre à ces questions sauf la suivante au vous mettrez une étoile (*).
server name (eg. ssl.domain.tld; required!!!) []:*
En fait le programme génère un certificat “autosigné” qui sera placé dans le répertoire /etc/apache2/ssl (ou vous êtes actuellement).
Ceci fait, remontez vos manches, on entre dans les fichiers de conf VHCS !
Architecture et fonctionnement de VHCS.
Afin de ne pas faire (trop) n’importe quoi, j’ai passé un petit moment à comprendre le fonctionnement de VHCS. Au début cela parait un peu complexe mais finalement, on s’y retrouve :
Nous avons donc 2 répertoires importants :
- /etc/vhcs2 : c’est le répertoire des fichiers de configuration.
- /var/www/vhcs2 : répertoire des interfaces d’administration et de quelques fichiers de configuration perdus
Le premier répertoire qui va nous interresser est celui des configurations, il est subdivisé en plusieurs sous répertoire correspondant chacun à un service pris en charge par VHCS (apache, postfix, proftpd, bind …). Chacun de ces sous-répertoires est lui aussi architecturé spécifiquement. Ainsi on trouvera un sous répertoire appelé “parts” contenant des parties de fichiers de configuration, ce sont ces parties (ou templates) qui sont ensuite utilisée pour générer les fichiers de configuration principaux du système. Nous allons donc nous attarder sur ces templates.
Mais avant tout, nous allons faire une petite sauvegarde de tout ce beau répertoire :
# cp -R /etc/vhcs2 /etc/vhcs2.bak
Configuration Apache
Commençons par modifier le fichier servant de base à la configuration apache :
# vi /etc/vhcs2/apache/parts/vhcs2_base.tpl
Choses à faire :
- Commenter l’alias vhcs2,
- En créer un nouveau (vhth) qui servira pour les thèmes
- Modifier l’ip, (Veillez à remplacer les XX.XX.XX.XX par votre IP serveur)
- Modifier le nom de votre serveur ( remplacer les YYYY par votre numéro de dédibox.)
- Ajouter les instruction SSL (SSLCertificateFile et SSLCertificateKeyFile doivent pointer vers les bons fichiers, c’est à dire ceux générés au début.)
Voici le contenu de ce fichier après modification : # httpd Data BEGIN.
#
# Web traffic accounting.
#
LogFormat "%B" traff
#
# GUI Location.
#
#Alias /vhcs2 /var/www/vhcs2/gui
Alias /vhth /var/www/vhcs2/gui/themes/
<Directory /var/www/vhcs2/gui/themes/>
AllowOverride none
Options MultiViews IncludesNoExec FollowSymLinks
</Directory>
<Directory /var/www/vhcs2/gui>
AllowOverride none
Options MultiViews IncludesNoExec FollowSymLinks
ErrorDocument 404 /vhcs2/errordocs/index.php
DirectoryIndex index.html index.php
</Directory>
<Directory /var/www/vhcs2/gui/tools/filemanager>
php_flag register_globals On
php_admin_value open_basedir "/var/www/vhcs2/gui/tools/filemanager/:/tmp/:/usr/share/php/"
</Directory>
Alias /vhcs_images /var/www/vhcs2/gui/images
<Directory /var/www/vhcs2/gui/images>
AllowOverride none
Options MultiViews IncludesNoExec FollowSymLinks
</Directory>
#
# Default GUI.
#
<VirtualHost XX.XX.XX.XX:443>
ServerName sd-YYYY.dedibox.fr
DocumentRoot /var/www/vhcs2/gui
<Directory /var/www/vhcs2/gui>
Options Indexes Includes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/apache.pem
SSLCertificateKeyFile /etc/apache2/ssl/3271b39.0
</VirtualHost>
# httpd [{IP}] virtual host entry BEGIN.
# httpd [{IP}] virtual host entry END.
# httpd Data END.
Après avoir modifié ce fichier il faut s’attaquer au fichier définissant les domaines.
# vi /etc/vhcs2/apache/parts/dmn_entry.tpl
Voici les choses à faire avec ce fichier :
- Ajouter un virtualhost pour le panel
- Ajouter un virtualhost pour le webmail
- Ajouter un virtualhost pour le filemanager
- Ajouter un virtualhost pour le sqlmanager (phpmyadmin)
Chaque virtualhost doit être correctement configuré avec SSL (Veillez encore une fois à bien spécifier les chemins vers vos fichiers clés, ils doivent surement être différents des miens…)
Contenu du fichier après modification :
<VirtualHost panel.{DMN_NAME}:443>
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/apache.pem
SSLCertificateKeyFile /etc/apache2/ssl/3071d749.0
DocumentRoot /var/www/vhcs2/gui
<Directory /var/www/vhcs2/gui>
Options Indexes Includes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
ServerName panel.{DMN_NAME}
</VirtualHost>
<VirtualHost webmail.{DMN_NAME}:443>
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/apache.pem
SSLCertificateKeyFile /etc/apache2/ssl/3071d749.0
DocumentRoot /var/www/vhcs2/gui/tools/webmail
<Directory /var/www/vhcs2/gui>
Options Indexes Includes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
ServerName webmail.{DMN_NAME}
</VirtualHost>
<VirtualHost files.{DMN_NAME}:443>
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/apache.pem
SSLCertificateKeyFile /etc/apache2/ssl/3071d749.0
DocumentRoot /var/www/vhcs2/gui/tools/filemanager
<Directory /var/www/vhcs2/gui>
Options Indexes Includes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
ServerName files.{DMN_NAME}
</VirtualHost>
<VirtualHost pma.{DMN_NAME}:443>
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/apache.pem
SSLCertificateKeyFile /etc/apache2/ssl/3071d749.0 # /!\ Modifiez bien ce lien en fonction de celui qui a été généré !
DocumentRoot /var/www/vhcs2/gui/tools/pma
<Directory /var/www/vhcs2/gui>
Options Indexes Includes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
ServerName pma.{DMN_NAME}
</VirtualHost>
<VirtualHost {DMN_IP}:80>
#
#User {SUEXEC_USER}
#Group {SUEXEC_GROUP}
#
#
#SuexecUserGroup {SUEXEC_USER} {SUEXEC_GROUP}
#
ServerAdmin root@{DMN_NAME}
DocumentRoot {WWW_DIR}/{DMN_NAME}/htdocs
ServerName {DMN_NAME}
ServerAlias www.{DMN_NAME} {DMN_NAME} *.{DMN_NAME}
ErrorLog {APACHE_USERS_LOG_DIR}/{DMN_NAME}-error.log
TransferLog {APACHE_USERS_LOG_DIR}/{DMN_NAME}-access.log
CustomLog {APACHE_LOG_DIR}/{DMN_NAME}-traf.log traff
CustomLog {APACHE_LOG_DIR}/{DMN_NAME}-combined.log combined
Alias /errors {WWW_DIR}/{DMN_NAME}/errors/
ErrorDocument 401 /errors/401/index.php
ErrorDocument 403 /errors/403/index.php
ErrorDocument 404 /errors/404/index.php
ErrorDocument 500 /errors/500/index.php
# httpd dmn entry cgi support BEGIN.
# httpd dmn entry cgi support END.
<Directory {GUI_ROOT_DIR}>
php_admin_value open_basedir "{GUI_ROOT_DIR}/:/etc/vhcs2/:/proc/:{WWW_DIR}/:/tmp/"
</Directory>
# httpd dmn entry PHP2 support BEGIN.
# httpd dmn entry PHP2 support END.
<Directory {WWW_DIR}/{DMN_NAME}/htdocs>
# httpd dmn entry PHP support BEGIN.
# httpd dmn entry PHP support END.
Options Indexes Includes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Dernière petite modification pour apache, il faut éditer le fichier définissant l’espace de nom des virtualhost :
# vi /etc/vhcs2/apache/parts/vh_entry.tpl
Il suffit d’ajouter une ligne afin d’indiquer à apache de prendre en compte les sites en SSL (port 443)
Contenu du fichier après modification :
NameVirtualHost {IP}:80
NameVirtualHost {IP}:443
# httpd [{DMN_GRP}] dmn group entry BEGIN.
# httpd [{DMN_GRP}] dmn group entry END.
# httpd [{ALS_NAME}] als entry BEGIN.
# httpd [{ALS_NAME}] als entry END.
Pour en terminer avec apache, nous allons maintenant faire en sorte que le site http://sd-XXX.dedibox.fr ne présente plus l’accès à VHCS afin de lui préférer un accès https://sd-XXX.dedibox.fr (SSL), pour cela nous allons tout simplement faire en sorte que http://sd-XXX.dedibox.fr pointe sur le site par défaut d’une fraiche installation d’apache.
Editez donc le fichier suivant :
# vi /etc/apache2/sites-available/default
Indiquez lui votre adresse IP (celle du serveur hein !) et ajouter la directive ServerName, après modification il devrait ressemble a cela : (XX.XX.XX.XX et YYYY : même combat que ci dessus !)
Errata #1 : Modifiez aussi les directives DocumentRoot et Directory.
<VirtualHost XX.XX.XX.XX:80>
ServerName sd-YYYY.dedibox.fr
ServerAdmin webmaster@localhost
DocumentRoot /var/www/apache2-default/
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/apache2-default/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
# This directive allows us to have apache2's default start page
# in /apache2-default/, but still have / go to the right place
# RedirectMatch ^/$ /apache2-default/
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/access.log combined
ServerSignature On
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>
Ok maintenant on est pas loin d’être bon en ce qui concerne apache, passons à la configuration de bind (le serveur de nom de domaine)
Edit (merci Frederic Nauleau) :
Editez le fichier ports.conf
# vi /etc/apache2/ports.conf
et ajoutez la ligne
# Listen 443
Configuration Bind
Je rappelle brièvement le but de cette configuration : ajouter des sous domaines par défaut à chaque création d’un nouveau domaine à travers VHCS. Nous n’avons besoin de modifier qu’un seul fichier :
# vi /etc/vhcs2/bind/parts/db_e.tpl
Il faut donc lui ajouter 2 entrées CNAME (pop et imap) et 4 entrées IN A (panel, webmail, files et pma). Voici la tête du fichier après édition :
$TTL 86400
@ IN SOA ns.{DMN_NAME}. root.{DMN_NAME}. (
; dmn [{DMN_NAME}] timestamp entry BEGIN.
{TIMESTAMP}
; dmn [{DMN_NAME}] timestamp entry END.
8H
2H
4W
1D )
IN NS ns.{DMN_NAME}.
; dmn [{DMN_NAME}] dns2 entry BEGIN.
; dmn [{DMN_NAME}] dns2 entry END.
IN MX 10 mail.{DMN_NAME}.
{DMN_NAME}. A {DMN_IP}
ns IN A {DMN_IP}
mail IN A {DMN_IP}
www CNAME {DMN_NAME}.
ftp CNAME {DMN_NAME}.
pop CNAME {DMN_NAME}.
imap CNAME {DMN_NAME}.
panel.{DMN_NAME}. IN A {DMN_IP}
webmail.{DMN_NAME}. IN A {DMN_IP}
files.{DMN_NAME}. IN A {DMN_IP}
pma.{DMN_NAME}. IN A {DMN_IP}
; sub [{SUB_NAME}] entry BEGIN.
; sub [{SUB_NAME}] entry END.</code></pre>
NB : Faites extrèmenent attention à ne pas oublier de petit points… (je vous aurai prévenu !)
Page par défaut d’un nouveau site
Toute ces modifications sont bien jolies mais, lorsque l’on crée un nouveau domaine, une page est copiée par défaut, celle ci présente les liens vers les différents outils VHCS. Cependant, étant donné que nous nous sommes donné un mal de chien à modifier VHCS, il faudrait que cette page reflète les modifications.
Cela permettra de corriger les liens et le fait que les images ne s’affichent plus. Commençons par sauvegarder le fichier :
# cp /var/www/vhcs2/gui/domain_default_page/index.html /var/www/vhcs2/gui/domain_default_page/index.html.bak
puis modifions le :
# vi /var/www/vhcs2/gui/domain_default_page/index.html
et faisons en sorte qu’il contienne le code (voir lien) suivant pour corriger tout les problèmes.
NB : Lors de la prochaine étape nous allons regénérer la configuration afin que les sites existants puissent profiter de toutes ces modifications. Cependant le fichier modifier à cette étape ne sera pas remis en place pour une raison évidente : il ne faut pas écraser votre index.html… A vous donc de traiter cela au cas par cas.
Mise à jour de la configuration VHCS
Afin d’appliquer toutes les modifications que nous avons effectuées depuis le début, il est nécessaire d’indiquer à VHCS de regénérer tous les fichiers de configurations système à partir de nos modifications.
Pour cela suivez la procédure suivante :
- Arrèter vhcs :
# /etc/init.d/vhcs2_daemon stop - Connectez vous au serveur MySQL et entrez votre mot de passe
# mysql -u root -p - Sélectionnez la base de donnée VHCS
> USE vhcs2 - Changez le statut des domaines
> UPDATEdomainSETdomain_status= ‘change’ WHEREdomain_status= ‘ok’; - Changez le statut des alias
> UPDATEdomain_aliassesSETalias_status= ‘change’ WHEREalias_status= ‘ok’; - Changez le statut des sous-domaines
> UPDATEsubdomainSETsubdomain_status= ‘change’ WHEREsubdomain_status= ‘ok’; - Quittez MySQL
> quit - Redémarrez VHCS
# /etc/init.d/vhcs2_daemon start - Lancez le script suivant (Merci Frederic Nauleau)
# /var/www/vhcs2/engine/vhcs2-rqst-mngr - Rechargez apache
# /etc/init.d/apache2 reload - Rechargez bind
# /etc/init.d/bind9 reload
Occupons nous maintenant de la mise en place de SSL pour nos emails…
POP SSL et IMAP SSL
Rien de bien compliqué dans cette étape, il suffit d’installer les bons paquages :
# apt-get install courier-imap-ssl courier-pop-ssl courier-ssl
L’installation va générer des clés automatiquement. Il suffit donc de démarrer les services associés pour pouvoir interroger notre serveur en SSL en plus de l’interrogation normale.
# /etc/init.d/courier-pop-ssl restart
# /etc/init.d/courier-imap-ssl restart
Evidement, le fait de mettre en place un accès SSL doit être fait dans le but de supprimer l’accès classique. Cependant on ne peut pas le faire car le webmail de VHCS utilise un accès classique et non un accès SSL. L’idée dans un futur proche sera donc grâce à un firewall (iptable) de bloquer l’accès provenant de l’extérieur sur les ports classiques et de laisser l’accès sur les ports SSL…
Cela fera surement être l’objet d’un futur article dédié à la mise en place d’un firewall adpaté à l’utilisation de VHCS…
Ouf !
Ce fut long ! Si vous relevez des incorrections n’hésitez pas à abuser des commentaires…
Trackbacks
Use this link to trackback from your own site.
Errata #1
Problème : VHCS reste joignable sur http://sd-XXXX.dedibox.fr
Résolution : Lors de l’édition du VirtualHost par défaut il faut aussi modifier les directives DocumentRoot et Directory. Article mis à jour.
Salut thx pour le tuto … mais j’ai un petit probleme, lorsque je relance apache : /etc/init.d/apache2 reload je suis qualifié d’un :
Syntax error on line 77 of /etc/apache2/sites-enabled/vhcs2.conf: Invalid command ‘SSLEngine’, perhaps mis-spelled or defined by a module not included in the server configuration
pourtant j’ai bien installé openssl …
as tu une idée ?
arfff dsl pour le flood erreur de refresh
Effectivement y’a un problème avec les commentaires sur mon blog, le décompte se fait mal et la publication est très bancale…
Pour revenir à ton problème, j’ai juste oublié le plus important !
Errata #2 :
Problème : Syntax error on line 77
Solution : Il faut activez le module apache SSL…
La ligne de commande n’est pas ecrite correctement :
Il manque les “_” pour domain_default_page
Sinon, merci beaucoup pour ce tutorial sans lequel je serai encore en train de me prendre la tête
Et j’attends avec impatience la suite.
Désolé, ça ne s’affiche pas correctement car apparement, ça fait parti des tags de typo. Je disais donc qu’il manque les underscores dans la ligne de commande de sauvegarde de la page par defaut de vhcs2.
Oui merci, je corrige ça dessuite, il manque un p’tit retour à la ligne.
Salut, Je crois qu’il y a un souçi avec l’alias pour vhth, si je suis ce qui est dit, j’ai un:
Error 404!
/vhth File Not Found!
Non ne t’inquiete pas c’est normal. (C’est même voulu qu’il ne donne accès en rien en direct)
Tu n’as pas besoin d’accéder directement à cet alias, il est juste utilisé pour afficher certaines images de vhcs car normalements elles étaient appelées grâce à l’url “…/vhcs2/…” qui n’est plus fonctionnelle depuis l’utilisation des sous domaines (panel, webmail…)
lol Pierre Ta vue l’heure, en tt cas GG pour tt mais la ca veut pas
Je recommence pour voir !
Pour la base ? les espece de ` c bien des ” car autrement je voit pas comment les taper ?
++
Ce sont des simples quote, j’ai changé l’affichage pour que ce soit plus clair. Tu bloques où ?
Bonjour ;
J’ai pas encore testé le tuto mais en tout cas une chose est sûr, c’est très bien écrit.
Ps : Pour la config du webmail en SSL, je pense que c’est posible sans pour autant passer par iptable.
Affaire à suivre….
Concernant le webmail, ce serait possible en changeant le soft utilisé par VHCS (Uebimiau actuellement) car il ne supporte pas l’imap en SSL.
Donc si on veut garder celui la il faut impérativement conserver le service courrier-pop sans SSL…
Après un remplacement par Horde par exemple est parfaitement enviseageable…
SAlut:
J’ai fait toute les modification et sa n’a rien changer :’(
http://sd-YYYY.dedibox.fr/vhcs2/ est toujours disponible
https://sd-YYYY.dedibox.fr/ et https://panel.sd-YYYY.dedibox.fr/ m’envoie vers la console de la dedibox
Comment supprimer l”acces de http://sd-YYYY.dedibox.fr/vhcs2/ et entre en SSL sur le VHCS ?
Merci d’avance
Premier problème :
Si http://sd-YYYY.dedibox.fr/vhcs2/ est toujours disponible cela veut dire que l’alias est toujours fonctionnel… as tu bien fait la mise à jour de la configuration VHCS ?
De mémoire, pour vérifier que tout soit OK, si tu édites le fichier /etc/apache2/sites-availables/vhcs2.conf, tu devrais avoir la ligne correspondant à l’alias “vhcs2” commentée.
Si ce n’est pas le cas, reprends le tuto à zéro et dit moi exactement la ou ça bloque.
Second problème :
As-tu bien remplacer les YYYY par ton numéro de dédibox dans tes fichiers de configuration ?
De plus mon tutorial n’aboutit pas à l’utilisation d’un sous domaine de sd-XXXX (panel.sd-XXXX.dedibox.fr ne sera donc pas créé), le panel sera accessible par contre pour chaque utilisateur (site) existant ou nouveau. Ainsi si tu crées un utilisateur “monsite.com” il aura les accès par sous domaine automatiquement créés (https://panel.monsite.com etc…)
Salut Pierre merci pour ton tuto il est impecable. Moi j’ai un probléme également au niveau de l’alias vhth ou plutot de la modification du fichier /etc/vhcs2/apache/parts/vhcs2_base.tpl et de la propagation de la modification.
Le fichier est modifier j’ai refais plusieurs fois la manip dans la base de donnée pour mettre à jour les fichiers, mais en vain j’ai toujours l’alias vhc2 …
merci d’avance
Oupsss désolé pour le flood la page ne chargait pas
Pas de soucis pour le flod, c’est un problème de Typo, il faudrait que je prenne un peu de temps pour le mettre à jour…
Concernant le problème, j’ai peut être une idée (Mais je peux pas tester car j’ai une nouvelle fois formatté ma dédibox…). Dans le processus de mise à jour, avant de redémarrer VHCS par exemple, essaye de renomer le fichier /etc/vhcs2/apache/working/vhcs2.conf (de mémoire) :
Il est possible qu’il entre en jeu dans le regénération de la conf…. en fait je pense que si ce fichier est présent, vhcs regénère à partir de lui plutôt qu’a partir des fragments (parts)…
A tester donc, tiens moi au courant.
Bonjour,
Merci pour ce tuto, tres pratique !
Pour les problèmes de regénération des fichiers conf… Utilisez la commande:
/var/www/vhcs2/engine/vhcs2-rqst-mngr
Re,
Désolé pour le double post… Mais tu connais le problème… Pour ceux chez qui le https ne marche pas il faut ajouter:
Listen 443
dans /etc/apache2/ports.conf
En revanche, je connais pas le tpl a modifier…
Fred
Très bonne remarque le coup du Listen 443, il faut effectivement le mettre sinon apache ne recevra aucune requete sur le port 443 (celui du SSL par défaut).
Je ne pense pas qu’il y ai de problèmes avec les templates VHCS, selon moi les templates ne touche pas à la conf initiale d’apache (apache2.conf) qui lui même inclu le fichier ports.conf… A confirmer tout de même si quelqu’un à un serveur avec VHCS sous la main (Ma dédiboite est a nouveau formattée !).
Pour le listen il faut le noter dans le tuto sinon on galere. J’ai résolu mon probléme … en suprimant le fichier et en lancant le script de mise à jour …
Merci pour le feedback Redouane, je note ça sur le tuto.
Salut , j’ai tout suivit à la lettre mais j’ai un petit soucis .. Comment dois je faire pour lire mes emails à partir d’outlook ?
Ports ? pop , tls ??? Aidez moi svp
Quentin
Salut, je viens de reparer ton blog et de tester tes astuces, c’est vraiment chouette! seulement j’ai un ptit prob^^, le voici:
UPDATE domain SET domainstatus = .change. WHERE domainstatus = .ok.; ERROR 1064: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near ‘change. WHERE domain_status = .ok.’ at line 1
Qqun pourrait m’aider?
merci bcp
<3 le blog
Bonjour a tous,
Pour le message d’erreur de Over.
Si tu fait un copier coller, il faut changer les ’ par des ` dans tes requêtes sql(pour les valeurs ´change´ et ´ok´).
Par exemple
UPDATE domain SET domainstatus = ´change´ WHERE domainstatus = ´ok´;
Bonne chance
J’ai suivi le tuto à la lettre sur une installe de dedibox/vhcs toute fraiche et voilà :
ça marche quand meme (hormis les vhost sus-cités), mais j’ai toujours ce warning… Une idée ?
Au passage, pourrais-tu attirer l’attention du lecteur sur la necessité de modifier ” SSLCertificateKeyFile /etc/apache2/ssl/3071d749.0” pour y mettre le nom du lien crée automatiquement ?
Quentin> Je n’utilise pas Outlook (malheureusement pour toi) je ne pourrai donc pas t’aide par contre je ne saurai que trop te conseiller d’utiliser Thunderbird
Over > La réponse de webfin est parfaite
Webfin > merci
NicolBolas > Il te manque apparement la directive NameVirtualHost… As tu bien modifié le fichier suivant : /etc/vhcs2/apache/parts/vh_entry.tpl (cf mon article)… Et merci pour le conseil du SSLCertificateKeyFile, je modifie un peu l’article.
Bonjour j’ai suivi les etapes a la lettre! mais a l fin rien n’a changé le lien /vhcs2/ existe toujour le https:// ne marche pas ! le panel.nomdedomaine.com et les autres marches pas non plus!!
j’ai tt refais mais toujours pareil! tu ne sais pas de quoi ca pourrai etre!!
Merci a vous
hAnI > Tu as essayé de faire comme Redouane (supprimer le fichier /etc/vhcs2/apache/working/vhcs2.conf et relancer le script de mise à jour /var/www/vhcs2/engine/vhcs2-rqst-mngr ) ?
bonjour, merci pr le tuto qui est bien fait. cependant, je l’ai réalisé juste aprè la mise en place de ma dedibox sans avoir préalablement créer des domaines. je suis donc coincé pour accéder au panel de vhcs pour créer les utilisateurs et les domaines.
quand je saisie https://sd-xxxx.dedibox.fr, je tombe sur le panel de dedibox.
que faire? d’avance merci.
Le panel reste normalement accessible sur l’adresse https://sd-ZZZZ.dedibox.fr (où je le rappelle, ZZZZ correspond aux 4 numéros identifiant la dédibox…). Vérifie que ton fichier /etc/vhcs2/apache/parts/vhcs2_base.tpl soit bien le même que le mien. Ce fichier sers de base lors de la regénération de VHCS…
Vérifie aussi que le fichier /etc/vhcs2/apache/working/vhcs2.conf contienne bien les infos de vhcs2_base.tpl. Enfin vérifie que /etc/apache2/sites-available/vhcs2.conf soit bien identique à /etc/vhcs2/apache/working/vhcs2.conf. Si tout est OK c’est que le processus de (re)génération de la configuration s’est bien passé… sinon tu as surement un soucis en quelque part…
Salut a tous,
merci pour ce superbe tuto, cepandant cela fait 3 fois que je recommance et j’ai des erreur mais je ne vois pas où. Cela semble fonctionner correctement et j’ai l’impression que c’est surtout des probleme d’affichage que j’ai mais mes fichiers ont l’air d’etre comme les tien donc je ne sais plus quoi faire donc, un peu d’aide me serai precieuse.
Donc deja http://sd.xxx.dedibox.fraffiche la page par defaut d’apache.
pma.mondomaine.tld les image ne s’affiche pas correctment, ni sur les errors pages, ni sur files.mondomain.tld.
Une tite idée ?
Merci d’avance.
Bonjour a tous, je tiens a souligner que ceci ne semble pas suffirt pour sécuriser vhcs2 . Nous avons installer php5 et apache2 pour obtenir de meilleur résultat en matière de site web . Le problème c’est que nous avons été hackers 2 fois de suite via vhcs. Tous les mots de pass ont été changer par le hackers qui se moque bien de nous . En détruisant rien que pour emmerder le bazare ,au lieux de s’attaquer a de vrai site.
Jimmy > J’ai pas trop d’idées… essaie de regarder les liens des images qui manquent… peut être que ces liens utilisent l’ancien alias “vhcs2”… il faudrai alors modifier le code pour utiliser le nouvel alias “vhth”…
Aurélien > Vhcs est une application Open Source, ce n’est ni Cpanel ni DriectAdmin et encore moins Plesk, le support et les corrections sont assurées seulement par des utilisateurs qui veulent bien y consacrer un peu de temps, il est donc normal que VHCS souffre de failles de sécurité.
Si tu as réussi à tracer ce qu’on fait les hackers (en surveillant tes logs notemment) tu devrais faire un retour d’expérience sur Vhcs.net.
Concernant le fait que le SSL ne suffise pas pour sécuriser VHCS, je suis entièrement d’accord avec toi. Il faut bien sûr avoir une politique solide sur tous les mots de passes qui évitera déjà une grande partie des attaques par brute force.
Ensuite il est nécessaire d’avoir un firewall bien configuré, l’idéal étant un firewall matériel (cf Cisco et compagnie) mais un Iptable bien configuré].
Ceci fait il faut aussi vérifier que d’autre communications tels que les échanges FTP soient faite de manière sécurisée (over SSL, sFTP, TLS). Du coté de MySQL il est aussi important de ne pas autoriser l’accès Root par exemple et de bien spécifier les règles d’accès de chaque utilisateur à sa (ou ses) base(s) et surtout pas aux autres, il est aussi intérressant de contraindre les utilisateurs à certaines actions uniquement.
L’idéal serait aussi de “chrooté” chaque utilisateur dans un environnement dédié. Cette technique, assez compliquée à mettre en oeuvre, consiste à isoler un compte utilisateur du reste du système. Ainsi si un compte se fait pirater, le hacker ne pourra en aucun cas accéder au reste du serveur.
Enfin, si tu recherches une sécurité maximale, je te conseille de ne pas utiliser un panel d’administration (pas même Webmin), de te baser sur une debian stable (sans aucun autre dépots) et de faire toutes les configurations de chaque service (apache, bind, ftp, mysql, iptables, php…) à la main via SSH.
PIERRE > Salut et merci a toi effectivement il faut aussi modifier le fichier: /var/www/vhcs2/gui/tools/filemanager/login.php pour ce qui est de permettre au bon afficage de la fenetre de login du file manager mais pour ce qui est de phpmyadmin j’ai pas trouver si tu pouvai regarder cela m’arangerai. Merci d’avance. Jimmy
Pierre > re salut et desole pour le flood.
Bon, il y a trop de chose a modifier car apres avoir tester il faut en faite chager directemet tout les parge html afficher dans le filemanager si on veu qu’il s’affiche corectement se serai pas plus simple de faire un alias general pour que tout le site en profite sinon savoir ou modiifer. Merci d’avance. Jimmy.
Jimmy > Je ne pourrai pas regarder car je n’ai plus vhcs sur mon serveur en ce moment.
La solution si tu veux remettre en place les images serait de réactiver l’alias “vhcs2” mais cela rendrait accessible le répertoire contenant vhcs… ce qui n’est pas une bonne chose.
Le seul moyen est de passer tous les fichiers et remplacer chaque occurence de /vhcs2/lien/…/ par /vhth/lebonchemin/…/. Ce n’est pas forcément long à faire. Sous linux une simple script basé sur sed permettrait de parcourir tous les fichiers du filemanager et de remplacer chaque occurence d’un lien par une autre…. (une piste à suivre…)
Bonjour ;
J’aborde une autre manière pour sécuriser VHCS.
Si cela intéresse quelqu’un ou si encore Pierre veut bien me dire ce qu’il en pense…
http://nuxwin.com/articles/view.php/42
Ps : Je viens tout juste de publier ce tutorial. Des erreur peuvent donc encore apparâitres.
Nuxwin > J’ai eu du mal à saisir la différence entre nos 2 articles au départ mais j’ai fini par comprendre
Dans tous les cas joli travail !
Je détaille donc un peu pour que ce soit clair pour tout le monde, la différence principale entre les 2 tutos réside dans l’accès à VHCS :
Coté Nuxwin, il y a une adresse unique pour toute la configuration VHCS (adresse de type panel/pma/webmail/webftp.hébergeur.tld)
Ici, il y a une adresse par client pour la configuration VHCS (panel/pma/webmail/ftp.nomdedomaineclient.tld)
Voici les commandes pour régler les problèmes de liens avec le file manager de vhcs2 :
grep -Rl /vhcs2/themes/ /var/www/vhcs2/gui/tools/filemanager/ | xargs sed -i ‘s/\/vhcs2\/themes\//\/vhth\//g’
grep -Rl /vhcs2/tools/filemanager /var/www/vhcs2/gui/tools/filemanager/ | xargs sed -i ‘s/\/vhcs2\/tools\/filemanager//g’
grep -Rl /vhcs2/images/ /var/www/vhcs2/gui/tools/filemanager/ | xargs sed -i ‘s/\/vhcs2\/images\//\/vhcs_images\//g’
PS : Attention aux liens, vous pouvez en avoir des différents
bonjour, je pense avoir oublier quelque petite chose mais je ne sais vraiment pas quoi
quand je veux relancer apache j’obtient le méssage d’érreur suivant /etc/init.d/apache2 reload Reloading web server config…Syntax error on line 7 of /etc/apache2/sites-enabled/000-default:
HicheM > Et alors, qu’as tu dans ton fichier /etc/apache2/sites-enabled/000-default autour de la ligne 7 ?
décidément j’accumule les boulettes :[
et en plus la premiere ligne ne s’affiche meme pas! “”
HicheM > J’ai effacé tes messages car ils étaient effectivement incompréhensibles et de plus l’un d’eux contenait ton numéro dedibox.
Si tu veux mettre du code dans un commentaire il te faut mettre des espaces en début de chaque ligne (4 espaces au moins devant chaque ligne de code) (Voir la syntaxe Markdown)
Pierre Rigal stp j’ai beasoin de toi pour résoudre mon probleme j’ais édité un post sur le forum de dédibox-news
http://www.dedibox-news.com/viewtopic.php?id=3529 Cordialement
HicheM > Je comprends mieux pourquoi tu as tant de problèmes, je viens de relire mon tutorial et il se trouve que plusieurs parties étaient mal affichées par Wordpress (notamment le code !) et je ne l’avais pas vu depuis la migration du blog de typo vers wordpress.
Tu devrais avoir moins de mal maintenant, enfin j’espère !
Merci
Infiniment je me réjouit à l’idée de refaire une install
avec plus de chance de réussite
merci merci
je vais pouvour avancer thx’s Pierre
Bonjour Pierre, j’ai suivi à la lettre le tuto et tout marche parfaitement, néanmoins en créant des sous-domaines, dans la page admin j’ai une erreur. d’âpres certain forum il doit s’agir d’un saut de ligne ou d’un problème avec mes dns
voici le code:
gettag() | ERROR: ‘; sub [{SUBNAME}] entry BEGIN. ’ ne ‘; sub [{SUBNAME}] entry END. ‘, ‘; sub [{SUBNAME}] entry BEGIN. ’ or ‘; sub [{SUB_NAME}] entry END. ’ missing in src !
as-tu une idée? Merci.
Cela doit venir d’un problème avec un des fichiers gérant les domaines… si tu mets la main sur le fichier de conf qui génère l’erreur, on devrait vite trouver d’où vient le problème…
Bonjour “Monsieur” Pierre, c’est le minimum, apres c’est monsieur le président !! (enfin pas tout de suite ..) Bref apres cette petite pommade, quelques questions suite à une install sur dedibox avec Ubuntu. Lors des commandes mysql, j’ai eu quelques soucis du type: les ’ (apostrophe) transformés en . (poing) du coup j’avais toujours une erreur de syntaxe sql, je les ai passé à la main directement dans la page de commande sql de myAdmin … meme chose, alors que je retapai la commande à la main. pas grave j’ai changé directement à la main pour les 2 domaines hébergés dans la table ‘domain’ le champ ‘domainstatus’ par la valeur indiqué dans la commande. jusque là ça va … par contre dans les commandes suivantes …. pour ‘domainaliasses’ et ‘subdomain’ .. rien à faire je n’avais pas de sous domaines Est ce à dire que si je “fais” de nouveaux sous domaines je devrait faire à nouveau la manip ???
puis, dans ce fichier là —> /etc/apache2/sites-available/default, j’ai en tete de celui ci un:
NameVirtualHost *
celui n’apparait pas dans le fichier du meme nom du tutoriel Doit on le supprimer (le “NameVirtualHost *”) ?
Enfin lors du reload de Apache, j’au plusieurs Warning du meme type:
et associé à ceci :
[Wed May 09 00:13:24 2007] [warn] VirtualHost files.mondomaine.net:443 overlaps with VirtualHost pma.mondomaine.net:443, the first has precedence, perhaps you need a NameVirtualHost directive
pour terminer, je croyais avoir suivi correctement le tutoriel mais: https://panel.mondomaine.net ou webmail.mondomaine.net m’envoient vers le panel d’admin en https (dommage pour le webmail ..) et www.mondomaine.net vers l’ancien panel sans https sd-XXXX.dedibox.fr pointe bien vers la page d’apache par defaut ….. bon aller je regarde ca demain et je poste si je trouve
Marcusii
Marcusii > Quel long commentaire ! Je vais essayer de répondre dans la limite de ce dont je me rappelle
La manip de “mise à jour de la configuration VHCS” (car je pense que c’est celle dont tu parles) n’est pas à faire à chaque domaine ! Il faut la faire lorsque l’on touche aux fichier de configuration à la main, afin d’appliquer les modifications aux domaines existants. Le problème des apostrophes doit probablement venir de mon blog et de l’interprétation des apostrophes par “markdown”.
Concernant le NameVirtualHost, il ne devrait pas être comme ça, en effet c’est ce fichier qui le configure :
et on peut remarquer à l’intérieur qu’il y a normalement l’ip de spécifiée pour chaque NameVirtualHost.
Enfin les warnings d’apache découlent directement des problèmes que tu as ci dessus… Concernant les adresses qui n’envoient pas au bon endroit, c’est peut être aussi un problème avec la déclaration de ton nom de domaine au niveau de ton registrar…
+à+Ñ+á+Ã+à+Ô+à++à+++à++à+Å+à+Ñ+á+Ï]+à+×+á+Â+à+
trouvé le problème.. il faut une librairie non mentionnée dans tuto
apt-get install libopenssl-ruby
gem install rails -y
Très bon tuto!
Par contre, il y a un problème de sécurité majeur dans VHCS2, qui n’est pas couvert par ce tuto: les utilisateurs virtuels sont authentifiés à partir du fichier /etc/sasl2db, dans lequel les mots de passe sont stockés en clair…
J’ai essayé de régler ça il y a un bout de temps, mais sans succès.
Si qqun a réussi ou a envie d’y passer du temps
Bonjour voila j’ai une erreur après ce tuto : lesite.info a renvoyer un message incorrect ou inattendu code : -12263 j’ai refait 2 fois les manipulation est rien n’a changer J’ai bien mis mes valeur personnel ( si vous voulez fichier de conf dite le moi ) sinon j’ai aussi une erreur au niveau de la modif mysql :
mysql> UPDATE domain SET domainstatus = .change. WHERE domainstatus = .ok.; ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘WHERE domain_status = .ok.’ at line 1
Merci de m’aider