Usando o Firestarter

Por:
Usando o Firestarter

O Firestarter é um firewall gráfico, ao mesmo tempo bastante poderoso e fácil de usar. Ele é adequado para uso em desktops, onde é necessária uma forma simples de monitorar tentativas de conexão e abrir portas.

Ele tornou-se rapidamente uma opção bastante popular e passou a ser incluído nas principais distribuições. Você pode instalá-lo usando o gerenciador de pacotes (opção recomendada) ou baixar os pacotes disponíveis no http://www.fs-security.com/download.php.

Uma última opção é baixar o pacote com o código-fonte e compilá-lo manualmente. A instalação neste caso é feita descompactando o arquivo e rodando os comandos “./configure”, “make” e “make install”. A dificuldade neste caso é que você precisa ter os compiladores e a biblioteca de desenvolvimento do GTK instalados.

Ao abrir o Firestarter pela primeira vez, é aberto um assistente que pede algumas informações básicas sobre a configuração da rede e oferece opções para compartilhar a conexão e ativar o firewall sob demanda, ao conectar via modem ou ADSL PPPoE.

O compartilhamento de conexão cria um compartilhamento simples, via NAT, equivalente a usar os três comandos que vimos neste artigo:

https://www.hardware.com.br/artigos/firewall-iptables/

A única limitação é que o Firestarter não permite compartilhar usando uma única placa de rede, usando uma interface virtual. Nele é realmente necessário “fazer do jeito certo”, usando duas placas de rede.

Ao compartilhar a conexão, é necessário apenas indicar qual é a placa ligada à rede local.

gdh1
Estas configurações podem ser alteradas posteriormente no menu “Editar > Preferências”. Se a opção de Habilitar o servidor DHCP aparecer desativada na sua configuração, verifique se o pacote com o servidor DHCP (dhcp3-server, dhcp-server ou dhcp, dependendo da distribuição) está instalado. O Firestarter apenas altera a configuração de um servidor DHCP já instalado, ele não faz a instalação para você.

gdh2
Como o Firestarter precisa manipular as regras do iptables e configurar outros componentes do sistema, ele só pode ser executado como root. Em muitas distribuições, é adicionado um ícone no menu que executa o Firestarter através do gksu ou kdesu, pedindo a senha de root.

Por padrão, uma vez aberto, o Firestarter bloqueia todas as portas e loga todas as tentativas de conexão, uma configuração bastante segura.

Ainda na janela de configurações, verifique se a opção “Método de rejeição de pacotes preferido” está configurada como “Descartar silenciosamente”, em que é usada a política “DROP” do iptables, ao invés de “REJECT”, onde o emissor recebe resposta.

A opção “Tráfego de broadcast” se refere a todos os pacotes direcionados à rede, como por exemplo os pacotes usados por servidores Windows (e Samba) para mapear os compartilhamentos disponíveis na rede. Deixe sempre a opção “Block broadcasts from external network” (pacotes vindos da internet) habilitada. Caso esteja usando uma rede wireless, ou acessando através de uma rede de terceiros, marque também a opção para a rede local.

gdh3
Um dos recursos mais interessantes, e o principal diferencial com relação a outros projetos, é que ele transforma os logs de tentativas de acesso gerado pelo IPtables em avisos dentro da aba “eventos”. Quando uma nova tentativa de acesso é registrada, o ícone ao lado do relógio fica vermelho e você tem a opção de aceitar ou recusar a conexão. Na ilustração temos uma tentativa de acesso ao servidor SSH, que está habilitado na porta 22 a partir do host 192.168.1.2.
gdh4
gdh4-2
Usando a opção “Permitir serviço de entrada para a origem” faz com que daí em diante o host 192.168.1.2 possa acessar o SSH, sem disparar novamente o alarme. A opção “Permitir conexões a partir da origem” faz com que o 192.168.12 possa acessar qualquer serviço, em qualquer porta, sem disparar o alarme. Este segunda opção é interessante para micros da rede local.

Finalmente, a opção “Permitir serviço de entrada para todos” abre a porta do SSH para todo mundo, incluindo micros da internet. Esta deve ser usada com cautela.

