Você está na página 1de 8

CIBERNÉTICA

SEGURANÇA CIBERNÉTICA
RECOMENDAÇÃO DE BOAS PRÁTICAS DE CONFIGURAÇÃO APLICA-
DAS NO GERENCIADOR DE CONTEÚDO JOOMLA
Medidas protetivas aplicadas ao Servidor Web hospedando CMS Joomla 3.0
Apolonio Santiago da Silva Junior
Vinicius Melo Costa
Brasília-DF, 15 de maio de 2020.

RESUMO com separação entre design, programação e con-


teúdo, entregando a comunidade rapidez na na
O Joomla é um sistema de gestão de
produção de sites com flexibilidade, layout perso-
conteúdo (CMS) desenvolvido em php com
nalizável e custo reduzido. É possível implementar
banco de dados mysql tornou-se foco de
lojas virtuais, blogs, revistas online, portais de con-
ataques e isso faz com que os seus usuários
teúdo, jornais e diversos formatos permitindo login
passem a redobrar atenção nas questões de
de usuários, administração por perfil, edição e pu-
segurança, evitando a invasão e roubo de
blicação de conteúdo. Devido a todas essas carac-
informações, assim é necessário realizar
terísticas seu uso tem aumentado gradativamente
algumas configurações no servidor apache e
levando a possíveis ataques por vulnerabilidades
nos próprios arquivos de configuração do
de componentes, extensões e plug-ins. Dessa
Joomla. A partir da versão 3.0 o Joomla vem
forma surge a necessidade de implementar medi-
sofrendo constantes atualizações e
das de segurança que garantam a confidenciali-
implementação de novas funcionalidades e
dade das informações e a proteção de dados no
desenvolvimento voltado à internet móvel
servidor, sendo necessário seguir alguns passos
através de seus layouts responsivos atingindo
para implementar essas rotinas. (RAHMEL, 2010).
um público-alvo menos experientes através de
seu backend mais amigável.
PROBLEMA
No presente artigo vamos tratar de
Proteger um Servidor Web com CMS Joomla
alguns pontos que buscam deixar o Joomla mais
3.0 contra possíveis ameaças.
seguro contra invasões.

HIPÓTESE
Palavras chaves: apache, php, joomla, site, se-
É possível implementar segurança em um
gurança, servidor.
servidor web hospedando CMS Joomla versão 3.0
INTRODUÇÃO garantindo a segurança dos dados contra acessos
não autorizados, através de medidas protetivas.
O Joomla é um sistema livre open source
(licença GNU/GPL) de gestão de conteúdos de- OBJETIVO GERAL
senvolvido em linguagem de programação PHP
Demonstrar técnicas que implementam medi-
e com base de dados MySQL, executado em um
das protetivas de segurança em um Servidor Web
servidor que interpreta as requisições. Foi criado
hospedando o CMS Joomla versão 3.0 com 1.2 MEDIDA 2 - ESCONDENDO O META GE-
banco de dados MySQL. NERATOR
Essa estratégia de segurança no Joomla,
OBJETIVOS ESPECÍFICOS
escondendo o generator dificulta ao invasor
Implementar algumas medidas protetivas descobrir qual a tecnologia utilizada no
que garantam o mínimo de segurança aceitável desenvolvimento do site.
em um Servidor Web hospedando o CMS Jo- Ao pressionarmos as teclar CTRL + U,
omla, contra ataques de SQL Injection. podemos exibir o código fonte da página web e
assim identificarmos através da tag generator qual
JUSTIFICATIVA
a tecnologia empregada no desenvolvimento do
Considerando a quantidade de sites das web site, podemos ver na linha 10 da figura abaixo.
Organizações Militares do Exército Brasileiro e
os ataques que esses ambientes sofrem é ne- FIGURA 1 – Código Fonte de uma página Joomla
cessário traçar medidas de segurança que ga-
rantam a integridade desses sistemas, bus-
cando criar camadas de proteção em um Servi-
dor Web hospedando um CMS Joomla.
Fonte: o Autor.
1. METODOLOGIA Identificar o arquivo HeadHenderer.php que
Implementando 10 (dez) medidas proteti- encontra-se na no caminho
vas que adicionam uma camada de segurança libraries>src>Document>Html>Renderer>HeadRe
no ambiente Joomla. ndere.php e dentro desse arquivo é possível
comentar a linha que exibe o tipo de CMS utilizando
1.1 MEDIDA 1 - SISTEMA ATUALIZADO 2 barras na frente. Nesse caso a linha.
A falta de atualização é uma das formas // $buffer .=$tab. ‘’<meta name......
mais fáceis que os invasores encontram de
causar estrago no seu sistema. Ainda assim FIGURA 2 – Código Fonte da página headrenderer.php
muitos administradores parecem não estar
atentos a esses detalhes que vão além do CMS,
pois plug-ins de desenvolvedores
desconhecidos podem possuir brechas que
Fonte: o Autor.
permitem crackers realizarem ataques e
Esta alteração pode ser opcional se feita
injeções de código malicioso. A comunidade tem
através da instalação de um plugin chamado Aimy
se esforçado constantemente na publicação de
No Generator uma vez instalado não é preciso
correções de vulnerabilidades.
configurar. Pode ser feito download do plugin no
link:
https://www.aimy-extensions.com/joomla.html
FIGURA 3 – Plugin Aimy No Generator Transfer Protocol Secure), é fundamental para
reforçar a segurança do site. Isto permite-lhe
proteger o username e a password no momento de
efetuar o login, encriptando essa comunicação
(STALLINGS,2008).

