Invasão OJS (2.4.8.1)

Prezados bom dia,

recentemente sofremos algumas tentativas de invasao. Neste fim de semana tentaram novamente e conseguiram.
Nosso sistema é o 2.4.8.1, fizemos alguns procedimentos para tentar solucionar, mas não estamos conseguindo resolver. Temos o CPATCHA ativo, desativação de arquivos executaveis (exe, html e outros).

Agradecemos a ajuda.

@Elisabete,

diversas podem ser as causas que permitiram essa invasao, e a distância eh dificil inferir qual… é provavel que a vulnarebilidade tenha sido causada por uma falha na configuração do sistema OJS ou do ambiente em que ele esta sendo executado

poderia informar qual a configuração do seu servidor? (SO, web server, versao PHP)

qual o caminho para a pasta de arquivos de upload do OJS, definido na diretiva files_dir do arquivo config.inc.php. ?

verifique se as pemissoes dos arquivos da aplicação OJS não sao do tipo “777”, que permitiriam qualquer usuário gravar modificações.

verifique tambem se as permissoes da pasta public, cache e a indicada em ‘files_dir’, tb nao são 777 mas que o proprietário da pasta seja do processo que executa o webserver.

att.,

Oi Ronnie,

O SO é Linux, com Apache2 e PHP5.
a permissão da pasta files é rw como solicitada na lista dos itens para instalação.
A pasta fica fora do Documentroot dessa aplicação.
O caminho da diretiva é files_dir = …/files a permissão é de leitura e escrita.
Todo o restante da aplicação é 755, que é como vem quando baixamos.

@mazlum, pelo endereço da revista, aparentemente a pasta files estava acessível pela Web (uma pasta acima de onde o OJS foi instalado). Você pode verificar pelos logs do Apache se houve acesso direto a arquivos desta pasta?

ex.: http://pfb.cnpf.embrapa.br/files/caminhoDeUmArquivoPontoPHP/phtml/etc

Talvez esteja aí a origem da invasão.

1 curtida

teoricamente se esta fora da DocumentRoot não deveria ter acontecido, mas como @Diego_Abadan comentou, pode ser que não estava…

basicamento o ‘ataque’ clássico exige que alguem se cadastre no OJS, envie um aquivo e execute ele chamando diretamente dentro da pasta files… entao verifique os usuarios que estao no seu OJS, se entre os ultimos tem algum ‘estranho’, com email fake ou origem desconhecida. os logs do apache devem dar alguma pista tb

Prezada Elisabete,

Também fui recentemente atacado!!! Administro vários sistemas OJS e a solução é simples.

1 Passo: Identifique a alteração do arquivo index.php da raiz do sistema para essa página que informa o ateque e que você vai encontrar em todos os diretório de primeiro nível do sistema.

Resolução: Pegue um arquivo index.php de um backup antivo ou do instalador da sua versão. Em seguida você precisa excluir esse “index.php” de todos os diretórios… antes de remover, confira que é mesmo o arquivo que o “script kid”, isto é, o invavor colocou no seu OJS.

2 Passo: Acerte a permissão dos arquivos do sistema para:

chmod -R 755 revista
chmod -R 777 revista/cache
chmod -R 777 revista/public

3 Passo: Inclua um arquivo .htaccess na raiz do sistema com o seguinte conteúdo.
*########################
*#### Acesso restrito!
order deny,allow
deny from all
allow from 192.168.0.1/24
*######################

Isso vai garantir que as permissões para qualquer tarefa, só poderão ocorrer do seu servidor.

Enfim, não passa de um Script Kid, não se assuste pois essa invasão só ocorreu por um descuido de permissão de diretórios no OJS.

A permissão 777 não é segura para ambientes de produção.

@fabiomac muito obrigada.

Posso então aplicar a permissão 755 para toda a pasta da revista? É que não instalei a ferramenta e vi que tem pasta com permissões internas diferente.

a meu ver é mais adequado mudar o ‘owner’ da pasta do que as permissoes dela.

no ubuntu/apache costumo usar chown -R www-data:www-data <caminho da pasta de arquivos>

cabe ressaltar que o <caminho da pasta de arquivos> deve ser um diretorio fora da area acessivel diretamente da web, para que arquivo intermediarios do processo editorial nao sejam descobertos pelo google e publicados indevidamente

A invasão é facilitada quando a pasta files está dentro da pasta public. Mova a pasta files para a raiz e mantenha as permissões 755. Após isso, altere o endereço da pasta files no config.php.
As invasões não ocorrerão mais.
Essa configuração é recomendada para todas as versões do OJS.