
Recentemente mudei meu servidor de hospedagem para AWS. e no início tudo estava funcionando bem, mas recentemente estou enfrentando problemas com meu servidor que caiu várias vezes.
Monitorei de perto e fiquei sabendo que a utilização da CPU chega a 100% várias vezes e sempre que preciso reiniciar minha instância.
Portanto, verifiquei o log de acesso e os logs de erros e parece que algumas atividades de hacking estão ocorrendo em meu servidor. Por favor, dê uma olhada abaixo nos logs do meu arquivo de log de erros:
[Wed Sep 23 14:25:56.081268 2015] [:error] [pid 18791] [client 193.0.***.***:59940] script '/var/www/html/includes/custom.php' not found or unable to stat, referer: -1' OR 2+20-20-1=0+0+0+1 or 'Q2fRfUkq'='
[Wed Sep 23 14:25:56.122526 2015] [:error] [pid 18780] [client 193.0.***.***:59939] script '/var/www/html/includes/custom.php' not found or unable to stat, referer: @@EKtcl
[Wed Sep 23 14:25:56.365583 2015] [:error] [pid 18788] [client 193.0.***.***:59930] script '/var/www/html/includes/custom.php' not found or unable to stat, referer: -1" OR 2+392-392-1=0+0+0+1 --
[Wed Sep 23 14:25:56.663520 2015] [:error] [pid 18786] [client 193.0.***.***:59908] script '/var/www/html/includes/custom.php' not found or unable to stat, referer: if(now()=sysdate(),sleep(9),0)/*'XOR(if(now()=sysdate(),sleep(9),0))OR'"XOR(if(now()=sysdate(),sleep(9),0))OR"*/
[Wed Sep 23 14:25:56.994941 2015] [:error] [pid 18791] [client 193.0.***.***:59940] script '/var/www/html/includes/custom.php' not found or unable to stat, referer: (select(0)from(select(sleep(9)))v)/*'+(select(0)from(select(sleep(9)))v)+'"+(select(0)from(select(sleep(9)))v)+"*/
Agora aqui posso ver que está tentando acessar um arquivo inexistente e adicionando injeções de sql, e coisas inacreditáveis está funcionando, está usando minha utilização de CPU em 100% e o serviço mysql usa 90% aqui.
Então, como evitar isso, por favor me ajude no mesmo.
Está tendo acesso ao mysql aqui para que isso aconteça? Como podemos ver, não há nenhum custom.php disponível, então como eles estão executando consultas mysql no servidor?
E o mais importante é o hacker hackear através do curl ou post script, mas não usar minha máquina
Responder1
dado este código, parece ser uma tentativa automatizada de tentar padrões comuns para injeção de sql. é por isso que há um uso intensivo da CPU. Não significa que o ataque seja bem-sucedido neste nível.
Você notou dados corrompidos em seu banco de dados ou notou um comportamento estranho em seu aplicativo php?
Para evitar isso:
verifique em seu aplicativo php como o sql é gerenciado em seu código php. NUNCA permita que o código php manipule diretamente comandos SQL. Use funções e limpe seus URLs e formulário POST. Se for o caso, você pode relaxar.
Encontre uma maneira de colocar esse tipo de atividade na lista negra. Quero dizer, um software que verifica seus logs e bloqueia o IP. Instale um IDS como o SNORT por exemplo.
Uma solução simples seria instalar artilharia. É um honeypot simples que coloca na lista negra tentativas automatizadas com base em portas falsas. Você pode encontrar um bom tutorial emhttps://www.digitalocean.com/community/tutorials/how-to-set-up-an-artillery-honeypot-on-an-ubuntu-vpse o repositório de artilharia emhttps://github.com/trustedsec/artillery. Usei esta solução para alguns clientes, é eficaz e simples.