Grupo de usuários OpenBSD-Pe

junho 27, 2007

Criando um Firewall OpenBSD utilizando PF

Filed under: firewall,openbsd — openbsdpe @ 2:37 pm

Pré-requisitos

O OpenBSD já deve esta instalado na máquina e as interfaces de ethernet 100%
funcionais. É viável que você já tenha bons conhecimentos em rotas e firewalls em outros sistemas ,como Linux e FreeBSD.

Cenário

Vamos adotar para o cenário Firewall em modo NAT que existem 2 placas de rede: nfe0 e sk0.
Respectivamente internet e rede local.

Firewall em modo NAT

Habilitando a passagem de pacotes

Para poder usar o firewall, é preciso que o servidor tenha capacidade
de funcionar como gateway.
Vamos editar o arquivo /etc/sysctl.conf e modificar a seguinte linha:

  net.inet.ip.forwarding=1

Isso é equivalente no Linux a: “echo 1 > /proc/sys/net/ipv4/ip_forward”

Refrências:

OpenBSD Faq

Arquivos de Configuração

No mínimo 2 configurações distintas são feitas num arquivo do pf: NATs e filtros.
Essas configurações devem aparecer na seguinte ordem:

  • opções
  • normalização
  • filas (controle de banda)
  • NAT
  • Filtros

2.2.1 /etc/pf.conf

Esse arquivo é normalmente utilizado para relacionar as regras do PF.
Se nada mais explícito for informado, esse arquivo será executado na inicialização do sistema.
Para iniciar o pf durante o boot, edite o arquivo /etc/rc.conf e modifique a linha referente ao pf para:

   pf=YES  # Packet filter / NAT

Ativando o firewall

Como dito anteriormente, é preciso ativar o pf depois de configurado.
Isso implica em colocar as regras no ar e ativar a funcionalidade.
Se você já alterou seu rc.conf e reiniciou a máquina, não é necessário ativar a funcionalidade.

Rodando as regras

  # pfctl -R
  # pfctl -N

A primeira linha faz com que as regras do firewall e as políticas
sejam lidas e a segunda ativa o nat.
Caso esteja usando outro arquivo com as regras que não o pf.conf, basta inserir a opção “-f” e o nome do arquivo.

Ativando o PF

  # pfctl -e

Agora suas regras estão no ar!

Sobre o autor

Richardson Edson de Lima, trabalha com Linux desde 2000, passando a ser usuário da distribuição Slackware. Não contente passou a trabalhar também com a família BSD e atualmente trabalha como System Administrator/ Network Security de um Centro de pesquisas avançadas de redes de computadores e realidade virtual.

Agradecimentos

Aos meus grandes amigos Guthemberg Silvestre e Rodrigo Germano,por estarem sempre me monstrando o quanto profissionais eles são.

Dica : pfctl comandos

Filed under: Uncategorized — openbsdpe @ 1:27 pm

Após o boot, a operação do PF pode ser feita usando o programa pfctl. Abaixo, exemplos de comandos:

      # pfctl -f /etc/pf.conf     Carrega o arquivo pf.conf
      # pfctl -nf /etc/pf.conf    Analisa o arquivo, mas não o carrega
      # pfctl -Nf /etc/pf.conf    Carrega apenas as regras NAT do arquivo

      # pfctl -Rf /etc/pf.conf    Carrega apenas as regras de filtragem do arquivo

     # pfctl -sn                 Mostra as regras de NAT
     # pfctl -sr                 Mostra as regras de filtragem

     # pfctl -ss                 Mostra a tabela de estado das conexões
     # pfctl -si                 Mostra status de filtragem e contadores
     # pfctl -sa                 Mostra TUDO o que pode ser mostrado

junho 25, 2007

Boot múltiplo com OpenBSD/i386

Filed under: openbsd — openbsdpe @ 12:05 pm

Boot múltiplo (multiboot) é ter diversos sistemas operacionais em um só computador, e meios de selecionar qual OS você irá inicializar. Isso não é uma tarefa trivial! Se você não compreender o que está fazendo, você pode perder grandes quantidades de dados do seu computador. Novos usuários do OpenBSD são incentivados fortemente a começar com um disco rígido sem dados em uma máquina dedicada, e então praticar as suas configurações em um sistema de testes antes de se aventurar em uma configuração multiboot em uma máquina em produção. FAQ 14 possui mais informações sobre o processo de boot do OpenBSD. Estão aqui diversas opções de multibooting:

Configurando partições ativas