1.5 MEDIDA 5 - UTILIZAÇÃO DE FIREWALL


Fonte: o Autor.
DE APLICAÇÃO WEB
Uma Firewall de Aplicações Web (WAF na

1.3 MEDIDA 3 - USO DO .HTACCESS sigla original em inglês) atua como um filtro que

FORNECIDO NA INSTALAÇÃO identifica e protege contra vulnerabilidades de

Ao final da instalação na raiz do site aplicações informáticas, evitando ataques de

existe o arquivo htaccess.txt, essa versão indisponibilidade de serviços, roubo de dados e

original do arquivo responsável pelas regras que fraude. Deste modo, garante o funcionamento

ajudam a mitigar os ataques comuns, bastando seguro do seu site.

renomeá-lo para “.htaccess” supondo que o


A utilização de uma Firewall de Aplica-
Joomla esteja instalado no diretório
ções Web garante, entre outras funcionalidades, a
/var/www/html/site, ficaria assim:
proteção contra spambots e contra-ataques de
# cd /var/www/html/site
força bruta, protegendo também contra ataques de
# mv htaccess.txt .htaccess
DDoS - estes são métodos de pirataria informática
Para isso o htaccess deve estar
que vão sendo usados, recorrentemente, em ata-
habilitado no apache, é necessário verificar a
ques a diferentes tipos de sites e organizações em
configuração do apache, na sessão
todo o mundo.
correspondente ao diretório do site, sendo que a
diretiva AllowOverride deve estar habilitado
1.6 MEDIDA 6 – VERIFICANDO VULNERABI-
conforme a seguir.(COUTINHO,2013)
LIDADES NO EXPLOIT-DB
<Directory "/var/www/html/site">
Muitos sites exibem notícias de invasão so-
AllowOverride All
bre servidores web entretanto podemos ver em fó-
(...)
runs dicas para se utilizar o site https://www.exploit-

1.4 MEDIDA 4 - INSTALAÇÃO DE UM db.com/ como uma das principais fontes para se

CERTIFICADO SSL obter informações mais recentes sobre possíveis

A instalação de um certificado SSL é falhas ou brechas. Como pode ser visto na figura

fundamental para criptografar e, abaixo em que temos algumas falhas que podem

consequentemente, proteger a comunicação ser exploradas em instalações que utilizam os com-

entre os visitantes e o seu site. Mesmo não ponentes com_fabric3.9.11, GMapFP3.30,

tendo sites de e-commerce, com sistemas de com_hdwplayser4.2.

pagamento, implementar um certificado SSL,


