segunda-feira, 15 de dezembro de 2014

Configurando servidores DHCP, BIND, Squid, Sarg, Samba e algumas regras IPtables

Removendo ambiente gráfico / Configurações

Depois de instalado o Debian 7, remova parte gráfica para entrar somente no console. Abrir o terminal - entrar como root com o comando:$ su

Colocar a senha do root. E agora remover a parte gráfica:
# update-rc.d -f gdm3 remove

Ainda ficaram 5 segundos no GRUB para remover. Vamos alterar o arquivo:
# etc/default/grub

Localizar a linha: 
GRUB_TIMEOUT=5

Mudar para: 
GRUB_TIMEOUT=0

Depois dê um 
Ctrl+o e Ctrl+x, e pronto.# reboot #Para reiniciar e testar. 

Configurando APT corretamente

Arrumando o APT para baixar pacotes da internet.

Vamos editar o arquivo 
/etc/apt/sources.list. Para isso, vamos com os comandos:# cd /etc/apt
# nano sources.list

Vá até o final do arquivo e digite: 
deb http://ftp.debian.org/debian/ wheezy-updates main contrib non-free
deb-src http://ftp.debian.org/debian/ wheezy-updates main contrib non-free
deb http://ftp.br.debian.org/debian stable main contrib non-free
deb-src http://ftp.br.debian.org/debian stable main contrib non-free
deb http://security.debian.org/ wheezy/updates main contrib non-free
deb-src http://security.debian.org/ wheezy/updates main contrib non-free
deb http://dl.google.com/linux/deb stable main

Depois dê um 
Ctrl+oCtrl+x e pronto.
Agora é só atualizar a lista de pacotes, com:
# apt-get update

Agora estamos prontos para começar a instalar os pacotes e fazer as configurações. 

Personalização da tela de login do Debian (opcional)

Vamos personalizar a tela do terminal:# apt-get install linuxlogo

Mostrar o logo atual:
# linux_logo

Ver outros para alteração:
# linux_logo -L n

Lembre-se que "n" varia de 1~24, escolha o mais legal.

E altere o arquivo 
/etc/linux_logo.conf, mudando o "-L 14".

Agora, vamos colocá-lo no terminal:
# cd /etc/
# mv issue issue.bkp
# mv issue.linuxlogo issue

Dê um reboot.
E confira as mudanças. 

Setando as interfaces de rede

Vamos primeiro em:# cd /etc/network/
# nano interfaces

Vamos acrescentar a linha: 
#THE SECONDARY NETWORK INTERFACE
Auto eth1
Iface eth1 inet static
Address 192COLOQUESEUIP
Netmask 255SuaMáscara
Broadcast 192Seubroadcast255

Depois dê um 
Ctrl+oCtrl+x e pronto.

Ou, podemos utilizar o comando:
# ifconfig eth0 192.168.1.1 netmask 255.255.255.0

Agora com o comando:
# ifconfig

Verá todas as interfaces: eth0, eth1 e loopback.
Poderá detalhar como:
# ifconfig eth0
Ou:
# ifconfig eth1 


Instalando e configurando o servidor DHCP

Trecho adaptado de:

Publicado por 
Leonardo Damasceno em 22/10/2009.# apt-get -y install dhcp3-server

Após o download completo do software, vá ao diretório 
/etc/dhcp:# cd /etc/dhcp
# nano dhcpd.conf 
ddns-update-style none;
default-lease-time 600;
max-lease-time 7200;
authoritative;

subnet 192.168.100.0 netmask 255.255.255.0 {
   range 192.168.100.10 192.168.100.200;
   option routers 192.168.100.1;
   option domain-name-servers 200.235.120.200,200.235.120.220,8.8.8.8,8.8.4.4;
   option broadcast-address 192.168.0.255;
}

# nano /etc/default/isc-dhcp-server

Onde tiver INTERFACES="", coloque sua placa de rede (no meu caso, utilizei a eth1): 
INTERFACES="eth1"

