Nginx – Comment bloquer les attaques les plus courantes ?

Posted on dimanche 12 août 2012 - 0 commentaires -




Petite astuce si vous utilisez Nginx et que vous souhaitez vous prémunir simplement de la plupart des exploits, injections SQL, injections de fichiers, spam et pompeurs de bande passante et hackers aux user-agent plus que louche...

Il suffit de rajouter dans vos vhosts nginx la config suivante dans un conteneur server{}. Vous remarquerez probablement que la règle concernant wget est mise en commentaires.

C'est par précaution car souvent, les CMS que nous utilisons se servent de wget dans leurs jobs cron. Mais si ce n'est pas le cas pour vous, alors vous pouvez décommenter cette partie.



server {
    ## Block SQL injections
    set $block_sql_injections 0;
    if ($query_string ~ "union.*select.*\(") {
        set $block_sql_injections 1;
    }
    if ($query_string ~ "union.*all.*select.*") {
        set $block_sql_injections 1;
    }
    if ($query_string ~ "concat.*\(") {
        set $block_sql_injections 1;
    }
    if ($block_sql_injections = 1) {
        return 403;
    }
    ## Block file injections
    set $block_file_injections 0;
    if ($query_string ~ "[a-zA-Z0-9_]=http://") {
        set $block_file_injections 1;
    }
    if ($query_string ~ "[a-zA-Z0-9_]=(\.\.//?)+") {
        set $block_file_injections 1;
    }
    if ($query_string ~ "[a-zA-Z0-9_]=/([a-z0-9_.]//?)+") {
        set $block_file_injections 1;
    }
    if ($block_file_injections = 1) {
        return 403;
    }
    ## Block common exploits
    set $block_common_exploits 0;
    if ($query_string ~ "(<|%3C).*script.*(>|%3E)") {
        set $block_common_exploits 1;
    }
    if ($query_string ~ "GLOBALS(=|\[|\%[0-9A-Z]{0,2})") {
        set $block_common_exploits 1;
    }
    if ($query_string ~ "_REQUEST(=|\[|\%[0-9A-Z]{0,2})") {
        set $block_common_exploits 1;
    }
    if ($query_string ~ "proc/self/environ") {
        set $block_common_exploits 1;
    }
    if ($query_string ~ "mosConfig_[a-zA-Z_]{1,21}(=|\%3D)") {
        set $block_common_exploits 1;
    }
    if ($query_string ~ "base64_(en|de)code\(.*\)") {
        set $block_common_exploits 1;
    }
    if ($block_common_exploits = 1) {
        return 403;
    }
    ## Block spam
    set $block_spam 0;
    if ($query_string ~ "\b(ultram|unicauca|valium|viagra|vicodin|xanax|ypxaieo)\b") {
        set $block_spam 1;
    }
    if ($query_string ~ "\b(erections|hoodia|huronriveracres|impotence|levitra|libido)\b") {
        set $block_spam 1;
    }
    if ($query_string ~ "\b(ambien|blue\spill|cialis|cocaine|ejaculation|erectile)\b") {
        set $block_spam 1;
    }
    if ($query_string ~ "\b(lipitor|phentermin|pro[sz]ac|sandyauer|tramadol|troyhamby)\b") {
        set $block_spam 1;
    }
    if ($block_spam = 1) {
        return 403;
    }
    ## Block user agents
    set $block_user_agents 0;
    # Don't disable wget if you need it to run cron jobs!
    #if ($http_user_agent ~ "Wget") {
    #    set $block_user_agents 1;
    #}
    # Disable Akeeba Remote Control 2.5 and earlier
    if ($http_user_agent ~ "Indy Library") {
        set $block_user_agents 1;
    }
    # Common bandwidth hoggers and hacking tools.
    if ($http_user_agent ~ "libwww-perl") {
        set $block_user_agents 1;
    }
    if ($http_user_agent ~ "GetRight") {
        set $block_user_agents 1;
    }
    if ($http_user_agent ~ "GetWeb!") {
        set $block_user_agents 1;
    }
    if ($http_user_agent ~ "Go!Zilla") {
        set $block_user_agents 1;
    }
    if ($http_user_agent ~ "Download Demon") {
        set $block_user_agents 1;
    }
    if ($http_user_agent ~ "Go-Ahead-Got-It") {
        set $block_user_agents 1;
    }
    if ($http_user_agent ~ "TurnitinBot") {
        set $block_user_agents 1;
    }
    if ($http_user_agent ~ "GrabNet") {
        set $block_user_agents 1;
    }
    if ($block_user_agents = 1) {
        return 403;
    }
}


Une fois que c'est en place, n'oubliez pas de redémarrer Nginx.

/etc/init.d/nginx reload


Un détecteur de Web Shell de hackers pour votre serveur

Posted on - 0 commentaires -


Je ne sais pas si tout le monde ici sait exactement ce que sont les web shells comme C99 ou R57, mais je vais tenter de vous expliquer rapidement... Les web shell sont des scripts le plus souvent développé en PHP, ASP, ou CGI (mais y'en a dans tous les langages) qui permettent d’interagir via HTTP avec le système (c'est à dire le serveur).

Les pirates s'en servent pour, à partir d'une faille d'injection simple de fichier, avoir la main sur le serveur et à distance pouvoir gérer les fichiers, lancer des commandes, gérer le MySQL...etc. C'est comme s'ils avaient un SSH sous les yeux si vous préférez.



