Отображение валюты на сайте:

    Закроем доступ к файлам, которые могут вызывать повышенный интерес:

            location ~ /.svn/ {
               deny all;
            }
    

    Можно разрешить/запретить доступ к файлам лишь с определенных ip-адресов, используя директивы allow и deny:

      location /server-status {
          allow 111.111.111.111;
          allow 11.11.11.11;
                deny all;
      }
    

    Также для разграничения доступа к файлам можно использовать директивы auth_basic и auth_basic_user_file — в этом случае пользователю необходимо будет ввести логин/пароль для доступа:

      location /admin/ {
          auth_basic "Enter password to access";
          auth_basic_user_file /etc/nginx/basic.auth;
      }
    

    Также можно комбинировать эти два способа:

      location /admin/ {
          satisfy any;
          allow 111.111.111.111;
          allow 11.11.11.11;
          deny  all;
    
          auth_basic "Enter password to access";
          auth_basic_user_file /etc/nginx/basic.auth;
      }
    

    Защититься от запросов к несуществующим файлам на Nginx можно так:

            location ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ {
               try_files $uri =404;
            }
    

    После перезапускаем Nginx одной из команд:

    systemctl reload nginx  
    service nginx reload  
    

    В зависимости от определенного IP-адреса Nginx может выполнять такие действия, как перенаправление:

    location / {  
    
        if ($remote_addr != 111.111.111.111) {
            return 301 https://$host$request_uri;
        }
    
    }
    
    • в данном примере мы перенаправляем всех посетителей по пути https://$host$request_uri, кроме запросов с IP-адреса 111.111.111.111.

    Защиту от перебора паролей можно организовать c использованием iptables:

    Блокирование IP на время, если количество запросов в секунду превышает какое-либо разумное количество

    iptables -A INPUT -p tcp --syn --dport 80 -i eth0 -m state --state NEW  
                -m recent --name bhttp --set
    iptables -A INPUT -p tcp --syn --dport 80 -i eth0 -m state --state NEW  
                -m recent --name bhttp --update --seconds 120
                --hitcount 360 -j DROP
    iptables -A INPUT -p tcp --syn --dport 80 -i eth0 -j ACCEPT