Essa semana, o blog sofreu uma série de ataques DDoS, tudo porque a galera entendeu que algumas strings não eram cacheadas pelo varnish. Percebi isso ao ler os arquivos de log do nginx e do varnish, que agora tenho acesso, já que migrei da KingHost.

Criei algumas novas regras no varnish, fiz o restart e realizei alguns testes, e de fato é que agora, o varnish que está respondendo as requisições ao invés do Nginx + PHP5-FPM.

Entender o comportamento dos seu portal e dos usuários, incluindo ataques, é de extrema importância para a criação de regras mais performáticas no varnish que suporta o seu ambiente, e é isso que venho fazendo há algum tempo.

Também removi alguns limites de requisições para o Nginx, com isso o pessoal parará de reclamar que o blog não está respondendo mais. Vejam que o Chrome abre 6 sockets (ip+porta) para cada url que ele tenta acessar. Esse número pode ser bem maior caso o usuário esteja utilizando um firefox ou IE.

Vamos aguardar as cenas dos próximos capítulos

ToDo’s desta semana:

Preciso migrar algumas regras de hash do varnish 2.0 para o 3.0. Estas regras implementam um rate limit bem interessante.

P.S.: essa configuração será abordada e com mais profundidade no novo curso de varnish+nginx+apache, o qual será anunciado no início desta semana.

Atualização 1: Chego em casa, depois de uma uma cerva com os amigos, e descubro que o blog está fora. Motivo, ataque DDoS.
Pois bem, voltei com o ratelimit no nginx, e como um passe de mágica, o ataque foi mitigado. O cara ficou tomando erro 503.

Interessante foi que o load do servidor ficou em 286, isso mesmo que vcs acabaram de ler. Tudo porque dei uma turbinada no php5-fpm.

Mas acontece que este servidor não aguenta a carga tão alta, melhor dizendo, um ataque DDoS.

Atualização 2: Não há como negar que isso que estes ataques DDoS são excelentes para testar algumas configurações e parametrizações. Vejam, o rate limit do nginx é excelente, mas se vc post muita coisa como eu, vc acaba se ferrando, isso porque o painel de administração do wordpress possui dezenas de objetos. Daí, são dezenas de requisições executadas simultaneamente.

Queira ou não queira, vc é obrigado a abrir um pouco a porteira.

Outro ponto é quanto ao fail2ban, já que esta ferramenta trabalha analisando os logs gerados pelo nginx e também pelo varnish. quanto maior o log, maior será o tempo de análise. Por este motivo a necessidade de monitorar o tamanho dos arquivos, ponto este que já foi citado inúmeras vezes e em outros posts.