Salve e saia do nano.

Agora, reinicie o serviço:
# service isc-dhcp-server restart

Após o reinício, confira a configuração adicionando um cliente Windows XP para obter endereço de IP via DHCP que dará certo. 

Instalando o DNS (BIND 9)

Adaptado de (retirado alguns comentários e ajustado para configuração em máquina virtual):

Publicado por Luis 
Viscardo Saqueto.

O primeiro passo, é baixar e instalar o BIND 9:
# apt-get install bind9

Para verificar se o BIND está rodando, digite:
$ ps -aux | grep named

Caso não esteja rodando ainda, digite:
# /etc/init.d/bind9 start 

Configurando o named.conf

Agora, vamos aos arquivos de configuração. Todos os arquivos se encontram no diretório /etc/bind.

Primeiro, você deve editar o arquivo named.conf.default-zone, onde estão todas as zonas que no caso são os endereços de sites pela qual a máquina vai responder.

Você deverá incluir a seguinte linha no arquivo named.conf
zone "seusite.com.br" {
      type master;
      file "/etc/bind/db.seusite.com.br";
};

zone "2.0.10.in-addr.arpa" {
type master;
file "/etc/bind/db.2.0.10";
};

O próximo passo será criar o arquivo db.seusite.com.br

Criando o arquivo db.seusite.com.br

Aqui ficarão as configurações do seu endereço.

Antes de excutar, sabe o nome do seu Debian?
# hostname

;
IN significa internet

;Arquivo
que representa a zona "seusite.com.br"

;

$TTL
  604800

@
  IN   SOA   seusite.com.br. NOMEDOSEUDEBIAN.seusite.com.br. (

       2004111700
  ; Serial

         604800
     ; Refresh

       86400
     ; Retry

       2419200
     ; Expire

         604800
)    ; Negative Cache TTL

;

@
  IN   NS   NOMEDOSEUDEBIAN

@
             IN      MX      10      seusite.com.br.


NOMEDOSEUDEBIAN
       IN      A        ipdasuamaquina10.0.2.15

www
           IN      CNAME    NOMEDOSEUDEBIAN

ftp
           IN      CNAME    NOMEDOSEUDEBIAN


//
agora é so você adicionar os outros registros desejados

//
exemplo:

//ssh
IN CNAME nomedamaquina


Agora o arquivo db.seuipdainterfaceEth0
$TTL 604800
@  IN  SOA  NomeBedian.seusite.com.br. admin.NomeBedian.seusite.com.br. (
1
604800
86400
2419200
604800  )

@   IN   NS NomeBedian.seusite.com.br.
10  IN  PTR NomeBedian.seusite.com.br

Feito isso, Ctrl+o e Ctrl+x


Restante da configuração do BIND 9

Mudando resolv.conf:# cd /etc
# nano resolv.conf

Deverá ficar assim: 
nameserver 127.0.0.1
nameserver 8.8.8.8
nameserver 8.8.4.4
nameserver seuipdaEth0

Mudando arquivo hosts:
# nano hosts

Deverá ficar assim: 
127.0.0.1   localhost
192.168.5.254   NOMEDOSEUDEBIAN.seusite.com NOMEDOSEUDEBIAN


Testando o servidor

Para checar as configurações, digite:# named-checkconf

Para checar as zonas, digite:
# named-chekzone db.seusite.com.br

Para reiniciar, digite:
# /etc/init.d/bind9 restart

Para testar se está tudo funcionando, use o 
nslookup:$ nslookup www.seusite.com.br 
www.seusite.com.br        canonical name = NomedoDebian.seusite.com.br.
Address: seuipdaEth0


Instalando e configurando o Apache

Atualizando o repositório:# apt-get update

Instalando pacote Apache 2:
# apt-get install apache2

Acessando a pasta onde está o Apache:
# cd /etc/apache2

Startando o servidor:
# service apache2 restart 

Testando

