Steve Milner é um analista de segurança da informação da Carolina do Norte. Ele usa o Fedora para auditoria de aplicações web, em questões de segurança. Steve caminha leva-nos através de algumas grandes aplicações no Fedora para análise de segurança e tem algumas dicas para também manter os seus sistemas seguros!
Em todo o EUA. Actualmente vive em Raleigh.
Analista/Desenvolvedor de Segurança.
Ashcrow. Quando estava no ensino médio realmente gostei do The Crow. Usar muitas referências a Crow em diferentes nicks no meu IRC, mas ashcrow foi com o que acabei por ficar.
A minha primeira utilização do Fedora foi o Fedora Core 2. Naquela época, era um utilizador de Debian muito duro. Uma vez que no passado tinha usado o Red Hat Linux, decidi dar o Fedora Core 2 uma hipótese. Sinceramente, pensei que o Fedora Core 2 estava OK no momento, mas o Fedora Core 3 impressionou-me tanto que resolvi colocá-lo na máquina dos meus pais. A minha mãe gostou muito!
A ler código. No secundário eu era muito interessado no código, mas a maioria dos livros de programação eram de certa maneira muito caros para mim. Lembro-me de uma cópia de um livro de C velho em meados dos anos 90 que trazia uma disquete de 5 1/4, que me ensinou um pouco. A melhor coisa que me ensinou a codificar foi a ver programadores de código aberto a trabalhar. A partir daí comecei a escrever código e enviar correcções para projectos e acabei por ser contratado por uma pequena, na altura, empresa de desenvolvimento de aplicações web, em Orlando, Flórida.
Em resumo a auditoria de segurança é a procura de problemas de segurança numa aplicação ou sistema. Depois de encontrados os problemas, são registados e trazidos para programadores com informações sobre como corrigir os problemas. Primeiramente faço auditorias de segurança de aplicações da web e pentests (testes de penetração).
A primeira linha de problemas que procuro são os mesmos listados no OWASP Top Ten . Dos 10 listados, começo a procurar o que acho ser o mais comum: injeções, cross-site scripting, falsificações de pedidos de cross-site e redireccionamentos inválidos. Depois de olhar para o mais comum, começo a olhar mais profundamente para a aplicação para encontrar problemas de lógica, mensagens de erro, etc. o que irá ajudar a descobrir outros problemas de segurança.
Nmap, Ratproxy e Python.
Ao fazer uma auditoria é importante ser capaz de escrever ataques rápidos como prova de conceito. Python tem uma infinidade de módulos que fazem ataques fazendo de ataques POC uma alegria. Para listar algumas:
Ipython e bpython também são grandes ambientes de codificação à medida (code-as-you-go) para tentar variações rápidas de ataques POC. Utilizando módulos Python, bem como ferramentas de segurança em geral controladas por Python, facilmente tornam a linguagem de programação uma ferramenta indispensável.
Nmap (http://nmap.org/) is a network exploration tool. Nmap scans a host or set of hosts and responds back with information. It is commonly used as a general portscanner.
O Nmap pode encontrar ou analisar praticamente qualquer máquina na rede. No passado usei-o, também, para fazer análises a máquinas com base em Windows ou Mac OS X.
Uso o Nmap como uma parte da minha auditorias junto com scripts NSE (motor de script do Nmap) das quais a maioria vêm directamente do próprio projecto Nmap. Costumo usá-lo para verificar o estado das firewall, serviços abertos de um sistema juntamente com as versões dos ditos serviços. Ele ajuda a obter uma base de conhecimento.
Ratproxy (http://code.google.com/p/ratproxy/) is a passive web application auditing proxy. It sits between your browser and the web application you are auditing and records information as you move through the site. It can analyze most any web application no matter what OS it's running on. Since Ratproxy is passive it can be used with ajax applications.
Eu uso uma máquina com dois/três monitores configurados com o GNOME e o synergy. Estou realmente ansioso que a Shell do GNOME seja considerada estável. Uso-a nas minhas próprias máquinas e adoro-o! Se puder, tento correr quase tudo através do terminal. Acho que o uso de aplicações de terminal muito mais fáceis, especialmente desde que eu possa executá-las através de byobu/ecrã.
Encadeando um redireccionamento inválido e um pedido cruzado falsificado a sítios vislumbrei uma ligação que faz o seguinte:
Não confie nos seus utilizadores! Deve escrever código com a expectativa de que haverá pelo menos um utilizador mal-intencionado que não parará de tentar encontrar problemas na sua aplicação.
Não se esqueçam do básico! Mantenha o sistema actualizado, use regras de firewall sensatas (e use a firewall), desactive os serviços que não precisa e use senhas sensatas.