Arquivo da categoria: FreeBSD

Critical upgrade OpenSSL 1.0.1 in FreeBSD – Hearthbeat

Upgrade your ports

# portsnap fetch update

then edit /etc/make.conf and add (or uncomment) a line:

WITH_OPENSSL_PORT=yes

# cd /usr/ports/security/openssl # make install clean

If instalation fails, you need to do a deinstall or a reinstall to force:

# make deinstall && make install clean

or

# make reinstall

#FreeBSD #OpenSSL #Secinf #Seginfo

Criando partição FreeBSD usando Gpart

Bom, a motivação para criação deste post foi uma pequena dificuldade que tive na inclusão de uma nova partição em um disco já existente no FreeBSD. Podemos então questionar qual a dificuldade encontrada quando se tem tantas ferramentas úteis e de fácil utilização pelo sysinstall do FreeBSD. Aí é que entra o problema: De alguma forma o Fdisk e o Disk Label do sysinstall (que por sinal também podem ser executados somente com o sade) não conseguia salvar a nova partição no disco.

Vejamos o seguinte cenário:

  • Utilizo um firewall para controle de banda, fluxo.
  • Este mesmo firewall está instalado em uma máquina Dell com o ESXi Hyper 5.0.0 e o FreeBSD 8.3
  • Inicialmente o disco estava definido para apenas 8Gb em modo Thick
  • Houve a necessidade de atualizar os ports do sistema e o espaço em disco foi insuficiente Continuar lendo

P. Como eu adiciono um usuário em um grupo no FreeBSD?

R. Você pode usar o comando pw. O utilitário pw é um editor de linha de comando para os arquivos de usuarios e grupos, que permite o root uma maneira mais fácil de adicionar, modificar e remover usuários.

Tarefa: Adicionando um usuário já existente

Você gostaria de adicionar o usuário tom já existente a um grupo secundário chamado ftpusers. Digite o comando abaixo:
# pw usermod tom -G ftpusers

Você pode adicionar tom a um grupo secundário como sendo ftpuser e wwwusers:
# pw usermod tom -G ftpusers,wwwusers

A opção -G configura os grupos padrões na qual novos usuários serão adicionados como membros.

Tarefa: Adicionar um novo usuário ao grupo

Adiciona o usuário jerry ao sistema e ao grupo secundário sales:
# pw useradd jerry -G sales
# passwd jerry

O comando passwd muda a senha do usuário

Adicionando Espaço de Swap no FreeBSD

Não importa a forma que você planeje a instalação do seu sistema, que ela seja tão bem quanto você pensa, algumas vezes um sistema não funciona como é esperado. Se você acha que precisa de mais espaço de swap, é muito simples de adicioná-lo no seu sistema FreeBSD. Existem três maneiras de aumentar o espaço de swap: Adicionando um novo HD, habilitando swap sobre uma NFS, e criando um arquivo de swap em uma partição existente

Caso você necessite de colocar um novo Hard Drive para usar como swap, releia a Seção 11.2 do Hanbook FreeBSD para mais instruções.

Criar um swap utilizando de recursos NFS só é recomendado se você não possui um Hard Disco local para tal finalidade; O swap por NFS também será limitado pela quantidade de banda disponível na rede e adiciona uma carga de processamento ao servidor de NFS.

Swapfiles

Você pode criar um arquivo de um tamanho específico para utilizar como um arquivo de swap. Em nosso exemplo aqui iremos utilizar um arquivo de 64MB chamado /usr/swap0. Você pode usar qualquer nome que desejar, claro.

Criando um arquivo de Swap

1.

Verifique antes se a configuração de seu kernel inclui o driver de disco de memória (md(4)). Este drivere instalado por padrão no kernel GENERIC.

device md # Memory “disks”

2.

Crie o arquivo de swap (/usr/swap0):

# dd if=/dev/zero of=/usr/swap0 bs=1024k count=64

3.

Configure as permissões em (/usr/swap0):

# chmod 0600 /usr/swap0

4.

Habilite o arquivo de swap file no /etc/rc.conf:

swapfile=”/usr/swap0″ # Set to name of swapfile if aux swapfile desired.

5.

Reinicie a máquina ou habilite o arquivo imediatamente digitando o comando abaixo:

# mdconfig -a -t vnode -f /usr/swap0 -u 0 && swapon /dev/md0

Traduzido por Mundonix do HandBook FreeBSD

Testando conectividade com Fping

Exemplo simples de uso:

$ fping router

A saída seria Router is Alive caso a resposta do servidor testado fosse OK.
Informática - Submarino.com.br

