Puncte:0

Prezentare web Iredmail + securitate mod

drapel cn

A încercat cineva să implementeze iredmail cu mod de securitate? Nici engleza mea nu este atât de bună, sper că îmi înțelegeți motivele. Vă mulțumim anticipat pentru ajutor.

Am instalat iredmail + prezentare web pe nginx, dar am probleme cu regulile modsec. Am folosit apache2 + mod sec înainte. Am implementat reguli personalizate precum rbl sau drop .php sau .env request, de exemplu. Puteți găsi exemplele mele de mai jos, pe care le-am folosit de apache2. regula Rbl

SecRule REMOTE_ADDR "@rbl sbl-xbl.spamhaus.org" "phase:1,id:171,t:none,pass,log,auditlog,msg:'RBL Match for SPAM Source',tag:'AUTOMATION/MALICIOUS', severitate:'2',setvar:'tx.msg=%{rule.msg}',setvar:tx.automation_score=+%{tx.warning_anomaly_score},setvar:tx.an>
 setvar:tx.%{rule.id}-AUTOMATION/MALICIOUS-%{matched_var_name}=%{matched_var},setvar:ip.spammer=1,expirevar:ip.spammer=86400,setvar:ip.previous_rbl_check=1,expirevar :ip.previous_rbl_check=86400,skipAfter:END_RBL_CHECK"

regula .php

SecRule REQUEST_LINE „@contains .php” „phase:1,id:150,drop,status:444,log,t:none,t:urlDecode,t:lowercase,t:normalizePath,msg:’Solicitarea conține fișier .php’ "

regula .env

SecRule REQUEST_LINE „@contains .env” „phase:1,id:155,drop,status:444,log,t:none,t:urlDecode,t:lowercase,t:normalizePath,msg:’Solicitarea conține fișier .env’ "

Funcționează foarte bine pe apache, spamerii kiss ..... :) dar este drop incorect pe iredmail cu nginx.

Rbl nu scade deloc. Am încercat RBL de la projecthonejpot dar este la fel. De exemplu, dacă încerc www.example.com/index.php deci a scazut bine, dar unele cereri de la spammeri mă omoară. Nu știu, de la care provine, dar cererea a fost ucisă pe apache.

Mai jos este access.log.

184.168.103.230 - - [08/Feb/2022:17:33:28 +0100] „GET /wp-login.php HTTP/1.1” 301 162 „-” „Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv :62.0) Gecko/20100101 Firefox/62.0"
184.168.103.230 - - [08/Feb/2022:17:33:31 +0100] „GET /wp-login.php HTTP/1.1” 404 47 „http://example.com/wp-login.php” „ Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:62.0) Gecko/20100101 Firefox/62.0"

Mai jos este error.log

2022/02/08 17:33:31 [eroare] 1036473#1036473: *232 FastCGI trimis în stderr: „Scriptul principal necunoscut” în timpul citirii antetului răspunsului 
din amonte, client: 184.168.103.230, server: domain.com, cerere: „GET /wp-login.php HTTP/1.1”, în amonte: 
„fastcgi://127.0.0.1:9999”, gazdă: „example.com”, referitor: „http://example.com/wp-login.php”

Mod sec nu-l aruncați după regula .php, dar dacă a fost abandonat, jurnalul de erori arată ca mai jos.

2022/02/08 18:28:29 [eroare] 1036473#1036473: *238 [client 173.212.214.140] ModSecurity: Acces refuzat cu codul 444 (faza 1). 
A corelat „Operatorul „Conține” cu parametrul „.php” cu variabila „REQUEST_LINE” (Valoare: „GET /wp-login.php HTTP/1.1”) 
[fișierul "/etc/nginx/modsecurity/modsecurity.conf"] [linia "279"] [id "150"] [rev ""] [msg "Solicitarea conține fișierul .php"] [date ""] 
[severitatea „0”] [ver „”] [maturitate „0”] [precizia „0”] [nume gazdă „xxxx”] [uri „/wp-login.php”] [id-unic „1644341309”] 
[ref „o13,4v0,26t:urlDecode,t:lowercase,t:normalizePath”], client: 173.212.214.140, server: example.com, cerere: „GET /wp-login.php HTTP/1.1”, 
gazdă: „example.com”, referitor: „http://example.com/wp-login.php”