Peut être, avez vous, sans le savoir un de ces scripts de web shells qui tournent en ce moment même sur votre serveur ? Mais comment le savoir ?



Et bien pour cela, il existe un autre script (en PHP cette fois) qui s'appelle PHP Shell Detector et dont la fonction principale est de scanner votre serveur à la recherche justement de ces web shells dangereux. Pour cela, il se base sur un certain nombre de critères afin de déterminer une signature pour chaque shell.



Ensuite, à vous de voir pour faire le ménage !




Il commande une TV sur Amazon et se retrouve avec un fusil d’assault

Posted on - 0 commentaires -


Il commande une TV sur Amazon et se retrouve avec un fusil d’assault


Alors ça c'est fort !

Seth Horvitz, un habitant de Washington, D.C. a commandé un téléviseur sur Amazon... Et le jour de la livraison, il s'est retrouvé avec un SIG716 Patrol Rifle, c'est à dire un fusil d'assault semi automatique, d'ailleurs interdit dans l'Etat de Washington.


Le beau gosse !

Il y gagne au change car la TV coutait que 320 $ alors que ce petit joujou coûte 1590 $.

L'erreur proviendrait d'UPS qui s'est merdé sur les étiquettes, le fusil étant destiné à une armurerie en Pennsylvanie...

J'imagine la grosse surprise du gars en tout cas. Et vous, ça vous ai déjà arrivé de recevoir des trucs chelous par erreur grâce au ecommerce ?

Mark Zuckerberg : une photo de lui nu publiée sur Facebook

Posted on - 0 commentaires -

Le célèbre milliardaire Mark Zuckerberg n'aura pas eu suffisament de temps pour supprimer une photo de lui à moitié nu sur son propre réseau social Facebook. En seulement quelques minutes, l'image en question fait déjà le tour du net !








Le fondateur du réseau social Facebook, Mark Zuckerberg, est apparu torse-nu sur une photographie publiée par erreur sur le réseau. Sur cette photo, il se trouve à moitié nu entouré d'autres hommes, également torse nu dans une maison. Il doit s'agir d'une erreur au niveau de la confidentialité, comme quoi le fondateur peut être également victime de cette fameuse politique, comme n'importe qui !

On peut également voir sur ce cliché Andrew Bosworth le directeur du service ingénierie de Facebook, qui a immédiatement supprimé l'image, mais trop tard...rien de choquant, mais voilà un cliché qui risque de faire rire beaucoup de monde sortie de son contexte.

Blizzard : des millions de comptes piratés

Posted on samedi 11 août 2012 - 0 commentaires -




Sérieuse alerte pour Blizzard : l’éditeur de Diablo, Starcraft et Word of Warcraft est frappé par une tentative réussie de piratage de ses serveurs datant du 4 août. Des millions de comptes de joueurs ont en effet été hackés, mettant en danger l’intégrité de leurs données.
Dans le détail, ce sont les adresses courriels, les réponses aux questions secrètes, les mots de passe cryptés et d’autres informations qui ont été volées par un pirate non identifié publiquement. Il semble cependant que les données liées aux comptes bancaires ne soient pas en danger, et que les informations subtilisées n’aient pas encore été partagées.
Blizzard encourage vivement les utilisateurs abonnés à ses services de filer sur Battle.net et de modifier aussi vite que possible leurs mots de passe.

Les pirates arabes a contrevenu 'WebGate' israélienne Data Center & milliers volées d'information de carte de crédit

Posted on - 0 commentaires -


Un groupe de Hacker appelé "Se souvenir de Emad" prétend qu'il a pris le contrôle d'un serveur israélien • Le groupe a publié des listes de mots de passe pour les pages Facebook, numéros de cartes de crédit et des adresses électroniques appartenant à des Israéliens.

Un groupe de hacker, apparemment d'un pays arabe ou des pays, a affirmé mercredi qu'il avait violé le serveur de l'entreprise WebGate israélienne et les informations compromises sa base de données.









Selon Israël Hayom rapport, Le groupe de hacker a dit qu'il allait publier l'information qu'il a recueillie dans les stades, et a déjà publié des listes contenant des renseignements personnels, mots de passe Facebook, des images de chèques et numéros de carte de crédit appartenant à des milliers d'Israéliens.

"WebGate est considéré comme le plus grand centre de 10e israélienne de données. Elle accueille plus de 6000 domaines israéliennes et sous-domaines." Hacker dit. "Aujourd'hui, nous allons publier la première partie de ses données. Nous avons des téraoctets de données à partir de WebGate, mais le téléchargement du morceau ensemble de données sur nos serveurs va prendre du temps, nous avons donc décidé de les publier progressivement."

Les données publiées mercredi inclus une prétendue liste de mille noms d'utilisateur, mots de passe et adresses e-mail des membres de radiodiffusion d'Israël forum Autorité. Une liste de numéros de cartes de crédit appartenant à des Israéliens a également été publié, bien que quelques-unes des cartes ont été connus comme ayant expiré.

Les pirates ont également affirmé avoir manqué à la page de la conférence des présidents, parrainée par le président Shimon Peres, et a révélé des détails personnels sur l'administrateur WebGate.