permissions

Como Tornar O Seu Website Seguro?

Na criação de um website, uma vez que não existe nenhum software onde se clica, como por exemplo um anti-vírus – para verificar se existe algum problema de risco / infecção – todos (excepto os que têm formação na área) pensam que o trabalho está feito apenas colocando o site activo, mas enganam-se redondamente. A [...]

Na criação de um website, uma vez que não existe nenhum software onde se clica, como por exemplo um anti-vírus – para verificar se existe algum problema de risco / infecção – todos (excepto os que têm formação na área) pensam que o trabalho está feito apenas colocando o site activo, mas enganam-se redondamente. A protecção do site em questão tem de ser contínua.

Com o aumento e não cessação das ameaças zero day, existem muitas soluções relativas à segurança que não são feitas, ou são esquecidas. Existe sempre uma primeira linha de defesa que deve ser configurada de modo a proteger o website quando se procura por uma segurança mais complexa para o site. Essa primeira linha passa pelos seguintes pontos:

1. Usar scripts de código aberto

O uso de scripts de código aberto é muito importante pois é minimizado o risco de um site ser alvo de hacker’s e spammer’s (quantos mais scripts de código fechado houver, maior / valiosa é a informação do site). Scripts de código aberto como Drupal, WordPress, Joomla, Mangento, etc, são bastantes fortes, ricos em funcionalidades e apoiados por milhões de coders para actualização e suporte. Em vez de se criar um script de raiz (a não ser que se saiba o que se está a fazer ou se tem uma equipa de desenvolvimento competente) utiliza-se os scripts de código aberto apontando-os para o nosso domínio.

2. Actualizar regularmente

É muito importante a actualização de todos os componentes que existem no site. Scripts, módulos, temas, etc, permitem a resolução de bugs existentes em versões anteriores e também a actualização / optimização do código utilizado. Quando uma nova actualização é lançada deve-se em primeiro obter alguma informação acerca.

3. Passwords fortes e difíceis de decifrar

As passwords devem ser constituídas por letras do alfabeto maiúsculas e minúsculas, números e símbolos, e não serem nomes de pessoas, animais, flores, jogos, clubes, bandas, etc. Deve haver uma mistura destas três categorias com pelo menos 10 caracteres.

4. Configurar a segurança do endereço de email do administrador

Manter o endereço de email administrador autenticado no webserver, CMS, base de dados, etc, afastado dos olhos do público. Usar sempre um endereço completamente diferente na página de contacto, evitando assim ser alvo de phising.

5. Adicionar um table prefix à base de dados



Se se usar um CMS, blog ou um script de forúm, é aconselhável modificar o default table prefix da base de dados. Desta forma evita-se que os hacker’s consigam aceder à base de dados e extrair toda a sua informação.

6. Proteger base de dados com password



Não é necessário definir uma password para a base de dados, pois o script continuará instalado, mas deixar um campo de uma password em branco, é um crime de desperdício de segurança adicional. Ter ou não password definida não irá atrasar o funcionamento das query’s, por isso não existe razão alguma para não se definir uma password para a base de dados.

7. Apagar a pasta de instalação



Feita a instalação não existe qualquer uso da pasta de instalação nas operações do dia-a-dia do website. Assim evita-se que um hacker consiga voltar a correr a instalação e sem problemas de maior esvaziar a base de dados e assumir o controlo do website e do seu conteúdo. É altamente recomendado remover a pasta de instalação após a instalação estar concluída, mas caso se conheça o caminho em torno do web server então pode-se renomeá-la.

8. Alterar permissões de pastas e ficheiros



Alguns scripts requerem permissão de livre trânsito, ou seja, permissão total para ler e escrever em determinada pasta / ficheiro. Esta permissão pode ser dada usando o código 777 em pastas vitais como config, admin, etc. Para colocar o código original, basta definir os códigos 755 para os ficheiros e 644 para as pastas. Permitir total acesso aos scripts de pastas e ficheiros, facilita a injecção de código malicioso no website.

9. Usar acesso seguro FTP

Se um web server ou ISP suportar acesso SFTP, é um mimo, pois pode-se fazer upload de ficheiros para o site em encriptação total. Ninguém, mas ninguém mesmo, consegue saber o que está a transferido do / para o web server.

10. Restringir acesso root

Nunca permitir acesso root para todos os utilizadores. Apenas restringir o acesso para as pastas non-system (no caso a pasta de upload FTP) que só devem ser acedidas pelo administrador ou um utilizador de confiança que a par do adiminstrador gere o website.

11. Confirmar a existência do ficheiro .htaccess

Os ficheiros .htaccess são muito usados para especificar restrições de segurança em relação a uma directoria em particular. Deve-se verificar sempre se o ficheiro está presente ou não, caso não esteja repô-lo.

12. Adicionar o ficheiro robots.txt

Este ficheiro proporciona instruções especiais para “restringir” acesso search engine spiders, como também, quais as pastas que têm ou não de ser indexadas. Pastas com documentos, imagens, etc, podem ser mantidas em segredo sem serem indexadas e tornadas públicas.

13. Usar plugins de segurança

Plataformas já bastante desenvolvidas têm sempre plugins para aproveitar a funcionalidade core do script. Deve-se procurar e instalar, sempre, plugins que ofereçam uma camada de segurança adicional.

14. Estar sempre actualizado

Deve-se estar sempre actualizado sobre vulnerabilidades, bugs e ataques na internet. Irá sempre haver uma espera de tempo para que os pacotes sejam lançados e essa informação irá dar uma ajuda na protecção de um website ou colocá-lo offline no caso de uma grande ameaça. Wired’s Threat Level e Kreb’s On Security são uma boa consulta de notícias.

15. Scripts Nulos e Temas

A pirataria de scripts comerciais é mais fácil que qualquer outra pirataria (ficheiros mais pequenos, ausência de uma chave específica, etc). Contudo, ao contrário do que sucede com software de desktop onde o antivírus utilizado elimina o malware escondido, não existe maneira alguma – nem os mais experientes programadores conseguem localizar por milhões de linhas de código se existe algum backdoor – de escapar a um backdoor. Um script nulled ou um tema com um backdoor assegura o hacker proporciona-lhe em primeira mão um servidor free para propagar spam pela internet (envio de email’s, etc).