O log geralmente pode ser ativado e definir o caminho em nginx.conf
/etc/nginx/nginx.conf
Se você usa vim
ou usa seu editor e edita esse arquivo e altera ou verifica essa linha
access_log /var/log/nginx/access.log main;
Eu realmente não quero saber sobre isso, pois eu gostaria de mantê-lo realmente privado e dar privacidade ao visitante tanto quanto possível (não que meu blog seja popular).
Acabei de instalar o Ubuntu com nginx da Digital Ocean com o Ghost pré-instalado, mas anteriormente eu estava com o Wordpress. Agora (neste momento enquanto escrevo) continuo vendo este log
POST /bidRequest?exchange=smaato 500 2ms - 19b
POST /bidRequest?exchange=smaato 500 1ms - 19b
POST /bidRequest?exchange=smaato 500 1ms - 19b
POST /bidRequest?exchange=smaato 500 2ms - 19b
POST /bidRequest?exchange=smaato 500 1ms - 19b
POST /bidRequest?exchange=smaato 500 1ms - 19b
POST /bidRequest?exchange=smaato 500 2ms - 19b
POST /bidRequest?exchange=smaato 500 3ms - 19b
POST /wp-admin/admin-ajax.php 500 2ms - 19b
POST /bidRequest?exchange=smaato 500 2ms - 19b
POST /bidRequest?exchange=smaato 500 3ms - 19b
GET /winBid?erid=EzLM7nyV0n&eid=2&cpm=1.45449&bid=1628&w=1384697998 301 2ms
POST /bidRequest?exchange=smaato 500 2ms - 19b
POST /bidRequest?exchange=smaato 500 1ms - 19b
POST /bidRequest?exchange=smaato 500 3ms - 19b
POST /bidRequest?exchange=smaato 500 2ms - 19b
Ele está chegando a cada segundo como você pode ver e eles nunca param nisso e eu estou pensando é que eles estão tentando hackear meu site enquanto eu estava no Wordpress ou algo está acontecendo a partir desses pedidos. Eu gostaria de saber mais sobre esses ataques e bloquear o IP deles se isso for algo ruim acontecendo. Como eu iria descobrir ou devo instalar algum tipo de módulo / plugin na minha caixa para evitar esse tipo de comportamento?
O NGINX é capaz de registrar o IP e outras informações que você pode achar interessante, mas parece que o registro que você está mostrando aqui não está configurado para incluir essas informações. Se você ajustar seus registros nginx, você deve ser capaz de ativá-lo. Se precisar de ajuda, poste sua configuração de registro nginx aqui. O meu parece assim:
log_format main
'$remote_addr - $remote_user [$time_local] '
'"$request" $status $bytes_sent '
'"$http_referer" "$http_user_agent" '
'"$gzip_ratio"';
E registros como este nos registros:
76.113.215.212 - - [17/Nov/2013:10:19:19 -0600] "GET / HTTP/1.1" 200 15411 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.57 Safari/537.36"
Depois de encontrar o (s) IP (s) em questão, você deve ser capaz de bloqueá-los de várias maneiras - o mais eficaz é provavelmente parte do firewall (iptables) ou, se um bloco temporário até a reinicialização for aceitável , você poderia usar uma entrada de roteamento REJECT que basicamente faz seu computador se recusar a falar com o host. Se você acha que é um pouco pesado, você poderia fazer regras para bloquear no nginx de várias maneiras, provavelmente (limite de taxa vem à mente).
se o seu servidor estiver atrás de um balanceador de carga, como o amazon ELB, $ remote_addr não lhe dará o IP do cliente. em vez disso, cada entrada será IP do dispositivo de balanceamento de carga a montante.
para contornar isso, substitua $ remote_addr por $ http_x_forwarded_for:
log_format main
'$http_x_forwarded_for - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" ';