FIGURA 4 – Vulnerabilidades para Joomla
bem como um protocolo HTTPS (Hyper Text
http://site.com/artigo.html

1.8 MEDIDA 8 – USO DE CHAVE DE


ACESSO À URL DO ADMINISTRADOR
A url de acesso ao administrador do Joomla
é acessível de forma padrão permitindo inúmeras
tentativas de acesso ao formulário de login usando
scripts automatizados. Dessa forma, procura-se al-
terar essa url inibindo as tentativas de acesso utili-
zando o plugin AdminExile acessível na url:

Fonte: o Autor. https://extensions.joomla.org/extension/admine-


xile/ ou no próprio site do projeto https://www.ri-
1.7 MEDIDA 7 - “UTILIZAR cheyweb.com/software/joomla/plugins/1-admine-
MOD_REWRITE” E “ADICIONAR SUFIXO DE xile, uma vez realizado o download e feito a insta-
URL” NO APACHE lação no Joomla é possível configurar uma chave
Para implementar essa medida é de acesso à url que seria alterada da seguinte
necessário acessar “Configuração Global”. forma; de
Essas opções vão fazer com que a Url seja http://www.site.com.br/administrator para
reescrita antes do Joomla interpretar a http://www.site.com.br/administrator/?chaveacesso
solicitação. Isso dificulta ataques que utilizam a . Com essa chave de acesso podendo ser sendo
Url para passagem de parâmetros. Ressalta-se alterada de acordo com o planejamento do gestor
que o atacante pode “burlar” essa opção, ver figura 6.
“aprendendo” o padrão de reescrita da Url e FIGURA 5 – Plugin AdminExile no joomla.org
enviando os parâmetros maliciosos. Entretanto,
esse não é o comportamento padrão das
ferramentas que exploram vulnerabilidades.
A opção “Utilizar mod_rewrite” permiti
fazer com que o joomla “esconda” o “index.php”
da URL, dando a “impressão” de se tratar de um
site estático. Normalmente, as URLs são assim:
http://site.com/index.php/artigo
Após habilitar a opção “mod_rewrite”, Fonte: o Autor.
ficaria assim:
http://site.com/artigo
A opção “Adicionar sufixo de URL” faz
com que ele adicione um sufixo na URL baseado
no tipo do documento (normalmente html). A
URL passaria a ficar igual de um site estático:
FIGURA 6 – Plugin AdminExile instalado 1.10 MEDIDA 10 – ALTERAÇÃO DO USUÁRIO
DO MYSQL
Por padrão o usuário do mysql durante a
instalação do Joomla não é alterado. Dessa forma,
possui privilégios não necessários, como por
exemplo “INTO OUTFILE”, que permite salvar o
resultado do SELECT em um arquivo de texto,
acessando conteúdo não autorizado. Em um
possível ataque de SQL Injection, o invasor pode
usar desse privilégio para salvar um arquivo
malicioso no servidor.
Em uma instalação convencional, apenas
as permissões “SELECT”, “INSERT” e “UPDATE”
Fonte: o Autor. são mais que suficiêntes para o funcionamento do
site. Considerando que seu banco chame-se
1.9 MEDIDA 9 – PERMISSÕES DE ARQUI- “joomla”, você pode criar o usuário do joomla com
VOS NO SERVIDOR o comando abaixo (mysql):
Para garantir a integridade dos dados no
mysql> CREATE USER rondon@'host' IDENTI-
servidor, deseja-se que os arquivos tenha
FIED BY 'senha';;
acesso somente leitura e seja concedida
permissão de escrita somente aos arquivos de mysql> GRANT select, insert, update on joomla.*
log e caso esteja utilizando algum componente to 'rondon'@'host' ;
que faça upload de arquivos conceda permissão
CONCLUSÕES
somente na pasta específica. Considerando que
o usuário do apache seja “rondon”, e que o Foi possível perceber diante das medidas
joomla esteja instalado no diretório protetivas que muitos websites são configurados de
/var/www/site/, as permissões abaixo são forma padrão permitindo aos invasores realizarem
desejáveis, considerando um nível de acessos indevidos além de explorarem vulnerabili-
segurança.(CERON,2014). dades que são divulgadas em sites especializados
# chown -R usuario:rondon /var//www/html/site no assunto, percebe-se diante do trabalho apresen-
tado que algumas medidas padrão podem ser im-
# chmod 640 /var/www/html/site/*
plementadas com facilidade sem necessidade de
# chmod 770 /var/www/html/site/logs/* conhecimento técnico tão avançado como utiliza-
ção de senhas robustas, alteração de usuários pa-
drão dos sistemas, permissões mínimas para
acesso à diretórios, uso de extensões ou plugins
apenas de desenvolvedores conhecidos e apoia-
dos pela comunidade. É necessário também consi-
derar a correta implementação de regras de firewall
assim como utilização de certificado ssl que uti- STALLINGS, William. Criptografia e Segurança de
lizam uma camada de criptografia em grande Redes; Tradução Daniel Vieira; revisão técnica
parte das comunicações trocadas entre cliente e Graça Bressan, Ákio Barbosa e Marceo
servidor. Dessa forma, conclui-se que o trabalho Succi.4.ed.-São Paulo:Pearson Prentice Hall,
acrescenta medidas que podem auxiliar na pro- 2008.
teção do ativo no sentido de proteger e alertar HOGLUND, Greg. Como quebrar códigos: a arte de
para possíveis ataques que ocorrem constante- explorar (e proteger) software / Greg Hoglund, Gary
mente contra sites Joomla hospedados em ser- Macgraw; tradução Docware Traduções Técnicas;
vidores web. revisão técnica Luiz Gustavo C.Barbato, - São
ABSTRACT Paulo : Pearson Makron Books, 2006.
Joomla as a content management Dicas de Segurança em Joomla. Disponível em:
system (CMS) developed in php with a mysql <https://www.security.unicamp.br/blog/22-dicas-
database has become the focus of attacks and seguranca-joomla/>. Acesso em 5 de maio de
this causes its users to redouble their attention 2010.
on security issues, preventing invasion and theft
information, so it is necessary to make some Boas Práticas em Segurança para seu Web Site
settings on the Apache server and in the Joomla Joomla. Disponível em:
configuration files themselves. As of version 3.0, <https://www.turbosite.com.br/blog/boas-praticas-
Joomla has been undergoing constant updates de-seguranca-para-seu-website-joomla>. Acesso
and implementation of new features and em 9 de maio de 2010.
development aimed at the mobile internet
through its responsive layouts reaching a less Segurança tornando o Joomla mais seguro.
experienced target audience through its more Disponível em: <https://www.frhost.com.br/blog/
friendly backend. seguranca/seguranca-joomla-tornando-o-joomla-
mais-seguro>. Acesso em 10 de maio de 2010.
Index Terms – apache, php, joomla, website, se-
curity, server.
Dicas para aumentar segurança do site Joomla.
REFERÊNCIAS Disponível em:
RAHMEL, Dan. Dominando o Joomla! Do <https://www.growunder.com/pt/blog/joomla/221-
Iniciante ao Profissional. 2010. dicas-para-aumentar-seguranca-de-site-joomla>.
Acesso em 10 de maio de 2010.
COUTINHO, Júlio. Guia de Consulta
JOOMLA! 3 x. Rio de Janeiro: Editora AMCGue-
Link para download do plugin de segurança.
des, 2013.
Disponível em: <https://www.aimy-
CERON, M. João. Tratamento de Incidentes de
extensions.com/joomla.html>. Acesso em 11 de
Segurança. Rio de Janeiro: RNP/ESR, 2014 168
maio de 2010.
p.:il;27,5, ISBN 978-85-63630-46-9.
Verificando Vulnerabilidades para Joomla.
Disponível em: <https://www.exploit-db.com/>.
Acesso em 12 de maio de 2010.

O autor é bacharel em Administração pela Faculdade de


Ciências de Wenceslau Bras (FACIBRA). Possui especiali-
zação nas áreas de Programação Web. Concluiu com
aproveitamento o curso de Tecnólogo em Análise e Desen-
volvimento de Sistemas (UNIGRAN). É pós-graduado com
MBA Profissional em Engenharia de Sistemas. Atualmente,
exerce a função de monitor na Escola de Comunicações e
pode ser contactado pelo email santiago.junior@eb.mil.br.

O co-autor é acadêmico de Ciências Contábeis, pela Facul-


dade Estacio. Atualmente, exerce a função de monitor na
Escola de Comunicações e pode ser contactado pelo email
vinicius.melo@eb.mil.br.

Você também pode gostar