În această situație, s-a pierdut ceva timp, dar uneori nu. De exemplu, a fost aruncat tot timpul pe apache. Mai jos este configurația mea nginx. 00-default.conf:

Server {
    asculta 80 default_server;
    asculta [::]:80 default_server;
    listen server ip:80 default_server;
    asculta [server ip6::1]:80 default_server;
    numele serverului _;

    întoarcere 444;

}

Server {
    # Ascultă pe ipv4
    server de ascultare ip:80;
    asculta [ip server::6]:80;
    nume_server mail.example.com;

    rădăcină /var/www/html;
    index index.html robots.txt;

    # Redirecționează toate solicitările http:// nesigure către https://
    returnează 301 https://$host$request_uri;

    modsecuritate activată;
    modsecurity_rules_file /etc/nginx/modsecurity/modsecurity.conf;

    Locație / {
        try_files $uri $uri/ =404;
    }

    #Eliminați metodele HTTP nedorite
    if ($metoda_cerere !~ ^(GET|POST)$) {
        întoarcere 444;
    }
}

00-default-ssl.conf:

Server {
    asculta 443 default_server;
    asculta [::]:443 default_server;
    asculta 1server ip:443 default_server;
    asculta [ip server::6]:443 default_server;
    numele serverului _;

    ssl_certificate /etc/letsencrypt/live/mail.example.com/fullchain.pem; # gestionat de Certbot
    ssl_certificate_key /etc/letsencrypt/live/mail.example.com/privkey.pem; # gestionat de Certbot

    întoarcere 444;

}

Server {
    ascultă server ip:443 ssl http2;
    asculta [ip server::6]:443 ssl http2;
    nume_server mail.example.com;

    rădăcină /var/www/html;
    index index.php index.html;

    modsecuritate activată;
    modsecurity_rules_file /etc/nginx/modsecurity/modsecurity.conf;

    includ /etc/nginx/templates/misc.tmpl;
    includ /etc/nginx/templates/ssl.tmpl;
    includ /etc/nginx/templates/iredadmin.tmpl;
    includ /etc/nginx/templates/roundcube.tmpl;
    includ /etc/nginx/templates/php-catchall.tmpl;

    #Eliminați metodele HTTP nedorite
    if ($metoda_cerere !~ ^(GET|POST)$) {
        întoarcere 444;
    }

    Locație / {
        try_files $uri $uri/ =404;
    }
}

mydomaine.conf:

Server {
    dacă ($gazdă = www.example.com) {
        returnează 301 https://$host$request_uri;
    } # gestionat de Certbot


    dacă ($gazdă = exemplu.com) {
        returnează 301 https://$host$request_uri;
    } # gestionat de Certbot


    asculta 80;
    asculta [::]:80;
    nume_server example.com www.example.com;

      Locație / {
          întoarcere 444;
      }

}


Server {
    ascultă server ip:443 ssl http2;
    asculta [ip server::6]:443 ssl http2;
    rădăcină /var/www/html/example.com;
    index index.html robots.txt;
    nume_server example.com www.example.com;

    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; # gestionat de Certbot
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; # gestionat de Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # gestionat de Certbot

    includ /etc/nginx/templates/misc.tmpl;
    includ /etc/nginx/templates/php-catchall.tmpl;
    includ /etc/letsencrypt/options-ssl-nginx.conf; # gestionat de Certbot

    modsecuritate activată;
    modsecurity_rules_file /etc/nginx/modsecurity/modsecurity.conf;

    Locație / {
        try_files $uri $uri/ =404;
    }

        error_page 404 /404/index.html;

}

Poate că nu înțeleg concepția Iredmail, nu sunt un administrator Redmail. Iredmail este o soluție bună, dar uneori nu folosește profi :) ca urmare, nu este o solicitare de renunțare de la spameri.

Vă mulțumesc pentru ajutoare.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.