PackElend Posté(e) le 26 août 2018 Partager Posté(e) le 26 août 2018 (modifié) Bonjour, Je vais arrêter d'expérimenter avec mon NAS (Synology DS211+) et faire une réinitialisation complète du système. Ensuite, je fais une installation propre de plusieurs serveurs web, au moins nextcloud (peut-être un deuxième pour NC 14 beta), firfly III, un serveur photo ( piwigo ou PicApport) et un remplacement pour Synology de NoteStation (NextNote, Paperwork, etc.) et peut-être wallabag. Certains d'entre eux auront accès à des dossiers à l'extérieur de /web (dossier racine de la station web) pour accéder aux données et aux photos. Je ne veux pas avoir la sécurité de tous les fichiers en jeu si le serveur web est compromis car ils s'exécutent tous sous httt:http (utilisateur dédié pour Web Station). Par conséquent, je veux créer un compte utilisateur par serveur web (configuration). Je voudrais également me permettre d'exécuter un serveur web avec différentes portées d'extensions, en particulier les scripts php et les choses basées sur java. Mon serveur web principal sera NginX. Est-ce que cela a du sens ou est-ce que j'ai considéré que quelque chose n'allait pas ? Est-ce que c'est facilement réalisable ? Obtenir un serveur root / master serveur ou utiliser les Dockers n'est pas une option actuellement. Il est sur l'agenda à moyen terme pour mettre à jour le matériel mais actuellement, je veux vivre avec mon DS211+. J'ai trouvé quelques entrées dans le filet, mais j'ai encore du mal à comprendre l'ensemble de cette question. Mes sources génériques sont: How to run two instances of apache on same system (Ubuntu) mais des approches différentes, laquelle est la meilleure? Best practice to run Linux service as a different user encore une fois différentes solutions telles que su et runuser, start-stop-daemon, /etc/init.d ou setuid Running Apache as a certain user se référant à suExec How do I set my web server to run as a specific user other than 'nobody'? encore une fois suExec et dit que changer envvars est rapide et sale How to make Apache run as current user se référant à /etc/apache2/envvars Php-cgi and suexec like configuration using NginX and php-fpm (LEMP Setup), réaliser suExec pour NginX Start a process as a specific user sudo des commandes telles que sudo -u rails ls $someDir User per virtual host in Nginx le faire même sur une base de virtual host How to run multiple Nginx instances on different port mais mène à la configuration de virtual host à la fin. How do I change the NGINX user? dit qu'il suffit de changer le user ligne dans nginx.conf How To Run Multiple Websites Using Nginx Webserver On Ubuntu 15.04, pour autant que je comprenne un autre concept de virtual host Using Nginx with Nextcloud/Website/Paperwork parallel mes sources spécifiques à Synology sont: 'http' user was deleted Synology NAS permissions for web server and FTP Web Station Permissions Confusion How do I access the Apache Web Server? Change web root folder to custom directory Modifié le 26 août 2018 par PackElend 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
unPixel Posté(e) le 27 août 2018 Partager Posté(e) le 27 août 2018 Bonjour, Les nouveaux membres sont invités à se présenter dans la section adéquate 😉 Pour ce que tu veux faire, je passerai par Docker directement. Pourquoi ne pas te lancer de suite ? 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
pluton212+ Posté(e) le 27 août 2018 Partager Posté(e) le 27 août 2018 DS211+ ce n'est pas évoqué dans sa présentation, mais ici. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
unPixel Posté(e) le 27 août 2018 Partager Posté(e) le 27 août 2018 En effet, le DS211+ n'est pas compatible Docker. Autant pour moi 😢 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
pluton212+ Posté(e) le 27 août 2018 Partager Posté(e) le 27 août 2018 Cette demande complète très bien ton article sur les logiciels alternatifs @InfoYANN 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
unPixel Posté(e) le 27 août 2018 Partager Posté(e) le 27 août 2018 Pas compris @pluton212+, tu peux préciser ce que tu voulais dire stp au sujet de mon sujet sur les logiciels alternatifs ? Du faite qu'il a pas la possibilité d'installer Docker sur son NAS, je vois pas trop ce qu'il peut faire là. Et puis pour Docker, il y a quand même un risque aussi au niveau sécurité. Si le daemon par root est touché alors tout les containers peuvent être atteint normalement. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
pluton212+ Posté(e) le 27 août 2018 Partager Posté(e) le 27 août 2018 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
unPixel Posté(e) le 27 août 2018 Partager Posté(e) le 27 août 2018 Euhhh, on se comprend pas bien lol. Je connais mon sujet mais je vois pas en faite pourquoi tu disais ça et c'est sur ça que je te demandais des explications stp : Citation Cette demande complète très bien ton article sur les logiciels alternatifs 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
pluton212+ Posté(e) le 28 août 2018 Partager Posté(e) le 28 août 2018 Dans le premier bloc, il l'intention d'installer des logiciels "non syno" sur le syno. Ça complète bien l'idée de ton post mais du point de vue du syno. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
unPixel Posté(e) le 28 août 2018 Partager Posté(e) le 28 août 2018 Oui sauf que je ne crois pas qu'il soit possible de faire ce qu'il veut avec plusieurs comptes au lieu de seulement "http". En tout cas, en dehors de Docker, je vois pas. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
PiwiLAbruti Posté(e) le 28 août 2018 Partager Posté(e) le 28 août 2018 À l'origine, WebStation faisait fonctionner le serveur web (uniquement Apache à l'époque) avec les droits root. 😱 L'utilisateur http a justement été créé pour restreindre les droits des services web (nginx et Apache aujourd'hui). De mon point de vue, il est plus important de sécuriser les base de données utilisées que le serveur web lui-même. On voit trop souvent des utilisateurs utiliser le compte root de MySQL (parfois sans mot de passe) alors qu'il faut créer un compte dédié à chaque base de données créée (et parfois un deuxième avec des droits restreints à quelques tables uniquement). 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
unPixel Posté(e) le 28 août 2018 Partager Posté(e) le 28 août 2018 Oui c'est vrai. Et pourtant, c'est pas compliqué. Je crois même que via phpMyAdmin, il suffit de cocher "créer une bdd du même nom" en créant un utilisateur. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
PiwiLAbruti Posté(e) le 28 août 2018 Partager Posté(e) le 28 août 2018 Même sans ça, phpMyAdmin permet simplement de gérer les droits sur des bases existantes. Le problème est toujours entre le clavier et la chaise. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
PackElend Posté(e) le 28 août 2018 Auteur Partager Posté(e) le 28 août 2018 merci pour votre réponds, je vous répondrai en plus de détails plus tard ou lirez ici:https://stackoverflow.com/questions/52025912/one-single-user-per-web-server-and-delete-default-web-server-user-possible-a 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
PackElend Posté(e) le 29 août 2018 Auteur Partager Posté(e) le 29 août 2018 Le 27/08/2018 à 13:22, InfoYANN a dit : Les nouveaux membres sont invités à se présenter dans la section adéquate fait Le 27/08/2018 à 21:29, InfoYANN a dit : Du faite qu'il a pas la possibilité d'installer Docker sur son NAS pas possible sur DS211 Le 27/08/2018 à 21:20, InfoYANN a dit : En effet, le DS211+ n'est pas compatible Docker. Autant pour moi 😢 😭 Le 28/08/2018 à 06:21, pluton212+ a dit : Dans le premier bloc, il l'intention d'installer des logiciels "non syno" sur le syno. oui, nextcloud , firfly III, piwigo ou PicApport), NextNote ou Paperwork etc. et peut-être wallabag. Le 28/08/2018 à 09:31, PiwiLAbruti a dit : De mon point de vue, il est plus important de sécuriser les base de données utilisées que le serveur web lui-même. On voit trop souvent des utilisateurs utiliser le compte root de MySQL (parfois sans mot de passe) alors qu'il faut créer un compte dédié à chaque base de données créée (et parfois un deuxième avec des droits restreints à quelques tables uniquement). c'est claire, une compte de base de données par application. Je va suivre: https://mariadb.com/kb/en/library/mysql_secure_installation/ https://docs.phpmyadmin.net/en/latest/privileges.html#deleting-a-user Le 28/08/2018 à 11:33, PiwiLAbruti a dit : Le problème est toujours entre le clavier et la chaise. 😅 Je veux exécuter plusieurs instances de serveur web. Chaque instance avec son propre utilisateur 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
PackElend Posté(e) le 3 septembre 2018 Auteur Partager Posté(e) le 3 septembre 2018 Le 29/08/2018 à 19:08, PackElend a dit : Je veux exécuter plusieurs instances de serveur web. Chaque instance avec son propre utilisateur un explication pourquoi, je veux fait ça: Exécuter serveur web en tant qu'utilisateur non root limite l'empreinte de vulnérabilité d'un site web compromis. Changer l'utilisateur serveur web s'exécute comme vous permettra d'accorder et de contrôler l'accès à d'autres ressources en fonction du compte utilisateur sous lequel serveur web s'exécute. Disons qu'il y a un utilisateur pour accéder à tous les dossiers de photos, un utilisateur accédant à tous les dossiers de documents et ainsi de suite. Pour chaque utilisateur, il s'agit d'une seule instance serveur web , servant par exemple de la musique, des documents, etc. Exécuter une seule instance, et avoir toujours différents hôtes virtuels qui peuvent être accédés séparément, parfois en suivant ce chemin facile peut vous conduire à un serveur web lourd et gonflé. Si serveurs virtuels ont des exigences différentes (par exemple mod_perl pour un hôte virtuel, mod_python pour un autre, et peut-être mod_php pour un troisième hôte virtuel), alors votre instance apache est presque certainement un mangeur de RAM. Rappelez-vous qu'il va générer instantanément de nouveaux processus enfants de la même instance que nécessaire.... si votre application web perl est fréquemment accédée, pourquoi générer plusieurs instances d'un processus httpd qui est également chargé avec mod_python, mod_php et un assortiment d'autres modules qui, au moins du point de vue de l'application web perl, sont inutiles ? 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
PackElend Posté(e) le 26 septembre 2018 Auteur Partager Posté(e) le 26 septembre 2018 (modifié) Bonjour, tout le monde, Je suis venu un peu plus loin et on peut résoudre cela probablement assez élégamment avec le nginx comme proxyserver. Les serveurs web respectifs communiquent ensuite via des UNIX Sockets. Cela signifie que la gestion des droits s'exécute via les droits utilisateur du système de fichiers.. e me demande juste comment je peux atteindre les serveurs web dans le LAN. Vous devez également considérer le configurateur Nginx: \usr\syno\etc.defaults\rc.sysv\nginx-conf-generator.sh main proxy file server { listen 80; listen [::]:80; listen 443 ssl; listen [::]:443 ssl; #include letsencrypt.conf; server_app1 app1subdomain.domain.eu; include app1location.conf } server { listen 80; listen [::]:80; listen 443 ssl; listen [::]:443 ssl; #include letsencrypt.conf; server_app2 app2subdomain.domain.eu; include app1location.conf } app1location.conf (location file for proxied web server) location / { proxy_pass http://unix:/home/app1/app1.com.unix_socket; proxy_set_header X-Real-IP $remote_addr; #Authorization proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_http_version 1.1; proxy_set_header Connection ""; proxy_buffering off; client_max_body_size 0; proxy_read_timeout 36000s; proxy_redirect off; } app2location.conf (location file for proxied web server) location / { proxy_pass http://unix:/home/app2/app2.com.unix_socket; proxy_set_header X-Real-IP $remote_addr; #Authorization proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_http_version 1.1; proxy_set_header Connection ""; proxy_buffering off; client_max_body_size 0; proxy_read_timeout 36000s; proxy_redirect off; } Modifié le 26 septembre 2018 par PackElend 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Rejoindre la conversation
Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.