Vá no cliente e digite o IP do servidor ou o nome configurado no DNS. Deve aparecer: It's Work!.

Se apareceu, deu tudo certo e seu Apache foi instalado corretamente.

* Importante: se não apareceu "It's Work!", tente acessar outro site da internet como Google ou Yahoo!, pode ser que suas regras do Firewall ainda não foram definidas e a navegação está bloqueada.

Caso esteja e você não consegue acessar nada, digite os comandos no terminal para limpar as regras e liberar tudo, depois fecharemos as portas necessárias:
# iptables -F INPUT
# iptables -F OUTPUT
# iptables -F FORWARD
# iptables -t nat -F
# iptables -t mangle -F 

Instalando e configurando proxy (Squid)

Trecho adaptado de:

Instalando o Squid:
# apt-get install squid

Para que os clientes possam navegar na internet, é necessário configurar o Squid para possibilitar esse acesso. Devemos configurar o arquivo 
squid.conf dentro da pasta /etc/squid:# mv /etc/squid/squid.conf /etc/squid/squid.conf.original
# nano /etc/squid/squid.conf

Adicione o conteúdo abaixo para configuração do Squid: 
http_port 3128 transparent

visible_hostname Firewall

# Proxy transparent com autenticacao não funciona
error_directory /usr/share/squid/errors/Portuguese/
cache_mem 64 MB
maximum_object_size_in_memory 64 KB
maximum_object_size 512 MB
minimum_object_size 0 KB
cache_swap_low 50
cache_swap_high 70
cache_dir ufs /var/spool/squid 2048 16 256
cache_access_log /var/log/squid/access.log
#cache_store_log /var/log/squid/store.log
#cache_swap_log /var/log/squid/cache_swap.log
refresh_pattern ^ftp: 15 20% 2280
refresh_pattern ^gopher: 15 0% 2280
refresh_pattern . 15 20% 2280
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl SSL_ports port 22 995 993 465
acl Safe_ports port 21 80 138 139 443 563 70 210 280 488 59 777 901 1025-65535
acl purge method PURGE
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access allow purge localhost
http_access deny purge
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
# Validação da rede local
acl redelocal src 192.168.0.0/24

# Bloqueio de sites por domínio
acl sites url_regex -i "/etc/squid/bloqueados/sites"
http_access deny sites
acl adulto url_regex -i "/etc/squid/bloqueados/adulto"
http_access deny adulto

http_access allow localhost
http_access allow redelocal
http_access deny all

Digite 
Ctrl+o e Ctrl+x.

Com o arquivo do Squid configurado, criar os arquivos citados acima:
$ mkdir bloqueados
$ cd bloqueados
$ nano sites

Adicionar a URL dos sites, exemplo:
  • http://www.facebook.com
  • http://www.uol.com.br

$ nano adulto

Adicionar a URL dos sites adultos, exemplo:
  • http://www.siteadulto.com.br

Precisamos iniciar o serviço com os comandos abaixo:

Finalizando serviço do Squid:
# /etc/init.d/squid stop

Iniciando serviço do Squid:
# /etc/init.d/squid start

Caso não exiba nenhum alerta, o Squid está configurado de maneira correta. Caso retorne algum erro, verifique o arquivo do configuração do Squid. 

Iniciando as regras do Firewall

Criando as regras para iniciar junto com o Debian. Para isso, devemos criar um arquivo de nome fw.sh dentro da pasta do /etc/squid:# nano /etc/squid/fw.sh 
echo Inicializando regras do firewall
# LIMPA REGRAS DO FIREWALL
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD
iptables -t nat -F
iptables -t mangle -F
modprobe ip_tables
modprobe iptables_nat

echo "1" > /proc/sys/net/ipv4/ip_forward

# ATIVA O MODO DE MASQUERADE
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

# FORÇA A NAVEGACAO PELA PORTA 3128
iptables -t nat -A PREROUTING -s 192.168.0.1/24 -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -s 192.168.0.1/24 -p ucp --dport 80 -j REDIRECT --to-port 3128

