Mostra notizie nelle discussioni
  • Avatar
    ☺
    Scritto da
    il 2017-07-30 11:52:27.0 alle 2017-07-30 11:52:27.0
    Trollate totali: 6369
    fail2ban + openVZ = braghe bucate
    dopo che google ha beccato le sessioni dell'utente russo sul mio sito privato senza dominio e hostato su porte assurde (!!!) ho dovuto installare fail2ban ieri sera, non riuscivo a dormire pensando al fatto che qualcuno mi stesse cercando di violare, anche se non ci sono ancora files se non me ne fossi accorto forse avrei testato owncloud e ci avrei messo qualcosa di mio sopra (pianifico di tenerci ad esempio tutti i miei documenti)

    quindi per prima cosa fail2ban, fosse un bot voglio droppare tutto, ho configurato le seguenti jails:

    nginx-botsearch, sshd e php-fopen.

    configuro tutto, come banrule ho provato sia firewallcmd-multiport che iptables-multiport, con firewallcmd fail2ban si accorge che c'e' un errore e non va, non parte il servizio ed il log di fail2ban ti dice che non riesce ad usare quella banaction, con iptables-multiport nella conf di jail.local fail2ban dice che va tutto bene ed il suo log sembra felice, poi pero' ho provato a scansionarmi il sito con uno scanner e fail2ban fa il suo dannato lavoro, lo vedo li che lavora da atop, ma non riesce a bannare gli ip, il problema e' che non dice nulla fail2ban nel proprio log!, lo dice solo firewalld nel log di systemd che fail2ban ha provato a bannare un ip e non ce l'ha fatta!

    firewalld[7093]: ERROR: NOT_ENABLED: rule '('-p', 'tcp', '-m', 'multiport', '--dports', 'http,https', '-m', 'set', '--match-set', 'fail2ban-php-url-fopen', 'src', '-j', 'REJECT', '--reject-with', 'icmp-port-unreachable')' is not in 'ipv4:filter:INPUT'
    
    firewalld[7093]: ERROR: NOT_ENABLED: rule '('-p', 'tcp', '-m', 'multiport', '--dports', 'http,https', '-m', 'set', '--match-set', 'fail2ban-nginx-botsearch', 'src', '-j', 'REJECT', '--reject-with', 'icmp-port-unreachable')' is not in 'ipv4:filter:INPUT'
    
    firewalld[7093]: ERROR: NOT_ENABLED: rule '('-p', 'tcp', '-m', 'multiport', '--dports', 'ssh', '-m', 'set', '--match-set', 'fail2ban-sshd', 'src', '-j', 'REJECT', '--reject-with', 'icmp-port-unreachable')' is not in 'ipv4:filter:INPUT'
    
    e per ciascuno di questi ci sono 3 errori identici cosi
    
    firewalld[7093]: WARNING: '/usr/sbin/iptables-restore -n' failed:
    


    ed infatti lo scanner va che e' un piacere.

    ad una veloce letta pare che la cosa debba essere abilitata dall'hoster se sei un fottuto container senza il tuo kernel, quindi penso proprio di essere arrivato al limite massimo cui posso spingere la conf di un openvz, almeno su questo hoster.

    sapevo delle limitazioni degli openvz, so che sono pensati per roba che sta in userspace, mi sta bene, ma anche se mi serve solo lo userspace per hostare dei servizi cribbio mi serve anche un firewall, o no?

    vedremo cmq se non lo ha configurato l'hoster il kernel che possa droppare pacchetti oppure se devo solo aggiungere la rule di ban in iptables (cosi par di capire dal messaggio di errore, investighero')
    Please consider the environment before printing this message, 50% of the above is useless!
    • Avatar
      ☺
      Scritto da
      ::1
      il 2017-07-30 12:14:45.0 alle 2017-07-30 12:14:45.0
      Trollate totali: 12321
      Re: fail2ban + openVZ = braghe bucate
      Scritto da: dada216
      > dopo che google ha beccato le sessioni dell'utente russo sul mio sito privato senza dominio e hostato su porte assurde (!!!) ho dovuto installare fail2ban ieri sera, non riuscivo a dormire pensando al fatto che qualcuno mi stesse cercando di violare, anche se non ci sono ancora files se non me ne fossi accorto forse avrei testato owncloud e ci avrei messo qualcosa di mio sopra (pianifico di tenerci ad esempio tutti i miei documenti)
      >
      > quindi per prima cosa fail2ban, fosse un bot voglio droppare tutto, ho configurato le seguenti jails:
      >
      > nginx-botsearch, sshd e php-fopen.
      >
      > configuro tutto, come banrule ho provato sia firewallcmd-multiport che iptables-multiport, con firewallcmd fail2ban si accorge che c'e' un errore e non va, non parte il servizio ed il log di fail2ban ti dice che non riesce ad usare quella banaction, con iptables-multiport nella conf di jail.local fail2ban dice che va tutto bene ed il suo log sembra felice, poi pero' ho provato a scansionarmi il sito con uno scanner e fail2ban fa il suo dannato lavoro, lo vedo li che lavora da atop, ma non riesce a bannare gli ip, il problema e' che non dice nulla fail2ban nel proprio log!, lo dice solo firewalld nel log di systemd che fail2ban ha provato a bannare un ip e non ce l'ha fatta!
      >
      >
      > firewalld[7093]: ERROR: NOT_ENABLED: rule '('-p', 'tcp', '-m', 'multiport', '--dports', 'http,https', '-m', 'set', '--match-set', 'fail2ban-php-url-fopen', 'src', '-j', 'REJECT', '--reject-with', 'icmp-port-unreachable')' is not in 'ipv4:filter:INPUT'
      > 
      > firewalld[7093]: ERROR: NOT_ENABLED: rule '('-p', 'tcp', '-m', 'multiport', '--dports', 'http,https', '-m', 'set', '--match-set', 'fail2ban-nginx-botsearch', 'src', '-j', 'REJECT', '--reject-with', 'icmp-port-unreachable')' is not in 'ipv4:filter:INPUT'
      > 
      > firewalld[7093]: ERROR: NOT_ENABLED: rule '('-p', 'tcp', '-m', 'multiport', '--dports', 'ssh', '-m', 'set', '--match-set', 'fail2ban-sshd', 'src', '-j', 'REJECT', '--reject-with', 'icmp-port-unreachable')' is not in 'ipv4:filter:INPUT'
      > 
      > e per ciascuno di questi ci sono 3 errori identici cosi
      > 
      > firewalld[7093]: WARNING: '/usr/sbin/iptables-restore -n' failed:
      > 

      >
      > ed infatti lo scanner va che e' un piacere.
      >
      > ad una veloce letta pare che la cosa debba essere abilitata dall'hoster se sei un fottuto container senza il tuo kernel, quindi penso proprio di essere arrivato al limite massimo cui posso spingere la conf di un openvz, almeno su questo hoster.
      >
      > sapevo delle limitazioni degli openvz, so che sono pensati per roba che sta in userspace, mi sta bene, ma anche se mi serve solo lo userspace per hostare dei servizi cribbio mi serve anche un firewall, o no?
      >
      > vedremo cmq se non lo ha configurato l'hoster il kernel che possa droppare pacchetti oppure se devo solo aggiungere la rule di ban in iptables (cosi par di capire dal messaggio di errore, investighero')

      Tutta questa roba l'hai mai provata con qemu in locale creeando una rete di vm?
      Young professional woman and busy mom.
      • Avatar
        ☺
        Scritto da
        il 2017-07-30 12:22:38.0 alle 2017-07-30 12:22:38.0
        Trollate totali: 6369
        Re: fail2ban + openVZ = braghe bucate
        Scritto da: ::1
        >
        > Tutta questa roba l'hai mai provata con qemu in locale creeando una rete di vm?

        in passato qualcosa si, ma con tool completamente diversi, snort su macchine ubuntu, non mi pareva di aver dovuto fare troppa roba manualmente con iptables (ipv4:filter:INPUT mi sembra un coso iptables) perche' un coso passasse una rule ad iptables, recentemente no, ho fatto tutto direttamente sui vps.

        dovrei rifare tutto in loco? che palle, ore di configurazione da rifare, poi dovrei rifare tutto sui vps per vedere se e' colpa di openvz o se il problema sta da qualche altra parte?

        ah no tanto e' un ansible playbook (ho scritto anche il ruolo di hardening che per ora installa solo fail2ban ed il file jail.local che configura le jails), quindi non dovrei fare altro che creare 3vm con centos 7 minimal e rilanciare l'ansible playbook con un file hosts diverso.

        stasera provo.

        **Modificato dall'autore il 30.07.2017 12:39**
        Please consider the environment before printing this message, 50% of the above is useless!
        • Avatar
          ☺
          Scritto da
          ::1
          il 2017-07-30 13:22:42.0 alle 2017-07-30 13:22:42.0
          Trollate totali: 12321
          Re: fail2ban + openVZ = braghe bucate
          Scritto da: dada216
          > Scritto da: ::1
          > >
          > > Tutta questa roba l'hai mai provata con qemu in locale creeando una rete di vm?
          >
          > in passato qualcosa si, ma con tool completamente diversi, snort su macchine ubuntu, non mi pareva di aver dovuto fare troppa roba manualmente con iptables (ipv4:filter:INPUT mi sembra un coso iptables) perche' un coso passasse una rule ad iptables, recentemente no, ho fatto tutto direttamente sui vps.
          >
          > dovrei rifare tutto in loco? che palle, ore di configurazione da rifare, poi dovrei rifare tutto sui vps per vedere se e' colpa di openvz o se il problema sta da qualche altra parte?
          >
          > ah no tanto e' un ansible playbook (ho scritto anche il ruolo di hardening che per ora installa solo fail2ban ed il file jail.local che configura le jails), quindi non dovrei fare altro che creare 3vm con centos 7 minimal e rilanciare l'ansible playbook con un file hosts diverso.
          >
          > stasera provo.

          Almeno ti togli il dente di sapere se è la virtualizzazione o sei tu che sei incapace con ansible. Con la lingua fuori
          Young professional woman and busy mom.
          • Avatar
            ☺
            Scritto da
            il 2017-07-30 13:51:02.0 alle 2017-07-30 13:51:02.0
            Trollate totali: 6369
            Re: fail2ban + openVZ = braghe bucate
            Scritto da: ::1
            >
            > Almeno ti togli il dente di sapere se è la virtualizzazione o sei tu che sei incapace con ansible. Con la lingua fuori

            sono abbastanza certo che sia la virtualizzazione, anche fail2ban cmq e' figo
            # this is the configuration file /etc/fail2ban/jail.local
            
            [DEFAULT]
            bantime = 3600
            banaction = iptables-multiport
            maxretry = 5
            backend = systemd
            
            #sender = fail2ban@example.com
            #destemail = root
            #action = %(action_mwl)s
            
            [sshd]
            enabled = true
            
            [nginx-http-auth]
            port    = http,https
            logpath = /var/log/nginx/error.log
            
            #
            # To use 'nginx-limit-req' jail you should have `ngx_http_limit_req_module`
            # and define `limit_req` and `limit_req_zone` as described in nginx documentat$
            # http://nginx.org/en/docs/http/ngx_http_limit_req_module.html
            # or for example see in 'config/filter.d/nginx-limit-req.conf'
            #
            #[nginx-limit-req]
            #  port    = http,https
            #  logpath = %(nginx_error_log)s
            #
            
            [nginx-botsearch]
            enabled  = true
            port     = http,https
            logpath  = /var/log/nginx/error.log
            maxretry = 2
            #
            #
            # Ban attackers that try to use PHP's URL-fopen() functionality
            # through GET/POST variables. - Experimental, with more than a year
            [php-url-fopen]
            enabled = true
            port    = http,https
            logpath = /var/log/nginx/access.log
            #          %(apache_access_log)s
            
            [nginx-badbots]
            enabled  = true
            filter = apache-badbots
            banaction = iptables-multiport
            logpath = /var/log/nginx/access.log
            #bantime = 86400 # 1 day
            maxretry = 3
            


            questo e' il log di fail2ban

            #
            # this is the fail2ban log file at /var/log/fail2ban/fail2ban.log
            
            fail2ban.server         [18252]: INFO    Changed logging target to /var/log/fail2ban.log for Fail2ban v0.9.6
            fail2ban.database       [18252]: INFO    Connected to fail2ban persistent database '/var/lib/fail2ban/fail2ban.sqlite3'
            fail2ban.jail           [18252]: INFO    Creating new jail 'sshd'
            fail2ban.jail           [18252]: INFO    Jail 'sshd' uses systemd {}
            fail2ban.jail           [18252]: INFO    Initiated 'systemd' backend
            fail2ban.filter         [18252]: INFO    Set maxRetry = 5
            fail2ban.filter         [18252]: INFO    Set jail log file encoding to ANSI_X3.4-1968
            fail2ban.actions        [18252]: INFO    Set banTime = 3600
            fail2ban.filter         [18252]: INFO    Set findtime = 600
            fail2ban.filter         [18252]: INFO    Set maxlines = 10
            fail2ban.filtersystemd  [18252]: INFO    Added journal match for: '_SYSTEMD_UNIT=sshd.service + _COMM=sshd'
            fail2ban.jail           [18252]: INFO    Creating new jail 'nginx-botsearch'
            fail2ban.jail           [18252]: INFO    Jail 'nginx-botsearch' uses systemd {}
            fail2ban.jail           [18252]: INFO    Initiated 'systemd' backend
            fail2ban.filter         [18252]: INFO    Set maxRetry = 2
            fail2ban.filter         [18252]: INFO    Set jail log file encoding to ANSI_X3.4-1968
            fail2ban.actions        [18252]: INFO    Set banTime = 3600
            fail2ban.filter         [18252]: INFO    Set findtime = 600
            fail2ban.jail           [18252]: INFO    Creating new jail 'php-url-fopen'
            fail2ban.jail           [18252]: INFO    Jail 'php-url-fopen' uses systemd {}
            fail2ban.jail           [18252]: INFO    Initiated 'systemd' backend
            fail2ban.filter         [18252]: INFO    Set maxRetry = 5
            fail2ban.filter         [18252]: INFO    Set jail log file encoding to ANSI_X3.4-1968
            fail2ban.actions        [18252]: INFO    Set banTime = 3600
            fail2ban.filter         [18252]: INFO    Set findtime = 600
            fail2ban.jail           [18252]: INFO    Creating new jail 'nginx-badbots'
            fail2ban.jail           [18252]: INFO    Jail 'nginx-badbots' uses systemd {}
            fail2ban.jail           [18252]: INFO    Initiated 'systemd' backend
            fail2ban.filter         [18252]: INFO    Set maxRetry = 3
            fail2ban.filter         [18252]: INFO    Set jail log file encoding to ANSI_X3.4-1968
            fail2ban.actions        [18252]: INFO    Set banTime = 3600
            fail2ban.filter         [18252]: INFO    Set findtime = 600
            fail2ban.jail           [18252]: INFO    Jail 'sshd' started
            fail2ban.filtersystemd  [18252]: NOTICE  Jail started without 'journalmatch' set. Jail regexs will be checked against all journal entries, which is not advised for performance reasons.
            fail2ban.jail           [18252]: INFO    Jail 'nginx-botsearch' started
            fail2ban.filtersystemd  [18252]: NOTICE  Jail started without 'journalmatch' set. Jail regexs will be checked against all journal entries, which is not advised for performance reasons.
            fail2ban.jail           [18252]: INFO    Jail 'php-url-fopen' started
            fail2ban.filtersystemd  [18252]: NOTICE  Jail started without 'journalmatch' set. Jail regexs will be checked against all journal entries, which is not advised for performance reasons.
            fail2ban.jail           [18252]: INFO    Jail 'nginx-badbots' started
            


            queste sono due entry dello scanner avviato dal mio laptop sia nel log di access che in quello di error, in 3 o 4 ore di scan ha generato 1MB di access e 1MB di error log.

            #
            # this is the nginx access log
            
            000.000.000.000 - - [30/Jul/2017:03:26:24 +0000] "GET /.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg HTTP/1.1" 502 575 "-" "Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)" "-"
            000.000.000.000 - - [30/Jul/2017:03:26:24 +0000] "GET /.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/linkid.js HTTP/1.1" 404 571 "-" "Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)" "-"
            

            #
            # this is the nginx error log
            
            2017/07/30 03:26:24 [error] 17441#0: *1629 upstream sent too big header while reading response header from upstream, client: 000.000.000.000, server: webserver1, request: "GET /.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.sv
            2017/07/30 03:26:24 [error] 17441#0: *1629 open() "/srv/wordpress/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.svg/.s... (2: No such file or directory), client: 000.000.000.000
            

            #
            # this is the firewalld log from systemd journalctl 
            
            systemd[1]: Starting firewalld - dynamic firewall daemon...
            systemd[1]: Started firewalld - dynamic firewall daemon.
            firewalld[7093]: WARNING: ipset not usable, disabling ipset usage in firewall.
            firewalld[7093]: WARNING: ebtables not usable, disabling ethernet bridge firewall.
            firewalld[7093]: WARNING: '/usr/sbin/iptables-restore -n' failed:
            firewalld[7093]: ERROR: COMMAND_FAILED
            firewalld[7093]: ERROR: NOT_ENABLED: rule '('-p', 'tcp', '-m', 'multiport', '--dports', 'ssh', '-m', 'set', '--match-set', 'fail2ban-sshd', 'src', '-j', 'REJECT', '--reject-with', 'icmp-port-unreachable')' is not in 'ipv4:filter:INPUT'
            firewalld[7093]: WARNING: '/usr/sbin/iptables-restore -n' failed:
            firewalld[7093]: ERROR: COMMAND_FAILED
            firewalld[7093]: WARNING: '/usr/sbin/iptables-restore -n' failed:
            firewalld[7093]: ERROR: COMMAND_FAILED
            firewalld[7093]: WARNING: '/usr/sbin/iptables-restore -n' failed:
            firewalld[7093]: ERROR: COMMAND_FAILED
            firewalld[7093]: ERROR: NOT_ENABLED: rule '('-p', 'tcp', '-m', 'multiport', '--dports', 'http,https', '-m', 'set', '--match-set', 'fail2ban-php-url-fopen', 'src', '-j', 'REJECT', '--reject-with', 'icmp-port-unreachable')' is not in 'ipv4:filter:INPUT'
            firewalld[7093]: ERROR: NOT_ENABLED: rule '('-p', 'tcp', '-m', 'multiport', '--dports', 'ssh', '-m', 'set', '--match-set', 'fail2ban-sshd', 'src', '-j', 'REJECT', '--reject-with', 'icmp-port-unreachable')' is not in 'ipv4:filter:INPUT'
            firewalld[7093]: ERROR: NOT_ENABLED: rule '('-p', 'tcp', '-m', 'multiport', '--dports', 'http,https', '-m', 'set', '--match-set', 'fail2ban-nginx-botsearch', 'src', '-j', 'REJECT', '--reject-with', 'icmp-port-unreachable')' is not in 'ipv4:filter:INPUT'
            firewalld[7093]: WARNING: '/usr/sbin/iptables-restore -n' failed:
            firewalld[7093]: ERROR: COMMAND_FAILED
            firewalld[7093]: WARNING: '/usr/sbin/iptables-restore -n' failed:
            firewalld[7093]: ERROR: COMMAND_FAILED
            firewalld[7093]: WARNING: '/usr/sbin/iptables-restore -n' failed:
            firewalld[7093]: ERROR: COMMAND_FAILED
            firewalld[7093]: ERROR: NOT_ENABLED: rule '('-p', 'tcp', '-m', 'multiport', '--dports', 'http,https', '-m', 'set', '--match-set', 'fail2ban-php-url-fopen', 'src', '-j', 'REJECT', '--reject-with', 'icmp-port-unreachable')' is not in 'ipv4:filter:INPUT'
            firewalld[7093]: ERROR: NOT_ENABLED: rule '('-p', 'tcp', '-m', 'multiport', '--dports', 'ssh', '-m', 'set', '--match-set', 'fail2ban-sshd', 'src', '-j', 'REJECT', '--reject-with', 'icmp-port-unreachable')' is not in 'ipv4:filter:INPUT'
            firewalld[7093]: ERROR: NOT_ENABLED: rule '('-p', 'tcp', '-m', 'multiport', '--dports', 'http,https', '-m', 'set', '--match-set', 'fail2ban-nginx-botsearch', 'src', '-j', 'REJECT', '--reject-with', 'icmp-port-unreachable')' is not in 'ipv4:filter:INPUT'
            


            questi sono i filtri che ha applicato, posso anche testarli con fail2ban-regex direttamente sui log, poi lo faccio, ma a quanto capisco con tutti quei get a pagine che poi non esistono e tutti quei 404 sarebbe dovuto essere bannato, idem per l'altra rule che mi sembra lo user-agent dello scanner corrispondesse (ho usato wapiti)
            in effetti da atop io vedevo fail2ban che provava ogni 3x2 a bannare il coso, almeno credo, da atop guardando tutta la linea completa del comando visualizzato c'erano le stesse stringhe che poi venivano loggate da systemd come errore di firewalld, quelle in cui viene chiamato ipset e che generano l'errore rule not set.
            il fatto che all'inizio di fiewalld ci sia scritto "ipset not available" mi sa che e' dove sta tutto l'inghippo.

            # Fail2Ban configuration file for nginx-badbot
            #
            # Regexp to catch known spambots and software alike. Please verify
            # that it is your intent to block IPs which were driven by
            # above mentioned bots.
            
            
            [Definition]
            
            badbotscustom = EmailCollector|WebEMailExtrac|TrackBack/1\.02|sogou music spider
            badbots = Atomic_Email_Hunter/4\.0|atSpider/1\.0|autoemailspider|bwh3_user_agent|China Local Browse 2\.6|ContactBot/0\.2|ContentSmartz|DataCha0s/2\.0|DBrowse 1\.4b|DBrowse 1\.4d|Demo Bot DOT 16b|Demo Bot Z 16b|DSurf15a 01|DSurf15a 71|DSurf15a 81|DSurf15a VA|EBrowse 1\.4b|Educate Search VxB|EmailSiphon|EmailSpider|EmailWolf 1\.00|ESurf15a 15|ExtractorPro|Franklin Locator 1\.8|FSurf15a 01|Full Web Bot 0416B|Full Web Bot 0516B|Full Web Bot 2816B|Guestbook Auto Submitter|Industry Program 1\.0\.x|ISC Systems iRc Search 2\.1|IUPUI Research Bot v 1\.9a|LARBIN-EXPERIMENTAL \(efp@gmx\.net\)|LetsCrawl\.com/1\.0 \+http\://letscrawl\.com/|Lincoln State Web Browser|LMQueueBot/0\.2|LWP\:\:Simple/5\.803|Mac Finder 1\.0\.xx|MFC Foundation Class Library 4\.0|Microsoft URL Control - 6\.00\.8xxx|Missauga Locate 1\.0\.0|Missigua Locator 1\.9|Missouri College Browse|Mizzu Labs 2\.2|Mo College 1\.9|MVAClient|Mozilla/2\.0 \(compatible; NEWT ActiveX; Win32\)|Mozilla/3\.0 \(compatible; Indy Library\)|Mozilla/3\.0 \(compatible; scan4mail \(advanced version\) http\://www\.peterspages\.net/?scan4mail\)|Mozilla/4\.0 \(compatible; Advanced Email Extractor v2\.xx\)|Mozilla/4\.0 \(compatible; Iplexx Spider/1\.0 http\://www\.iplexx\.at\)|Mozilla/4\.0 \(compatible; MSIE 5\.0; Windows NT; DigExt; DTS Agent|Mozilla/4\.0 efp@gmx\.net|Mozilla/5\.0 \(Version\: xxxx Type\:xx\)|NameOfAgent \(CMS Spider\)|NASA Search 1\.0|Nsauditor/1\.x|PBrowse 1\.4b|PEval 1\.4b|Poirot|Port Huron Labs|Production Bot 0116B|Production Bot 2016B|Production Bot DOT 3016B|Program Shareware 1\.0\.2|PSurf15a 11|PSurf15a 51|PSurf15a VA|psycheclone|RSurf15a 41|RSurf15a 51|RSurf15a 81|searchbot admin@google\.com|ShablastBot 1\.0|snap\.com beta crawler v0|Snapbot/1\.0|Snapbot/1\.0 \(Snap Shots, \+http\://www\.snap\.com\)|sogou develop spider|Sogou Orion spider/3\.0\(\+http\://www\.sogou\.com/docs/help/webmasters\.htm#07\)|sogou spider|Sogou web spider/3\.0\(\+http\://www\.sogou\.com/docs/help/webmasters\.htm#07\)|sohu agent|SSurf15a 11 |TSurf15a 11|Under the Rainbow 2\.2|User-Agent\: Mozilla/4\.0 \(compatible; MSIE 6\.0; Windows NT 5\.1\)|VadixBot|WebVulnCrawl\.unknown/1\.0 libwww-perl/5\.803|Wells Search II|WEP Search 00
            
            failregex = ^<HOST> -.*"(GET|POST|HEAD).*HTTP.*"(?:%(badbots)s|%(badbotscustom)s)"$
            
            ignoreregex =
            
            # DEV Notes:
            # List of bad bots fetched from http://www.user-agents.org
            # Generated on Thu Nov  7 14:23:35 PST 2013 by files/gen_badbots.
            #
            # Author: Yaroslav Halchenko
            



            
            # Fail2Ban filter to match web requests for selected URLs that don't exist
            #
            
            [INCLUDES]
            # config files for nginx-botsearch
            # Load regexes for filtering
            before = botsearch-common.conf
            
            [Definition]
            
            failregex = ^<HOST> \- \S+ \[\] \"(GET|POST|HEAD) \/<block> \S+\" 404 .+$
                        ^ \[error\] \d+#\d+: \*\d+ (\S+ )?\"\S+\" (failed|is not found) \(2\: No such file or directory\), client\: <HOST>\, server\: \S*\, request: \"(GET|POST|HEAD) \/<block> \S+\"\, .*?$
            
            ignoreregex = 
            
            
            # DEV Notes:
            # Based on apache-botsearch filter
            # 
            # Author: Frantisek Sumsal



            **Modificato dall'autore il 30.07.2017 13:58**

            **Modificato dall'autore il 30.07.2017 14:06**
            Please consider the environment before printing this message, 50% of the above is useless!
<softv>

Pagina generata in 89 millisecondi

Utenti attivi: 7 nell'ultimo minuto, 23 negli ultimi cinque minuti, 51 negli ultimi 15 minuti