Infelizmente, não existe um script que eu já tenha visto que possa ser executado no modo de aprendizado ou no modo passivo registrando todo o uso da rede, obtendo seus resultados e gerando um firewall real usando iptables
seus logs.
Sua melhor aposta será começar de maneira simples e continuar adicionando várias peças à medida que você começa a entender completamente quais serviços seu sistema está fornecendo. Você precisará usar ferramentas como netstat
para ver quais portas estão em uso para os vários serviços que você hospeda, bem como quais endereços IP estão acessando.
$ sudo netstat -tlpn
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 26292/sendmail
tcp 0 0 0.0.0.0:890 0.0.0.0:* LISTEN 26149/ypbind
tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN 26321/smbd
tcp 0 0 127.0.0.1:2207 0.0.0.0:* LISTEN 26226/python
tcp 0 0 127.0.0.1:2208 0.0.0.0:* LISTEN 26221/./hpiod
tcp 0 0 127.0.0.1:199 0.0.0.0:* LISTEN 26237/snmpd
tcp 0 0 0.0.0.0:809 0.0.0.0:* LISTEN 26067/rpc.statd
tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN 26321/smbd
tcp 0 0 0.0.0.0:587 0.0.0.0:* LISTEN 26292/sendmail
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 26038/portmap
tcp 0 0 0.0.0.0:35604 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 26249/sshd
tcp 0 0 0.0.0.0:631 0.0.0.0:* LISTEN 26257/cupsd
tcp 0 0 :::22 :::* LISTEN 26249/sshd
tcp 0 0 :::631 :::* LISTEN 26257/cupsd
NOTA: No exemplo acima, você pode ver quais serviços eu tenho executando em um servidor que está aceitando conexões TCP, ou seja, eles estão "ouvindo" conexões em várias portas.
É muito fácil começar com coisas como SSH (porta 22) e HTTP (porta 80), se forem típicas do seu sistema, então eu faria esses tipos de serviços em massa de uma só vez. Para outros serviços, como LDAP ou NIS, você pode executá-los de maneira mais controlada, certificando-se de que as coisas não quebrem ao apresentá-los.
Ferramentas como FireHOL , Firewall Builder (fwbuilder) e eztables podem ser úteis ao atacar este projeto, pois fornecem uma boa camada de abstração por ter que criar iptable
regras personalizadas manualmente, o que pode ser complicado.
FireHOL
O FireHOL é uma linguagem (e um programa para executá-lo) que cria firewalls seguros e com estado de qualquer complexidade, de configurações fáceis de entender e legíveis por humanos.
exemplo
transparent_squid 8080 "squid root" inface eth0
interface eth0 mylan
policy accept
interface ppp+ internet
server smtp accept
server http accept
server ftp accept
server ssh accept src example.firehol.org
client all accept
router mylan2internet inface eth0 outface ppp+
masquerade
route all accept
fwbuilder
O Fwbuilder é uma ferramenta gráfica exclusiva de firewall que permite ao usuário criar objetos e, em seguida, arrastar e soltar esses objetos nos firewalls, para criar um poderoso sistema de segurança para um único PC ou uma rede de PCs. O Fwbuilder suporta uma ampla gama de firewalls (Cisco ASA / PIX, tabelas de ip do Linux, ipfilter do FreeBSD, pf do OpenBSD e mais), para que suas regras possam ser implementadas em várias plataformas. Vamos dar uma olhada no uso do Fwbuilder no Linux, que pode se tornar um caso ao longo da vida com um poderoso sistema de segurança.
exemplo
eztables
O Eztables permite que você configure rapidamente um firewall sem nunca tocar no iptables. A sintaxe da regra de firewall foi projetada para ser fácil de ler e aplicar.
É assim que você permite que toda a Internet acesse seu servidor na porta TCP 80:
allow_in any $eth0 any 80/tcp
O Eztables foi projetado para ser simples, mas poderoso. Não importa se você deseja proteger seu laptop, está configurando um roteador doméstico ou criando um firewall da empresa.
Usando Fail2Ban
Com um iptables
firewall rudimentar instalado, você provavelmente desejará complementá-lo usando uma ferramenta como o Fail2Ban .
excerto
O Fail2ban verifica os arquivos de log (por exemplo, / var / log / apache / error_log) e bane os IPs que mostram os sinais maliciosos - muitas falhas de senha, buscas por explorações, etc. Geralmente, o Fail2Ban é usado para atualizar as regras de firewall para rejeitar os endereços IP. por um período especificado, embora qualquer outra ação arbitrária (por exemplo, o envio de um email) também possa ser configurada. Fora da caixa O Fail2Ban vem com filtros para vários serviços (apache, courier, ssh, etc).
O uso de ferramentas como essa ajudará a limitar a exposição que seu sistema terá de suportar à medida que você continuar a fortalecê-lo. Mesmo depois de estar convencido de que seu sistema foi reforçado, você ainda pode continuar usando o Fail2Ban como parte de suas medidas de segurança.
Referências