Korben, roi d’internet, logo bébé avec des lunettes en mode thug life Korben, roi d’internet, logo bébé avec des lunettes en mode thug life

Korben Upgrade your mind

Nginx – Comment bloquer les attaques les plus courantes ?

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|bluespill|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

Source



LNAV – Un visualisateur de fichiers de logs libre et pratique

LNAV (Logfile Navigator) est un outil dispo pour Linux et macOS qui permet de visualiser et de parcourir des fichiers de logs de manière agréable et efficace.
En plus de la coloration syntaxique, de la prise en charge de formats de logs standards (Syslog, CUPS, dpkg, sudo, strace…etc), LNAV est aussi capable de décompresser à la volée des logs zippés (ou gzippés ou bzippés) mais aussi de rassembler (merge) des logs segmentés pour en faciliter la visualisation.

Lire la suite



Une faille de sécurité dans les processeurs risque de diminuer jusqu’à 30% les performances des machines

La grosse news d’hier, ce n’était pas Logan Paul filmant un pendu au Japon, mais plutôt ce gros « problème » qui touche l’ensemble des processeurs Intel fabriqués durant ces 10 dernières années. Le problème est en réalité 2 failles de sécurité très importantes qui permettent à n’importe quel programme malicieux d’accéder en lecture à la mémoire utilisée par le kernel (le noyau de l’OS et ses modules interagissant avec le hardware).

Lire la suite



Bandwidth Hero – Surfez compressé pour économiser de la bande passante

Si vous êtes un peu juste en bande passante et que vous voulez accélérer un peu les choses, je vous propose aujourd’hui de jeter un œil à Bandwidth Hero.

Il s’agit d’une extension open source pour Chrome et Firefox qui fonctionne de concert avec un serveur proxy. Ce serveur proxy récupère chaque image que votre navigateur demande, la compresse au format WebP/JPEG en basse résolution et vous la renvoie ensuite directement.

Lire la suite