#teste com a porta 443 https
iptables -t nat -A PREROUTING -s 192.168.0.1/24 -p tcp --dport 443 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -s 192.168.0.1/24 -p ucp --dport 443 -j REDIRECT --to-port 3128

Salve o arquivo e saia.

Agora, adicione o arquivo para execução automática dentro do arquivo 
rc.local:# vim /etc/rc.local

Adicione a linha abaixo antes da linha "exit 0": 
sh /etc/squid/fw.sh

Com isso, o Firewall carregará as regras na inicialização automaticamente. 

Instalando e configurando o Sarg (relatório do Squid)

Instale:# apt-get install sarg -y --force-yes

Configurando: abra o arquivo 
sarg.conf dentro da pasta /etc/sarg e altere as linhas abaixo:

Linhas originais: 
#output_dir /var/www/html/squid-reports
output_dir /var/lib/sarg

Após serem alteradas: 
output_dir /var/www/squid-reports
#output_dir /var/lib/sarg

Após esse procedimento, o Sarg terá sido instalado com sucesso. Para testar rode o comando abaixo e veja o resultado:
# sarg -g e

Para adicionar o script para gerar relatórios diários, siga os passos abaixo:
# vim /etc/squid/relatorio.sh

Adicione as linhas abaixo: 
clear
DATA=`date +%d/%m/%Y`
sarg -g e -d $DATA'-'$DATA

Salve e feche o arquivo de relatório.

Digite o comando abaixo:
# crontab -e

Adicione a linha abaixo: 
00 23 * * * /etc/squid/relatorio.sh

A partir desse momento, serão gerados relatórios todos os dias às 23:00 Hrs.

Agora, vamos forçar a criação de relatórios pelo Sarg:
# sarg -g e

Se tudo ocorreu bem, no diretório já estarão os arquivos. Dê o comando:
# cd /var/www
# ls

Verifique se existe o diretório 
squid-reports.

Se sim, funcionou corretamente e já pode ser acessado pelo browser das estações entrando no IP do servidor Debian: 
http://192.168.0.1/squid-reports.

Se chegou até aqui e tudo funcionou, o trabalho está quase completo 

Reiniciando sistema

Após conclusão de todos os passos, devemos reiniciar o Linux, se tudo ocorrer bem, seu Firewall estará pronto para ser instalado em uma rede.

Reinicie o sistema com o comando abaixo:
# reboot 

Instalando e configurando o servidor Samba (arquivos)

Adaptado de (com algumas alterações para máquina virtual):

Publicado por 
Caio Norder em 29/11/2007.

Instalar:
# apt-get upadate
# apt-get install samba

Configurando o Samba:
# cd /etc/samba/
# mv smb.conf smb.conf2
# nano smb.conf 
workgroup = Interna
server string = %h server Debian
dns proxy = no
interfaces = lo eth0 eth1
bind interfaces only = true
log file = /var/log/samba/log.%m
max log size = 1000
syslog = 0
panic action = /usr/share/samba/panic-action %d
security = share
encrypt passwords = true
passdb backend = tdbsam
obey pam restrictions = yes
guest account = nobody
invalid users = root
passwd program = /usr/bin/passwd %u

[Servidor]
comment = Servidor de Arquivos
path = /home/servidor
browseable = yes
read only = no
guest ok = yes

Agora crie a pasta e o usuário servidor:
# mkdir /home/servidor
# cd /home/
# chmod 777 servidor/
# adduser usuario

A partir daí, para criar o usuário no Samba:
# smbpasswd -a usuario

E para excluir:
# smbpasswd -x usuario

O usuário precisará fazer login ao acessar. E por fim:
# /etc/init.d/samba restart 

Fonte
http://www.vivaolinux.com.br/artigo/Configurando-servidores-DHCP-BIND-Squid-Sarg-Samba-e-algumas-regras-IPtables

Nenhum comentário:

Postar um comentário