Este é provavelmente o mais negligenciado, e, as vezes a melhor solução para multibooting. Simplesmente ative a partição que você esta usando atualmente se está for a do SO que você deseja carregar no próximo boot. Virtualmente todos os SO’s oferecem um programa para fazer isso; o do OpenBSD é o fdisk(8), programas similares existem para sistemas Windows 9x e DOS, e muitos outros sistemas operacionais. Isso pode ser altamente desejável para um SO que leve muito tempo para desligar ou reiniciar — você pode configurá-lo e iniciar o processo de reboot, de uma volta, pegue um copo de café e volte para o sistema inicializado do jeito que você queria — sem esperar pelo Momento Mágico de selecionar o próximo SO.

Disquete de Boot

Se você possui um sistema que não usa frequentemente o OpenBSD (ou não deseja que usuários deste computador notem qualquer mudança), considere ter um disquete de inicialização (boot floppy). Simplesmente use um dos Disquetes de inicialização padrão do OpenBSD, e crie o arquivo /etc/boot.conf (sim, você também terá que criar o diretório /etc no seu disquete) com o conteúdo:

	 boot hd0a:/bsd

para o caso de o sistema iniciar do disco rígido 0, partição OpenBSD ‘a’, arquivo do kernel /bsd. Note que você também pode dar boot de outros discos rígidos com uma linha como: “boot hd2a:/bsd” para dar boot do terceiro disco rígido do seu sistema. Para iniciar o OpenBSD, coloque seu disquete dentro do drive e reinicie a máquina. Para iniciar outro SO, retire o disquete do drive, então reinicie. Neste caso, o programa é carregado do disquete, boot(8) procura e lê /etc/boot.conf. A linha contendo “boot hd0a:/bsd” instrui o boot(8) de onde carregar o kernel — neste caso, o primeiro HD que a BIOS vê. Mantenha em mente, somente o pequeno arquivo (/boot) é carregado do disquete — o sistema carrega o kernel do disco rígido, assim isto adiciona somente 5 segundos ao processo de boot.

Windows NT/2000/XP NTLDR

Para multiboot do OpenBSD e Windows NT/2000/XP, você pode usar NTLDR, o carregador de boot que o NT usa. Para multi-boot com NT, você necessita de uma cópia da sua Partition Boot Record (PBR) do OpenBSD. Depois de executar installboot, você pode copiar o arquivo usando o dd(1):

	# dd if=/dev/rsd0a of=openbsd.pbr bs=512 count=1

Nota: Este é um bom momento para lembrá-lo para não digitar comandos segamente (sem saber o que eles fazem). O comando acima não funciona diretamente em muito computadores, ficando para o leitor adaptá-lo as suas necessidades. Agora inicie o NT e ponha openbsd.pbr em C:. adicione a linha assim como ela está aqui no final de C:\BOOT.INI:

	c:\openbsd.pbr="OpenBSD"

Quando você reinicar, você pode carregar o OpenBSD a partir do menu loader do NT. Há muito mais informação disponível sobre NTLDR em NTLDR Hacking Guide.

No Windows XP você pode editar as informações do boot usando uma interface gráfica (GUI); veja XP Boot.ini HOWTO.

Programas que fazem isso para você estão disponíveis, por exemplo BootPart. Este programa pode ser executado em Windows NT/2000/XP, ele buscará o OpenBSD PBR, e o colocará na sua partição NT/2000/XP, e o adicionará em C:\BOOT.INI

Note: O boot loader do Windows NT/2000/XP só é capaz de dar boot em sistemas operacionais que se encontram no primeiro disco rígido. Você não pode usar o boot loader do Windows para iniciar o OpenBSD de um disco secundário.

Diversas razões para usar sistemas de arquivos separados

Filed under: Uncategorized — openbsdpe @ 12:03 pm

Há diversas razões para usar sistemas de arquivos separados, em vez de colocar tudo em uma ou duas partições:

  • Segurança: Você pode marcar alguns sistemas de arquivos como ‘nosuid’, ‘nodev’, ‘noexec’, ‘readonly’, etc. Isto é agora feito pelo processo de instalação, de fato, se você usar as partições acima descritas.
  • Estabilidade: Um usuário, ou um programa qualquer, podem encher o sistema de arquivos com lixo se tiver permissões de escrever nele. Seus programas principais, que é claro rodam em diferentes partições, não sofrerão com isso.
  • Velocidade: Um sistema de arquivos que é muitas vezes escrito pode começar a ficar muito fragmentado. (Felizmente, o sistema de arquivos ffs, cujo OpenBSD usa, não tem tendência a fragmentação.)
  • Integridade: Se um sistema de arquivos se corromper por alguma razão os outros não serão afetados por isso e continuarão OK.
  • Tamanho: Muitas máquinas possuem limites de áreas no disco de onde a ROM pode carregar o kernel. Em alguns casos, este limite pode ser muito pequeno (504M para alguns 486 antigos), em outros casos, um limite muito maior (por exemplo, 2G, 8G, ou 128G em sistemas i386). Enquanto o kernel pode terminar acima em qualquer lugar da partição raiz, a partição inteira da raiz deve estar dentro desta área. Para mais detalhes, veja esta seção. Um bom guia vai dizer para você manter a sua partição / completamente abaixo de 2G, a menos que você soubesse que sua plataforma (e máquina particular) pode manipular mais (ou menos) do que isso.