Você também pode ler uma lista de servidores ou hosts a testar de um arquivo. A opção -f só pode ser usada pelo usuário root. Usuários regulares devem utilizar um túnel no arquivo via redirect pelo stdin. Por exemplo, ler todos os nomes de host do arquivo ~/.ping.conf

$ fping < ~/.ping.conf

Você também pode usar a máscara de rede para fazer o teste em uma rede inteira. Por exemplo, pingando a classe C 192.168.1.x :

$ fping -g 192.168.1.0/24

ou

$ fping -g 192.168.1.0 192.168.1.255

Script de exemplo que manda um email se um host não está respondendo:

#!/bin/bash
HOSTS="router sun printer laptop sony-laptop xbox backup-server"
DLIST=""
for h in $HOSTS
do
  fping -u $h >& /dev/null
  if [ $? -ne 0 ]; then
          echo ${h} host is down send email
          # mail -s "Host ${h} down" admin@you.com </dev/null
  fi
done


Compilando Kernel do FreeBSD (Método “Novo”)

Depois de ter algumas dificuldades na compilação do kernel do FreeBSD por conta de erros na execução, resolvi mudar minha maneira de como fazê-lo não utilizando mais o modo antigo (config <KERNEL> && make depend && make && make install) e utilizando o modo build global para evitar qualquer tipo de erro na compilação.

O primeiro passo, claro, é verificar se existe o source do kernel instalado na máquina em /usr/src/sys

Caso não exista, a maneira mais fácil de instalar é usando o sysinstall escolhendo a opção Configure->Distributions, depois src então base e sys.

Uma vez instalado o source do kernel, já é possível então criar seu kernel manualmente apenas fazendo uma cópia de algum exemplo já instalado junto com o source em /usr/src/sys/i386/conf, e depois modificando o mesmo para adaptar-se ao nosso sistema (Eu utilizo uma cópia do GENERIC).

Depois de pronto, agora é só compilar o kernel utilizando o novo método de compilação:

1. Mude o diretório para /usr/src

# cd /usr/src

2. Compile o kernel

# make buildkernel KERNCONF=KERNELNOVO    (KERNELNOVO deve ser modificado para o nome que você escolheu para seu novo kernel)

3. Instale seu novo kernel

# make installkernel KERNCONF=KERNELNOVO

4. Reinicie o sistema para carregar o novo kernel

# shutdown -r +0

Nota: É preciso ter toda a árvore de fontes (source) instalados para construir o novo kernel.

O novo kernel será copiado para o diretório /boot/kernel como /boot/kernel/kernel enquanto que o kernel antigo será movido para o diretório /boot/kernel.old/kernel

Compilando Kernel do FreeBSD (Método "Novo")

Depois de ter algumas dificuldades na compilação do kernel do FreeBSD por conta de erros na execução, resolvi mudar minha maneira de como fazê-lo não utilizando mais o modo antigo (config <KERNEL> && make depend && make && make install) e utilizando o modo build global para evitar qualquer tipo de erro na compilação.

O primeiro passo, claro, é verificar se existe o source do kernel instalado na máquina em /usr/src/sys

Caso não exista, a maneira mais fácil de instalar é usando o sysinstall escolhendo a opção Configure->Distributions, depois src então base e sys.

Continuar lendo

Apache Server Redirects Sem ModRewrite – Alguns exemplos

Você pode usar dentro do .htaccess (em configuração padrão) estes redirecionamentos, sem que necessite ter e habilitado o modrewrite do Apache server

Movendo para um arquivo

Redirect 301 /a/arquivo.html /b/arquivo.html

Redirecionar sua Home Page ou a raiz para um outro domínio

Redirect 301 / http://www.outro-dominio.com.br

Redirecionar um caminho para outro

RedirectMatch 301 /blog(.*) /$1

ou

RedirectMatch 301 /pasta/(.*) /pasta-antiga/$1

Redirecionar o seu site inteiro para um arquivo apenas

Este redirecionamento é útli para quando você por o site em manutenção, fazer com que qualquer página acessada seja redirecionado para uma pagina de aviso, ou informativo que está em manutenção.

RedirectMatch 302 ^/ /temporariamente-em-manutencao.html

Obs: o 302 informa que é um redirecionamento temporário, pois serve para que o robo dos site de busca( Google, Yahoo e outros) entenda que é temporário essa ação.

Montando um servidor PPPoE com autenticacao por radius + controle de volume de usuarios (Parte 4)

<!– @page { margin: 2cm } P { margin-bottom: 0.21cm } –>

4) Limitação de banda por IP
——————————

Essa parte do howto é opcional, so façaa se você quiser limitar banda por IP
ou classe de seus usuários.