Todas as regras adicionadas entram em vigor imediatamente e ficam acessíveis para modificação ou consulta na aba “Política”.

Você pode ir também direto ao ponto, abrindo as portas utilizadas por algum serviço em especial antes que o firewall bloqueie a conexão. Na interface principal, acesse a aba “Política”, clique com o botão direito sobre o quadro “Permitir serviço”, “Adicionar Regra”.

Já estão disponíveis regras prontas para vários serviços. Lembre-se de que é necessário abrir portas apenas quando você está rodando um servidor Samba, Postfix, SSH, etc., não é preciso abrir portas para acessar estes mesmos serviços como cliente. A única exceção importante para esta regra de ouro é o NFS, onde é preciso manter a porta 11 aberta (no cliente) para conseguir montar os compartilhamentos.

Note que além da opção para abrir para todo mundo, você pode abrir apenas para um endereço IP específico, ou para uma faixa de IPs, como em “192.168.1.0”.
gdh5
gdh5-2
Caso o compartilhamento da conexão esteja ativado, aparecerá mais uma seção dentro da aba “Política”, a “Serviço de encaminhamento”, que permite redirecionar portas de entrada para micros da rede local.

A configuração é similar à abertura de portas, mas agora, ao invés de especificar quais endereços terão acesso à porta aberta, você especifica qual micro da rede local receberá as conexões direcionadas a ela.

gdh6
Você pode acompanhar as conexões em uso através do campo “Conexões ativas”, na tela principal. Note que a lista inclui todas as conexões, tanto as conexões como cliente, contatando outros micros da rede ou internet, quanto as conexões como servidor, recebendo uma conexão a partir de fora.

Note que muitos programas abrem diversas conexões simultâneas, o Gaim (ou outro cliente de ICQ/MSN), por exemplo, abre uma conexão com o servidor principal, quando você fica online, e mais uma conexão para cada janela de conversa aberta.

Uma única instância do Bittorrent, por exemplo, pode chegar a abrir mais de 20 conexões, já que baixa e serve o arquivo para vários hosts simultaneamente. Preste atenção nas conexões em que o destino é seu próprio IP, pois elas indicam gente se conectando a servidores ativos na sua máquina.

gdh7
Caso o compartilhamento de conexão esteja ativo, a lista mostra todas as conexões, de todos os micros da rede local (ou seja, uma lista possivelmente bem grande). Isto pode ser usado para detectar micros que estão rodando programas que consomem muita banda, como programas P2P em geral, e tomar as providências necessárias, advertindo o usuário ou bloqueando as portas ou IPs das estações.

Para isso, acesse a aba “Política”. Mude a opção no botão “Edição” para “Política de tráfego de saída”. As opções agora permitem bloquear tráfego de dentro para fora, impedindo que determinados programas-clientes funcionem, ou que certos servidores ou sites sejam acessados.

Neste caso, existem duas abordagens. Você pode bloquear a porta usada pelo cliente, ou pode bloquear o acesso ao servidor a que ele se conecta.

Por exemplo, o MSN envia mensagens através da porta 1863 e se conecta ao servidor messenger.hotmail.com. Bloqueando qualquer um dos dois, o cliente já deixa de funcionar. Mas, para garantir, você bloqueia ambos. Existe ainda um cliente disponível via navegador, através da página http://webmessenger.msn.com, que você pode pode bloquear também.

O ICQ se conecta ao servidor login.icq.com, através da porta 5190. Assim como no caso do MSN, existe uma versão via navegador, disponível no site http://go.icq.com. Você pode bloquear as três coisas.

Na mesma tela é possível bloquear também sites específicos, incluindo domínio por domínio. A idéia aqui é bloquear páginas específicas onde os usuários estejam gastando muito tempo, ou páginas de conteúdo impróprio. Lembre-se de que:

1- Ao bloquear um domínio, os usuários ainda conseguirão acessar a página diretamente pelo IP; é necessário bloquear as duas coisas.

2- No caso de páginas de conteúdo impróprio, é mais prático usar um servidor Squid com o DansGuardian do que ficar tentando bloquear endereço por endereço no firewall.