Quais arquivos são necessários para a instalação??

Filed under: openbsd — openbsdpe @ 12:03 pm

Uma instalação completa do OpenBSD é dividida em um número separado de conjunto de arquivos. Nem todas as aplicações necessitarão de todos os arquivos. Aqui você tem uma visão geral de cada um:

  • bsd - Este é o kernel. Necessário
  • bsd.mp - Kernel Multi-processor (SMP) (somenete para algumas plataformas)
  • bsd.rd - RAM disk kernel
  • base41.tgz - Contém o sistema base do OpenBSD Necessário
  • etc41.tgz - Contém todos os arquivos de /etc Necessário
  • comp41.tgz - Contém o compilador e suas ferramentas, cabeçalhos (headers) e bibliotecas. Recomendado
  • man41.tgz – Contém as páginas de manuais Recomendando
  • misc41.tgz – Contém informações diversas, documentos de configuração
  • game41.tgz – Contém jogos para o OpenBSD
  • xbase41.tgz – Contém a base para instalar o X11
  • xetc41.tgz – Contém os arquivos de configurção /etc/X11 e /etc/fonts
  • xfont41.tgz – Contém a fonte do servidor X11 e fontes
  • xserv41.tgz – Contém o servidor X11
  • xshare41.tgz – Contém páginas de manuais, configurações locais, includes, etc. para o X

Os arquivos etc41.tgz e xetc41.tgz não são instalados como parte de uma atualização, somente como parte de uma instalação completa, assim nenhuma customização que você fizer será perdida. Você mesmo terá que atualizar manualmente seus diretórios /etc, /dev e /var. Se você não tem intenção de executar o X, todos os pacotes de terceiros que necessitam de bibliotecas gráficas precisam apenas do conjunto de arquivos xbase41.tgz, o resto do sistema X não é necessário.

Criando um CD-ROM

Filed under: openbsd — openbsdpe @ 12:02 pm

Você pode criar um CD-ROM usando o arquivo cd41.iso ou, no caso de plataformas i386, você pode usar também o cdrom41.fs como a imagem de inicialização por disquete que é usada para inicializar um sistema i386 do CD-ROM. Os detalhes exatos ficam por conta do leitor, que deve decidir que ferramentas usar para a criação do CD.

Algumas ferramentas do OpenBSD são:

Criando disquetes no Windows ou DOS

Filed under: openbsd — openbsdpe @ 12:01 pm

Esta seção descreve como gravar imagens de instalação em sistemas Windows ou DOS. Você pode pegar as ferramentas mencionadas abaixo no diretório tools em qualquer espelho FTP, ou do diretório 4.1/tools encontrado no CD1 do conjunto de CD’s do OpenBSD.

Para preparar o disquete no MS-DOS ou Windows, primeiramente use uma ferramenta nativa destes sistemas para formatar o disquete.

Para escrever a imagem de instalação no disquete preparado você pode usar rawrite, fdimage, or ntrw. rawrite não funciona em Windows NT, 2000 ou XP.

Note que FDIMAGE.EXE e RAWRITE.EXE são ambos aplicações MS-DOS, e limitam os nomes de arquivos segundo a convenção MS-DOS “8.3″. Um floppyB41.fs e floppyC41.fs possuem nome de arquivos longos, você terá que encontrar como seu sistema armazenou os arquivos em “formato 8.3″ antes de usar o FDIMAGE.EXE ou RAWRITE.EXE para criar seu disquete de inicialização.

Exemplo do uso do rawrite:

  C:\> rawrite
  RaWrite 1.2 - Write disk file to raw floppy diskette

  Enter source file name: floppy41.fs
  Enter destination drive: a
  Please insert a formatted diskette into drive A: and press -ENTER- : Enter

Exemplo de uso do fdimage:

  C:\> fdimage -q floppy41.fs a:

Exemplo de uso do ntrw:

  C:\> ntrw floppy41.fs a:
  3.5", 1.44MB, 512 bytes/sector
  bufsize is 9216
  1474560 bytes written

Criando disquetes no Unix

Filed under: openbsd — openbsdpe @ 12:01 pm