Vamos pegar ainda o exemplo citado na secao 3 onde o usuário joao que tem
o IP 192.168.3.3, onde você quer limitar seu IP a 128k. Para isso use a
seguinte sintaxe com o ipfw:

# ipfw add 1 pipe 10 tcp from any to 192.168.3.3
# ipfw pipe 10 config bw 128Kbit/s

Agora caso queira limitar sua classe inteira:

# ipfw add 2 pipe 11 tcp from any to 192.168.3.0/24

# ipfw pipe 11 config bw 128Kbit/s

Agora caso queira limitar a entrada e saida de trafego ou seja o
download/upload da rede faca o seguinte:

# ipfw add 4 pipe 13 tcp from 192.168.3.0/24 to any out
# ipfw add 5 pipe 14 tcp from any to 192.168.3.0/24 in
# ipfw pipe 13 config bw 128Kbit/s
# ipfw pipe 14 config bw 128Kbit/s

Substitua os valores acima ou o IP de acordo com sua necessidade.

Agora para que isso seja iniciado no boot coloque no arquivo
/etc/ipfw.rules ( que foi criado na secao 1) as seguintes regras:

/sbin/ipfw add 1 pipe 10 tcp from any to 192.168.3.3
/sbin/ipfw pipe 10 config bw 128Kbit/s

Nota: ou uma das regras acima citada nos exemplos que melhor lhe
satisfazer.

salve o arquivo e pronto, quando sua maquina for rebootada as configura coes
ja serão setadas automaticamente.

Montando um servidor PPPoE com autenticacao por radius + controle de volume de usuarios (Parte 2)

<!– @page { margin: 2cm } P { margin-bottom: 0.21cm } –>

2) Montagem do radius
———————-

O Radius fara a autenticação dos seus usuários, aqui usaremos o
radiusd-cistron versão 1.6.4 que pode ser pego em ftp://ftp.freeradius.org/pub/radius/ .

Copie o radiusd-cistron-1.6.4.tar.gz para /usr/ports/distfiles e depois
digite:

# cd /usr/ports/net/radiusd-cistron
# make install

Com isso o radius foi instalado, e também foi colocado automaticamente um
shell script em /usr/local/etc/rc.d para que ele seja iniciado no
boot do sistema. Agora vamos configurar o radius.

Os arquivos de configuração dele são instalados por default em
/usr/local/etc/raadb .

Edite o arquivo clientes e coloque o seu IP da placa de rede e a “key”
por ex:

# Client Name Key
#—————- ———-
#portmaster1.isp.com testing123
#portmaster2.isp.com testing123
#proxyradius.isp2.com TheirKey
192.168.1.1 teste

Agora edite o arquivo naslist e coloque seu IP o nome da maquina e o tipo.
Os tipos válidos são: “livingston”, “cisco”, “multitech”, “computone”,
“max40xx”, “portslave”, “tc”, “pathras”, “usrhiper”, “other”.

Por ex:
# NAS Name Short Name Type
#—————- ———- —-
192.168.1.1 falcao other

Agora edite o arquivo mais importante que eh o users , eh nele que ficam
todos os seus usuários que serão autenticados no radius. Coloque nele as
seguintes linhas:

# essa primeira linha deve ser padrão, ela deve ser colocada no arquivo

DEFAULT Framed-Protocol = PPP
Simultaneous-Use = 1,
Fall-Through = Yes

# substitua “LOGIN” pelo login do seu usuário, “SENHA” pela senha do seu
# usuário e “IP” pelo IP fixo que seu usuário sempre receberá quando
# conectar. O “IP” tem q ser dado pois ele eh fundamental para que mais
# pra frente seja limitado o volume de trafego por usuário.

LOGIN Framed-Protocol = PPP, Password = SENHA
Framed-IP-Address = IP,
Service-Type = Framed-User,
Framed-MTU = 1492,
Framed-Protocol = PPP,
Framed-Compression = Van-Jacobson-TCP-IP

# abaixo um exemplo de como ficaria:

joao Framed-Protocol = PPP, Password = abcd1234
Framed-IP-Address = 192.168.3.3,
Service-Type = Framed-User,
Framed-MTU = 1492,
Framed-Protocol = PPP,
Framed-Compression = Van-Jacobson-TCP-IP

Pronto, seu radius esta configurado. Rode-o com executando:

# radiusd -y

Eh importante salientar que o radius possui diversas outras configurações,
como: autenticação por grupo, liberação que mais de um usuario logue com o
mesmo login, entre outras coisas. Para isso aconselho que seja lida a
documentação, já que aqui estamos configurando somente o necessário para a
nossa solução.