Partager
Page 3 sur 3 PremièrePremière 123
Affiche les résultats de 31 à 39 sur 39

Sujet : Concours de tutos: postez les vôtres ici

  1. #31
    Inscrit
    juin 2012
    Lieu
    Not Available
    Messages
    537
    Remerciements
    15
    Remercié(e) 188 fois dans 140 messages
    Pouvoir de réputation
    8

    Re : Concours de tutos: postez les vôtres ici

    Question :

    C'est obligé que sa soit en français ?( j'en fais moi même mais en anglais )

  2. # ADS
    Inscrit
    Toujours
    Lieu
    Monde des annonces
    Messages
    Plusieurs






     
  3. #32
    Inscrit
    mars 2012
    Lieu
    Ouzellaguen Bejaia
    Messages
    488
    Remerciements
    161
    Remercié(e) 116 fois dans 75 messages
    Pouvoir de réputation
    0

    Re : Concours de tutos: postez les vôtres ici

    TeamWorK deja qu'en francais ils n'arrivent pas a comprendre alors la en anglais mdr

  4. #33
    Inscrit
    février 2011
    Lieu
    alger
    Messages
    1 770
    Remerciements
    777
    Remercié(e) 810 fois dans 485 messages
    Pouvoir de réputation
    16

    Re : Concours de tutos: postez les vôtres ici

    ouais la plus part de la doc est en anglais on fait que traduire à la limite parce que si on voit bien en anglais ces tutos ont déjà était fait en français on peut tomber sur des inédits


    Visitez mon blog habibal.tk en ligne



    et aussi habibal-tv.tk en ligne


    chaine youtube : https://www.youtube.com/user/omhabibal

  5. #34
    Inscrit
    juin 2012
    Lieu
    Not Available
    Messages
    537
    Remerciements
    15
    Remercié(e) 188 fois dans 140 messages
    Pouvoir de réputation
    8

    Re : Concours de tutos: postez les vôtres ici

    Personnelement j'ai jamais lu une documentation en français ( pas bien structurer ) sauf quelque uns ( Video2Brain , Elephorm .... ) mais celle en anglais je vous jure sur le CPU ( de mon ancien laptop ) que c'est d'un niveau ...... mais d'un niveau .

    La preuve , je vais mettre un tuto sur python bientôt .
    Dernière édition par TeamWorK; 24/06/2012 à 16h13
    Not Available

  6. #35
    Inscrit
    août 2013
    Lieu
    Australie
    Messages
    5
    Remerciements
    0
    Remercié(e) 0 fois dans 0 messages
    Pouvoir de réputation
    0

    Sécuriser sa section Admin de forum ou CMS en utilisant le server HTTP nginx.

    Essalam Alikom, bon ce tutoriel est déstiné pour les webmasters. Quand on a un CMS, Forum, ou n'importe quel site avec une partie Admin à gérer on a toujours le besoin de la bien protéger pour éviter le bruteforce et les attack des hackers. Au début j'utilisais toujours Apache, pourquoi ? et bah je ne sais pas c'était simple Ubuntu + Apche + Mysql sur un VPS et tu peux faire ton site. Mais bon avec le temps j'ai connu Nginx et je dois dire que c'est le meilleur HTTP server que j'ai jamais utilisé. Désolé je ne suis pas là pour raconter mon éxpérience mais pour faire un tutoriel.
    Dans mon tutoriel je vais utiliser les commandes de CentOs (l'OS standard utilisé dans beaucoup de VPS).

    Bon imaginez un forum où la section Admin est totalement invisible, non je veux dire que même quand on a le lien on peut pas voir la section Admin non parce qu'on a pas l'User et le Pass mais parce qu'aucune page ne s'affiche et que le Server va toujours retourner une erreure 404 (404 Error - Page not found).

    C'est faisable, je vais jouer sur deux fils le User-Agent et l'extension du fichier PHP.
    Je vais laisser le mystère et passer aux étapes de l'installation de nginx - php-fpm et mysql.

    Il faut tou d'abord ajouter des dépôts nécessaires à l'installation et chaque version de CentOs et Architecture de CPU à ses propres commandes :

    CentOS 5.x x86: (32 bits)
    Code:
    sudo rpm -ivh http://mirror.yandex.ru/epel/5/i386/epel-release-5-4.noarch.rpm
    sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-5.rpm
    CentOS 5.x x86_64: (64 bits)
    Code:
    sudo rpm -ivh http://mirror.yandex.ru/epel/5/x86_64/epel-release-5-4.noarch.rpm
    sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-5.rpm
    CentOS 6.x x86:
    Code:
    sudo rpm -ivh http://mirror.yandex.ru/epel/6/i386/epel-release-6-8.noarch.rpm
    sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
    CentOS 6.x x86_64:
    Code:
    sudo rpm -ivh http://mirror.yandex.ru/epel/6/x86_64/epel-release-6-8.noarch.rpm
    sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
    Maintenant on ajoute ce fichier : /etc/yum.repos.d/nginx.repo en le remplissant avec ça :

    Code:
    [nginx]
    name=nginx repo
    baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
    gpgcheck=0
    enabled=1
    On est pret pour executer l'installation de Nginx & Php-fpm est ses extensions & Mysql

    Code:
    yum --enablerepo=remi install nginx php php-fpm php-common
    Code:
    yum --enablerepo=remi install php-pecl-apc php-cli php-pear php-pdo php-mysql php-pecl-mongo php-sqlite php-pecl-memcache php-pecl-memcached php-gd php-mbstring php-mcrypt php-xml
    Code:
    yum --enablerepo=remi install mysql-server
    Maintenant on va activer l'execution au démarrage de ces services.

    Code:
    chkconfig --add nginx
    chkconfig --levels 235 nginx on
    chkconfig --add php-fpm
    chkconfig --levels 235 php-fpm on
    chkconfig --add mysqld
    chkconfig --levels 235 mysqld on
    On va maintenant configurer nginx :

    nginx.conf (/etc/nginx/nginx.conf) : écrasez le s'il y en déjà un.

    Code:
    user nginx;
    worker_processes 1;
    
    error_log	/var/log/nginx/error.log warn;
    pid             /var/run/nginx.pid;
    
    
    events  {
                    worker_connections	1024;
            }
    
    http    {
                    include         /etc/nginx/mime.types;
                    default_type    application/ctect-stream;
                    log_format main '$remote_addr - $remote_user [$time_local] "$request" '
                                    '$status $body_bytes_sent "$http_referer" '
                                    '"$http_user_agent" "$http_x_forwarded_for"';
                    access_log /var/log/nginx/access.log main;
                    sendfile        on;
                    #tcp_nopush     on;
                    #gzip           on;
    
                    include /etc/nginx/conf.d/*.conf;
                    server_tokens off;
    }
    La commande : server_tokens off; est très importante pour cacher la version nginx des messages par defaut et éviter les attaques conditionnés selon l'exploit existant dans telle ou telle version.

    php-fpm users, sockets config (/etc/php-fpm/conf.d/www.conf)

    chercher le code :

    Code:
    ; RPM: apache Choosed to be able to access some dir as httpd
    user = apache
    ; RPM: Keep a group allowed to write in log dir.
    group = apache
    Et changer le deux 'apache' par 'nginx'.

    Chercher le code :

    Code:
    ; Note: This value is mandatory.
    listen = 127.0.0.1:9000
    Et éffacer la ligne : 'listen = 127.0.0.1:9000' et mettre 'listen = /var/run/php5-fpm.sock' ou alors juste mettre un point virgule avant la deuxième ligne pour la désactiver et ajouter la nouvelle ligne pour avoir le code comme ça :

    Code:
    ; Note: This value is mandatory.
    ;listen = 127.0.0.1:9000
    listen = /var/run/php5-fpm.sock
    On a donc changer l'utilisateur propriétaire du service php-fpm qui sera logiquement nginx, et on a passé des connections TCP/IP (127.0.0.1:9000) à des connections socket (/var/run/php5-fpm.sock), pourquoi ? Parceque :
    L'avantage d'utiliser PHP-FPM sur des connexions socket au lieu de TCP / IP est que les connexions socket sont beaucoup plus rapides que les connexions TCP/IP (environ 10-15%) car ce dernier passe les données sur les différentes couches du protocole TCP/IP quelque chose que la connection au socket ne fait pas.

    On est arrivé à la dernière configuration à faire pour protéger notre section admin.
    Bon disons que le répertoire de ma section admin se trouve à : /var/www/adminstration (c'est qu'un exemple le nom de la section admin ne doit jamais être si banal).

    Bon je voudrais changer l'extension du fichier php 'index.php' qu'on va considérer notre page d'accès à la section Admin mais le problème c'est mon server side va l'interpréter comme n'importe quelle fichier et non comme un code php, du coup ça va juste se télécharger et non s'afficher sur le navigateur comme une page, du coup on va ajouter une extension pour être interprétée comme un code php.
    Dans notre fichier config exemple ça sera : .gte

    Pour expliquer ma deuxième ruse je dois vous envoyer lire cet article sur l'User-Agent sur Wikipedia.
    Donc je vais donner l'accès de mon contenu du dossier Admin qu'à un seul user-agent qui sera une longue série hasardeuse de lettre et chiffres (Maj ou Min) mais sans caractères spéciaux comme une sorte d'un très long mot de passe.

    dahou.conf (/etc/nginx/conf.d/dahou.conf): (le nom de ce fichier est un exemple il est préferable de lui donner le nom du nom de domaine).
    Code:
    server {
                    listen 80;
                    server_name nom-de-demaine;
                    root /var/www;
                    client_max_body_size 20M;
                    access_log /var/log/nginx/http.access.log;
                    error_log /var/log/nginx/http.error.log;
                    index index.php;
                    security.limit_extensions = .php .gte
    
    
            location ~ \.(php|gte)$ {
                    try_files $uri =404;
                    fastcgi_index index.php;
                    fastcgi_pass /var/run/php5-fpm.sock;
                    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                    include /etc/nginx/fastcgi_params;
                    fastcgi_read_timeout 120;
            }
    	location ~ /www/administration {
                     if ($http_user_agent !~ une-long-series-hasardeuse-de-lettres-et-de-chiffres-maj-et-min)
                   { return 404;}
            }
    }

    Au final on fait :

    Code:
    service nginx start
    service php-fpm start
    service mysqld start
    Conclusion :

    Avec cette sécurité pour avoir l'accès à la section admin il faut être doté de :
    Le lien vers la section Admin y compris l'extension du fichier qui mène à la page de connexion parce que si par exemple c'était index.php et ça s'est devenu index.gte, l'ancien lien va retourner Error 404 pour un fichier non existant surtout que nginx désactive l'indexation des fichiers par defaut.

    L'User-Agent parce que sans user agent, on aura toujours des erreurs 404 parce que c'est la condition de ne pas retourner Error 404 sur notre configuration et même si on a le lien sans User Agent on aura rien.

    Du coup on est censé donner un mot de passe géant avant même d'être sur la page de connection ce qui est vraiment drôle et surtout que le gars qui va tenter de trouver la section d'administration sera convaincu que rien n'existe sur ce repertoire s'il voir : Error 404 : Page not found.

    Mais bon, comment se servir de ce fameux User Agent ? il suffira d'installer sur chrome l'extension User-Agent Switcher for Chrome et ajouter son custom User-Agent et cliquer sur Add comme le screen le montre :



    Après il faut juste sélectionner l'user agent créé et aller sur le lien de sa section admin pour gérer son CMS.

    J'espère que ça vous aidera, bonne chance.

    Remarque : Ce tutoriel est fait de A à Z par moi, ce n'est ni une tradiction ni une collection, c'est ma propre idée, même j'ai contribué avec dans une site de recherche de sécurité, alors si vous voudriez le copier, s'il vous plait mentionnez son créateur.

  7. #36
    Inscrit
    juin 2011
    Messages
    345
    Remerciements
    1
    Remercié(e) 251 fois dans 150 messages
    Pouvoir de réputation
    9

    Re : Concours de tutos: postez les vôtres ici

    @Dahou:
    Désolé mais l'idée évoquée dans ton tuto pour sécuriser une section d'admin d'un site ne respecte aucune norme de sécurité officielle. Le mieux pour sécuriser une section d'admin est d'imposer un authentification SSL du client ce qui permet d'une part de valider l'identité de la personne essayant d'accéder à la section d'admin et d'autre part d'assurer l'encryption du flux de données client-serveur.
    Site personnel : www.blueicefield.com

  8. #37
    Inscrit
    août 2013
    Lieu
    Australie
    Messages
    5
    Remerciements
    0
    Remercié(e) 0 fois dans 0 messages
    Pouvoir de réputation
    0

    Re : Concours de tutos: postez les vôtres ici

    Citation Envoyé par blueicefield Voir le message
    @Dahou:
    Désolé mais l'idée évoquée dans ton tuto pour sécuriser une section d'admin d'un site ne respecte aucune norme de sécurité officielle. Le mieux pour sécuriser une section d'admin est d'imposer un authentification SSL du client ce qui permet d'une part de valider l'identité de la personne essayant d'accéder à la section d'admin et d'autre part d'assurer l'encryption du flux de données client-serveur.
    Les restrictions user-agent sont "officielles", elles sont géneralement utilisées pour empêcher certains bots de visiter le site, Alors ne dis pas "ne respecte aucune norme de sécurité".
    Sinon je n'ai pas dit que c'est la meilleure solution pour sécuriser sa section Admin, l'idée ici c'est d'être créatif et si tout le monde ne faisait qu'utiliser les normes officielles, il y'aurait jamais de développement vers des méthodes plus éfficaces.
    Dernière édition par Dahou; 01/09/2013 à 16h50

  9. #38
    Inscrit
    juin 2011
    Messages
    345
    Remerciements
    1
    Remercié(e) 251 fois dans 150 messages
    Pouvoir de réputation
    9

    Re : Concours de tutos: postez les vôtres ici

    Citation Envoyé par Dahou Voir le message
    Les restrictions user-agent sont "officielles", elles sont généralement utilisées pour empêcher certains bots de visiter le site, Alors ne dis pas "ne respecte aucune norme de sécurité".
    Sinon je n'ai pas dit que c'est la meilleure solution pour sécuriser sa section Admin, l'idée ici c'est d'être créatif et si tout le monde ne faisait qu'utiliser les normes officielles, il y'aurait jamais de développement vers des méthodes plus éfficaces.
    C'est une protection du pauvre, au mieux ça évite certains scan :
    - Encryption SSL avec authentification bi-directionnelle : client-serveur.
    - Authentification forte : Google Authentificator, SecurID (RSA), ...etc.
    - Restriction des IP clients, VPN et tout ce qui est faisable en terme de firewalling.

    Et ces méthodes ne sont pas uniquement dédiées aux entreprises, on peut facilement appliquer les 2 premiers points à un site particulier ou de PME.
    Site personnel : www.blueicefield.com

  10. #39
    Inscrit
    janvier 2014
    Lieu
    Annaba
    Messages
    3
    Remerciements
    0
    Remercié(e) 2 fois dans 1 message
    Pouvoir de réputation
    0

    Re : Concours de tutos: postez les vôtres ici


Page 3 sur 3 PremièrePremière 123

Sujets similaires

  1. Gagnez des cadeaux sympas !! : Concours de tutos sur DzGeek
    Par Milax dans le forum Jeux & Concours
    Réponses: 44
    Dernier message: 26/11/2015, 11h17
  2. Concours programmation
    Par BenHaa dans le forum Jeux & Concours
    Réponses: 10
    Dernier message: 08/03/2012, 21h22
  3. Concours de logos !!
    Par Milax dans le forum Graphisme
    Réponses: 34
    Dernier message: 05/10/2010, 10h12

Tags pour ce sujet

Règles des messages

  • Vous ne pouvez pas créer de sujets
  • Vous ne pouvez pas répondre aux sujets
  • Vous ne pouvez pas importer de fichiers joints
  • Vous ne pouvez pas modifier vos messages
  •  
  • Les BB codes sont Activés
  • Les Smileys sont Activés
  • Le BB code [IMG] est Activé
  • Le code [VIDEO] est Activé
  • Le code HTML est Désactivé



Liens annexes