Para criar um disquete formatado, use o comando fdformat(1) tanto para formatar quanto para checar blocos defeituosos.

  # fdformat /dev/rfd0c
  Format 1440K floppy `/dev/rfd0c'? (y/n): y
  Processing VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV done.

Se a sua saída for parecida com a do exemplo acima, então o seu disco esta OK. No entanto, se a sua saída não for TUDO “V” então o seu disco pode estar com problemas, tente outra vez com um disco novo.

Note que sistemas Unix possuem diferentes comandos para formatar disquetes. Consulte a documentação do seu sistema para verificar o procedimento exato.

Se você já possui um disquete limpo e formatado, então é hora de escrever a imagem de instalação. Para isso, você pode usar o utilitário dd(1) Um exemplo de uso do dd(1):

  # dd if=floppy41.fs of=/dev/rfd0c bs=32k

Uma vez que a imagem foi escrita, verifique para ter certeza de que a imagem copiada é igual a original com o comando cmp(1) Se o disquete for igual a imagem original, você verá somente o prompt novamente.

  # cmp /dev/rfd0c floppy41.fs

Criando uma mídia de instalação do OpenBSD

Filed under: openbsd — openbsdpe @ 11:59 am

Como exemplo, nós olharemos as imagens de instalação disponíveis para as plataformas i386 e sparc.

A plataforma i386 possui seis imagens de disco separadas para instalação que podem ser escolhidas:

  • floppy41.fs (PC Desktop) suporte para várias placas de rede PCI e ISA, suporte a IDE e simples adaptadores SCSI e algumas placas PCMCIA. A maioria dos usuários usa esta imagem para iniciar a instalação a partir do disquete.
  • floppyB41.fs (Servidores) suporte para diversos controladores RAID e para alguns adaptadores SCSI menos comuns. No entanto, suporte para diversos adaptadores SCSI e muitas placas de rede EISA e ISA foram removidos.
  • floppyC41.fs (Laptops) suporte para diversos dispositivos CardBus e PCMCIA encontrados em muitos laptops.
  • cdrom41.fs é, em efeito uma combinação de todos os três discos de inicialização. Pode ser usado para fazer um disquete de inicialização de 2.88M, ou mais comumente, como a imagem de inicialização para um CD gravável customizado.
  • cd41.iso é uma imagem ISO9660 que pode ser usada para criar um CD inicializável na maiorias dos softwares de criação de CD-ROM’s na maioria das plataformas. Essa imagem é a que contém a maior seleção de drivers de dispositivos, e é usualmente a escolha mais recomendada se o seu hardware puder inicializaro a partir do CDROM.
  • cdemu41.iso é uma imagem ISO9660, usando inicialização “emulação de disquete”, usando a imagem de 2.88M, cdrom41.fs. Espera-se que poucos usuários necessitem desta imagem — a maioria deverá usar o cd41.iso, use somente o cdemu41.iso se o cd41.iso não funcionar.

Sim, existem situações em que pode ser necessário um disco para dar suporte a um adaptador SCSI e outro disco para suporte a sua placa de rede. Felizmente, isso é um evento raro, e na maioria das vezes pode ser contornado. A plataforma sparc possui três imagens de disco separadas para instalação que podem ser escolhidas:

  • floppy41.fs: Suporte para sistemas com disquete.
  • cd41.iso Uma imagem ISO usada para criar seu próprio CD para inicializar sistemas SPARC que possuem CD-ROM.
  • miniroot41.fs Pode ser escrito em uma partição swap e inicializado.

Lista de verificações antes da instalação

Filed under: openbsd — openbsdpe @ 11:58 am

Antes de você começar a instalação, você deve ter uma idéia do que precisa para terminá-la. Você deve conhecer pelo menos os seguintes itens abaixo.

  • Nome da máquina
  • Hardware instalado e disponível
    • Verifique a compatibilidade do seu hardware na página de compatibilidades
    • Se for ISA, você precisa saber configurar o seu hardware, e confirmar quando o OpenBSD as requerer.
  • Método de instalação a ser usado (CD-ROM, FTP, etc.)
  • Foi encontrado um erro sério, como o sistema será corrigido?
    • Se feito localmente, você necessitará ter espaço suficiente disponível para a árvore de fontes e para construí-la.
    • Senão, você precisará de acesso a outra máquina para construir um novo release.
  • Disposição desejada do disco
    • Existe a necessidade de os dados serem armazenados em outro local?
    • Você precisa que o OpenBSD co-exista com outro SO neste sistema? Se sim, como ambos serão carregados? Você precisará instalar um “gerenciador de boot/inicialização”?
    • Você deseja que o disco todo seja usado para o OpenBSD, ou deseja manter uma partição/SO existente (ou espaço para uso futuro)?
    • Como você deseja subparticionar o OpenBSD no seu disco?
  • Configurações de rede, se você não usa DHCP:
    • Nome de domínio
    • Endereço(s) do(s) Servidor(es) de Nomes (DNS)
    • Endereço IP e mascará de rede para cada placa de rede
    • Endereço do roteador (gateway)
  • Você pretende usar o sistema de janelas X?
Próxima Página »

Tema: Rubric. Blog no WordPress.com.

Seguir

Obtenha todo post novo entregue na sua caixa de entrada.