3- Bloquear um domínio ou IP aqui vai bloquear o acesso de todos os protocolos (pop, smtp, ssh, ftp, etc.), não apenas http. Ou seja, significa realmente cortar relações. Caso você bloqueie o acesso ao IP de um servidor que hospeda vários sites, vai bloquear o acesso a todos eles.

gdh8
Veja que aqui estou usando a opção “Tolerante por padrão”, onde o firewall por padrão permite todo o tráfego de saída e você especifica manualmente o que bloquear. Você pode utilizar também o modo “Restrito por padrão”, onde o firewall bloqueia tudo, e você precisa ir abrindo uma a uma as portas que serão utilizadas. O mínimo neste caso é abrir as portas 53 (DNS), 80 (http) e 443 (https) para permitir o acesso à web básico e, a partir daí, ir abrindo um a um os demais protocolos necessários.

Uma vez ativado o firewall, as regras ficam ativas, mesmo que você feche a interface principal, mas você perde a possibilidade de monitorar as tentativas de acesso e aceitar conexões. O Firestarter fica residente na forma do serviço de sistema “firestarter”.

Você pode usar o comando “iptables -L”, que lista as regras de firewall ativas para comprovar isso.

Para realmente parar o firewall, você precisa reabrir a interface e clicar no “Parar firewall” ou usar o comando “/etc/init.d/firestarter stop”. Imagine que, ao contrário dos firewalls para Windows, o firewall em si é independente da interface.

Para que o firewall seja inicializado automaticamente durante o boot, é importante que o sistema esteja configurado para inicializar o serviço “firestarter” durante o boot. No Mandriva, você pode habilitá-lo no menu de serviços, dentro do Painel de Controle. No Fedora em outras distribuições derivadas do Red Hat, use o comando “chkconfig firestarter on” e, nas distribuições derivadas do Debian, use o comando “update-rc.d -f firestarter defaults“.

Uma ressalva é que, ao instalar a partir do código fonte, é preciso copiar manualmente o script “/etc/init.d/firestarter” para que ele trabalhe como um serviço de sistema. Dentro da árvore com o código-fonte, você encontra scripts para várias distribuições.

Você pode também configurar a interface do Firestarter para ficar residente, como um ícone do lado do relógio ao ser fechado no “Editar > Preferências > Interface > Minimizar para a bandeja ao fechar a janela”.

Mais um problema comum é a necessidade de fornecer a senha de root cada vez que a interface do Firestarter é aberta, um detalhe bastante chato.

Você pode eliminar essa necessidade utilizando o sudo para permitir que o seu usuário possa abrir o Firestarter como root, sem precisar fornecer a senha. Para isso, instale o pacote “sudo” que acompanha a distribuição em uso e adicione as seguintes linhas no final do arquivo “/etc/sudoers“:

usuário ALL= NOPASSWD: /usr/bin/firestarter
usuário ALL= NOPASSWD: /usr/sbin/firestarter

Substitua o “usuário” pelo login desejado. Note que coloquei duas linhas, pois em algumas distribuições o binário do Firestarter é instalado dentro da pasta “/usr/bin”, e em outras (Debian, por exemplo) na pasta “/usr/sbin”. Na verdade, você vai precisar de apenas uma delas.

Feito isso, você pode passar a inicializar o Firestarter usando o comando “sudo firestarter” ou “sudo firestarter –start-hidden” se preferir que ele já inicie minimizado ao lado do relógio.

Para que ele seja aberto automaticamente junto com o KDE, crie um arquivo de texto chamado “firestarter.desktop”, na pasta “.kde/Autostart/” dentro da sua pasta home, contendo o seguinte:

[Desktop Entry] Exec=sudo firestarter –start-hidden
Name=Firestarter
Type=Application

Todos os ícones de aplicativos colocados dentro desta pasta são executados durante a abertura do KDE. Você pode arrastar um ícone do menu para ela, usando o Konqueror, ou criando um arquivo de texto manualmente. Note que os ícones colocados dentro desta pasta contêm uma sintaxe especial e terminam com a extensão “.desktop”.

Sobre o Autor

Redes Sociais:

Deixe seu comentário

X