Esta semana apareceu um bug de segurança complicado no Ubuntu Breezy. Depois de ler o post do Claudio Franco sobre o assunto, fui verificar o que se passava.
Bem, experimentem o seguinte comando:
grep -A 2 passwd /var/log/installer/cdebconf/questions.dat
Depois se calhar é melhor apagarem essas linhas do ficheiro… Digo eu.
O bug é só no Breezy. Tenho de fazer um script para apagar o ficheiro por rede… :/
Este funny post sobre emacs vs vim fez-me lembrar a minha evolução com editores de texto.
Edit — no tempo do DOS
↳Notepad — no tempo do Windows
↳pico — quando comecei a usar Solaris
↳emacs — quando programava C
↳pico/nano — Linux (ficheiros pequenos)
↺vim — depois de perceber o poder deste editor e de aprender a utilizá-lo. O único problema do vim é que não é nada trivial ao início, mas depois não se quer outra coisa!
Hoje em dia farto-me de escrever :q ou :wq mesmo quando não estou a usar o vim

:wq
Embora o tempo não abunde, aqui fica o primeiro de uma série de artigos que vou escrever sobre como configurar uma máquina para servir de firewall; gateway; servidor de ssh, sftp, ftp, web, mail, webmail, base de dados; e storage. O objectivo do artigo é explicar em termos mais ou menos simples como reutilizar uma máquina mais velhota para fazer algo de útil numa rede doméstica.
Primeiro há que arranjar um PC - um 486 com uma placa de rede, 64 MB de RAM e 2GB de disco são as configurações mínimas que recomendo. Depois há que escolher e instalar uma distribuição de Linux:
Slackware - é a minha distribuição favorita. Não é propriamente para rookies, mas é bastante leve!
Ubuntu - Debian based, é uma maravilha de manter/actualizar.
Gentoo - para quem quiser viver no bleeding edge, e com paciência paa compilar tudo
Mandrake, Fedora (antiga RedHat) - para beginners
Caixa Mágica - para os nacionalistas
Podem ver as principais distribuições no Distrowatch, se seguirem este link.
Aqui vou explicar os básicos de configuração no Slackware e Ubuntu. Algumas coisas serão diferentes noutras distribuições (sobretudo a parte de rede).
1. Domínio
Para arranjarem um nome pro vosso servidor podem ir por exemplo ao dyndns.org (ou a qualquer outro DNS provider). Abram uma conta e adicionem um host em Dynamic DNS. Escolham um nome e já está! Depois façam o download de um cliente que actualize automaticamente o DNS. Eu uso o ddclient. A sua configuração é simples:
cp ddclient /usr/sbin/
cp sample-etc_ddclient.conf /etc/ddclient.conf
pico /etc/ddclient.conf
No ficheiro de configuração as linhas importantes são as seguintes(substituam o q está entre «» com os vossos dados):
use=if, if=«interface_ligado_a_net, eth0 para Netcabo, ppp0 para ADSL»
login=«login» # default login
password=«pass» # default password
mx=«nome_do_servidor» # default MX
backupmx=yes # host is primary MX?
wildcard=yes # add wildcard CNAME?
##
## dyndns.org dynamic addresses
##
## (supports variables: wildcard,mx,backupmx)
##
server=members.dyndns.org, \
protocol=dyndns2 \
«nome_do_servidor»
2. Rede
No Slackware a configuração da rede é bastante simples.
Com o comando netconfig podem configurar o nome do vosso servidor e o vosso eth0. A configuração da rede em Ubuntu pode ser feita no ficheiro /etc/network/interfaces
2.1 Configuração típica Netcabo/Netvisão (modem ethernet)
no vosso rc.inet1.conf fica (Slackware):
# Config information for eth0:
IPADDR[0]=”"
NETMASK[0]=”"
USE_DHCP[0]=”yes”
DHCP_HOSTNAME[0]=”"
# Config information for eth1:
IPADDR[1]=”192.168.0.1″
NETMASK[1]=”255.255.255.0″
USE_DHCP[1]=”"
DHCP_HOSTNAME[1]=”"
ou Ubuntu : /etc/newtork/interfaces
(...)
# The primary network interface
iface eth0 inet dhcp
iface eth1 inet static
address 192.168.0.1
netmask 255.255.255.0
network 193.168.0.0
broadcast 192.168.0.255
# dns-* options are implemented by the resolvconf package, if installed
auto eth0
auto eth1
A vossa rede local vai ficar com os endereços 192.168.0.1/254
2.2 Configuração típica ADSL (modem USB)
Esta configuração é um pouco mais complicada que a anterior. Primeiro têm de ir buscar o driver para o vosso modem:
Siemens Santis - flashtux
Speedtouch - linux-usb.sourceforge.net/SpeedTouch/
Depois sigam as instruções de instalação.
2.3 IPTABLES
Para que o exista partilha de internet, é necessário que o vosso servidor tenha regras de iptables.
Criem o ficheiro /etc/rc.d/rc.firewall se usam Slackware, /etc/init.d/firewall.sh se usam o Ubuntu:
$external=«eth0 ou ppp0, consoante Netcabo/ADSL ou ADSL USB respectivamente»
$internal=«eth1 ou eth0, consoante Netcabo/ADSL ou ADSL USB respectivamente»
echo "1" > /proc/sys/net/ipv4/ip_dynaddr;
iptables -F;
iptables -t nat -A POSTROUTING -o $external -j MASQUERADE;
iptables -A INPUT -i $external --source 192.168.0.0/24 -j DROP;
iptables -A INPUT -i $external --source 10.0.0.0/8 -j DROP;
iptables -A INPUT -i $external --source 172.16.0.0/12 -j DROP;
iptables -A FORWARD -i $internal -j ACCEPT;
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT;
iptables -A FORWARD -m limit --limit 5/minute --limit-burst 5;
Depois executem o seguinte comando (tornando o ficheiro executável):
chmod 755 /etc/rc.d/rc.firewall (Slacware)
ou chmod 755 /etc/init.d/firewall.sh(Ubuntu)
Se usam ubuntu, devem criar um link para que o script seja corrido durante o arranque da máquina:
ln -s /etc/init.d/firewall.sh /etc/rc2.d/S95firewall
Este ficheiro irá permitir que seja efectuada a partilha de Internet do interface externo para os ips internos da lan. Deverá ser neste ficheiro que podem adicionar regras de firewalling. Podem ler mais sobre firewalls e iptables aqui e aqui. Mais tarde vou falar um pouco mais sobre firewalls, mas por enquanto vamos continuar com a configuração do nosso mini-servidor.
2.4 DHCPd
O DHCPd permite que os pc’s da lan tenham ip’s atribuidos automaticamente pelo servidor. Para configurarem-no basta que editem o ficheiro /etc/dhcpd.conf:
default-lease-time 3600;
max-lease-time 7200;
ddns-update-style ad-hoc;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.0.255;
option routers 192.168.0.1;
option domain-name-servers «dns que o vosso isp oferece»;
option domain-name «domínio»;
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.10 192.168.0.30;
}
Depois apenas precisam de configurar a rede dos pcs da vossa Lan para adquirirem endereço de ip automaticamente através de dhcp.
Final da primeira parte