MANUAL DE INSTALACAO SERVIDOR DE INTERNET (PARA APRENDIZ E AVANÇADO )
por
em 02-11-2009 às 01:19 (10239 Visualizações)
Olá caros amigos...
Hoje trago a voces um manual de instalação para um servidor INTERNET...
Usei como base uma documentação que eu desenvolvi para uma empresa, por tanto todas as configurações estão funcionando corretamente.
1 Instalação do sistema operacional
1.1 Pré-requisitos
Processador Pentium 4 LGA (L2 de 1MB, 3.00GHz,FSB de 800MHz)
Memória de 1GB 400MHz
2 x Disco Rígido SATA de 80GB, 3.5 polegadas, 7.2K RPM
Duas placas de rede 10/100Mgs
Leitor/gravador de DVD
1.2 Instalação e configuração do sistema
Inicio da instalação
Insira o DVD de instalação do Linux, selecione o idioma e continue com a instalação.
Selecione o Idioma nacional.
Na seção para particionamento crie 1 partição em cada HD do tipo: RAID
Na próxima tela terá habilitado ( configurar Raid via software ), entre nessa tela e crie 1 partição (MD0), Selecione o sistema reseifers para particionar.
Continue com a instalação e escolha um repositório nacional, assim os programas baixados após a instalação terão o idioma nacional.
Na etapa de instalação dos serviços, escolha apenas: Sistema básico de arquivos, os outros serviços serão baixados após a instalação, para utilizar versões mais recentes dos programas.
1.3 Configurando de rede
Após a instalação quando o S.O estiver funcional, será configurada a rede do servidor.
Abra o arquivo ( /etc/networks/interface ) e defina o IP do servidor, editando o arquivo da seguinte forma:
Eth0 inet static
Address 192.168.0.X
Mask 255.255.255.X
Gateway 192.168.0.X
Abra o arquivo ( /etc/resolv.conf ) e defina os servidores de DNS, editando o arquivo da seguinte forma. Lembrando que (X) representa o IP do servidor DNS.
Nameserver XXX.XXX.XXX.XXX
Nameserver XXX.XXX.XXX.XXX
Configurar o hostname do servidor ( nome do servidor na rede.).
Abra o arquivo ( /etc/hostname ) e defina o nome do servidor na rede, editando o arquivo da seguinte forma:
SRVNET
Associar o nome do servidor ao IP definido.
Abra o arquivo ( /etc/hosts ) e edite o arquivo da seguinte forma:
127.0.0.1 localhost
192.168.0.XXX SRVNET
1.4 Configurar o RAID
Nesta etapa vamos configurar o RAID para que o segundo HD consiga carregar o S.O caso ocorra algum problema com o primeiro HD.
Edite o arquivo ( /boot/grub/menu.lst ) deixando da seguinte forma:
title DEBIAN LINUX -SRVNET
root (hd0,0)
kernel /boot/vmlinuz-2.6.11.7 root=/dev/md0 md=0,/dev/sda1,/dev/sdb1 ro
boot
title DEBIAN LINUX SRVNET (Recuperacao RAID)
root (hd1,0)
kernel /boot/vmlinuz-2.6.11.7 root=/dev/md0 md=0,/dev/sdb1 ro
boot
Agora vamos adicionar o grub no MBR do segundo HD.
Logue-se como root e digite os seguintes comandos no terminal.
grub-install /dev/sda
grub
grub: device (HD,0) /dev/sdb
grub: root (hd0,0)
grub: setup (hd0)
grub: quit
2 Instalação dos serviços
2.1 Serviços a serem instalados:
VIM ( Editor de texto básico.)
Samba ( Servidor de arquivos )
Apache2
PHP5
Mysql Server
PhpMyAdmin
Webmin ( Sistema web de gerenciamento do S.O )
JAVA 5 e 6
Openfire
Squid
Htpasswd
Sarg
Dansguardian
DHCPD3 Server
2.2 Iniciando a instalação.
2.2.1 Instalação do VIM
Digite o seguinte comando:
# apt-get install vim
2.2.2 Instalando o samba:
No terminal digite o seguinte comando:
# apt-get install samba
#apt-get install smbfs
#apt-get install smbclient
Edite o arquivo:
# vim /etc/samba/smb.conf
Insira os seguintes parâmetros no arquivo:
[global]
workgroup = empresa
netbios name = srvnet
server string = Servidor de Internet
client schannel = Yes
log level = 1
admin users = usuario administrador
syslog only = Yes
log file = /var/log/samba/%m.log
max log size = 50
debug timestamp = No
keepalive = 20
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
printcap cache time = 60
printcap name =
dns proxy = No
kernel oplocks = No
lock spin time = 25
ldap ssl = no
printing =
print command =
lpq command = %p
lprm command =
level2 oplocks = No
oplock contention limit = 1
smb ports = 139
wins support = yes
debug level = 1
os level = 60
max xmit = 65535
domain logons = yes
preferred master = no
domain master = no
oplocks = no
read raw = yes
write raw = yes
dead time = 15
getwd cache = yes
security = user
logon home =
logon drive =
add machine script = /usr/sbin/adduser -n -r -g machines -c "Samba machine" -d /dev/null -s /bin/false %u
[Compartilhamento]
path = /comp
public = no
browsable = yes
writable = yes
create mask = 770
directory mask = 777
force create mode = 777
force directory mode = 777
oplocks = No
locking = no
read only = no
level2 oplocks = No
Salve o arquivo e execute o seguinte comando:
# /etc/init.d/samba restart
2.2.3 Instalando o Squid
Digite o seguinte comando:
# apt-get install squid
Edite o arquivo squid.conf que fica dentro de ( /etc/squid )
Insira os seguintes dados:
#Inicio
http_port 3128
visible_hostname nomedaempresa
cache_mem 150 MB
maximum_object_size_in_memory 64 KB
maximum_object_size 256 MB
minimum_object_size 0 KB
cache_swap_low 90
cache_swap_high 95
refresh_pattern ^ftp: 15 20% 2280
refresh_pattern ^gopher: 15 0% 2280
refresh_pattern . 15 20% 2280
#l LOG
cache_access_log /var/log/squid/access.log
cache_store_log /var/log/squid/store.log
cache_log /var/squid/logs/cache.log
cache_dir ufs /var/spool/squid 20000 16 256
#Acls
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 Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 # https snews
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl Safe_ports port 901 # swat
acl purge method PURGE
acl CONNECT method CONNECT
# direitos de acesso
http_access allow manager localhost
http_access deny manager
http_access allow purge localhost
http_access deny purge
#autenticacao de usuarios
auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/passwd
auth_param basic realm nomeempresa.
# controle por horário
acl block proxy_auth "/etc/squid/block"
acl net_local src 192.168.0.0/255.255.255.0
acl sites url_regex "/etc/squid/sites_almoco.txt"
acl h_manha time MTWHF 08:00-12:00
acl h_tarde time MTWHF 13:00-19:30
http_access deny sites h_manha
http_access deny sites h_tarde
http_access deny block h_manha
http_access deny block h_tarde
# autenticacao
http_access allow autenticados
# LIBERAR REDE INTERNA
acl redelocal src 192.168.0.0/255.255.255.0
http_access allow localhost
http_access allow redelocal
http_access deny all
# Pagina de erro
error_directory /usr/share/squid/errors/Portuguese
coredump_dir /var/cache/squid
detect_broken_pconn on
pipeline_prefetch on
2.2.4 Instalando o HTpasswd
Digite o commando:
# apt-get install apache2-utils
Reinicie o Squid
# /etc/init.d/squid restart
2.2.5 Instalando o Sarg
Digite o domando :
# apt-get install sarg
2.2.6 Instalando o Bind9
# apt-get install bind9
2.2.7 Instalando o Dansguardian
Digite o seguinte commando:
# apt-get install dansguardian
Edite o seguinte arquivo ( /etc/init.d/dansguardian/dansguardian.conf )
Altere as seguintes linhas
Comente a linha (UNCONFIGURED - Please remove this line after configuration) com (#)
Altere o valor na linha (language = 'ukenglish') para ('portuguese')
Altere o endereço para o ip do servidor (accessdeniedaddress = 'http://YOURSERVER.YOURDOMAIN/cgi-bin/dansguardian.pl')
Agora baixe o blacklist no seguinte site: http://urlblacklist.com/?sec=download
Descompacte o arquivo e salve na pasta (/etc/dansguardian/list/)
2.2.8 Instalando o JAVA 5 e 6
Adicione a seguinte linha no arquivo (/etc/apt/source.list)
# vim source.list
# deb http://ftp.de.debian.org/debian lenny main non-free
Agora digite:
# apt-get install sun-java5-jre
# apt-get install sun-java6-jre
Agora baixe a versão mais atual do java no site: http://www.java.com/pt_BR/download/manual.jsp
Salve em (/opt/)
E utilize o seguinte comando:
Utilize o seguinte comando:
# ./sun-javaX.X_jre.bin
Após utilizar esse comando, sera criado uma pasta com o nome de: java-sun-X.X_jre
Utilize o seguinte comando:
# mv java-sun-X.X_jre java
Mudamos o nome da pasta apenas para facilitar sua indicação no arquivo profile.
Utilize o seguinte comando:
# vim /etc/profile
Acrescente ao final do arquivo:
export JAVA_HOME=/opt/java
export CLASSPATH=JAVA_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin/:$PATH
export MANPATH=$JAVA_HOME/man:$MANPATH
Reinicie o sistema e execute o seguinte comando:
# java version
Deverá aparecer a versão do Java que foi baixada.
2.2.9 Instalando o Apache2
# apt-get install apache2
# apt-get install libauthen-pam-perl
2.2.10 Instalando o PHP5
# apt-get install php5
# apt-get install php5-cgi
# apt-get install php5-mysql
2.2.11 Instalando o webmin
Faça download na seguinte URL: http://prdownloads.sourceforge.net/w..._1.470_all.deb
Salve em ( /opt/ )
Digite o seguinte comando:
# apt-get install libnet-ssleay-perl
# apt-get install libio-pty-perl
# apt-get install libmd5-perl
# dpkg i webmin_1.470_all.deb
Agora digite o endereço de ip no navegador e utilize a porta 10000 para acessar o webmin da seguinte forma:
https://x.x.x.x:10000
2.2.12 Instalando o Mysql-server
Digite o seguinte comando:
# apt-get install mysql-server
E defina a senha do usuário ( root ) do mysql
2.2.13 Instalando o PhpMyAdmin
Utilize o seguinte comando:
# apt-get install phpmyadmin
Acesse o PhpMyAdmin pelo browse no endereço: http://ipdoservidor/phpmyadmin
2.2.14 Instalando o Openfire Spark
Salve o arquivo openfire_X.X.X_all.deb dentro de (/opt/)
Digite o comando:
# dpkg i /opt/openfire_X.X.X_all.deb
Com o navegador acesso o endereço: http://ipdoservidor:9090 e configure o Openfire.
3 Configurando o Firewall
3.1 Utilizando Iptables para editar o firewall
O firewall será feito em IPTABLES.
Crie um arquivo com o nome de firewall.sh
Agora edite o com o VIM e insira os seguintes dados:
#!/bin/bash
# LIMPANDO AS REGRAS
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
#Iniciando o Firewall
#Carregando os modulos...
/sbin/modprobe iptable_nat
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ipt_LOG
/sbin/modprobe ipt_REJECT
/sbin/modprobe ipt_MASQUERADE
# Habilitando roteamento
echo "1" >/proc/sys/net/ipv4/ip_forward
#PROTECOES
#Ignorando Pings
echo "1" >/proc/sys/net/ipv4/icmp_echo_ignore_all
# Protecao contra SYN COOKIES
echo "1" >/proc/sys/net/ipv4/tcp_syncookies
#MASCARANDO A REDE
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
# Ignorar traceroute
iptables -A INPUT -p udp --dport 33435:33535 -j DROP
# Protecao contra broadcast
echo "1" >/proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
# Contra Ping da Morte
iptables -A FORWARD -p icmp --icmp-type echo-request -j DROP
# Contra Ataques Syn-flood
iptables -A FORWARD -p tcp -m limit --limit 1/s -j ACCEPT
# CONTRA PACOTE DANIFICADOS OU SUSPEITOS
iptables -A FORWARD -m unclean -j DROP
#Liberando Acesso a internet
iptables -A INPUT -p tcp -s 192.168.0.0/24 -j ACCEPT
#Portas para navegacao
iptables -A FORWARD -s 192.168.0.0/24 -p tcp --dport 110 -j ACCEPT # POP
iptables -A FORWARD -s 192.168.0.0/24 -p tcp --dport 25 -j ACCEPT # SMTP
iptables -A FORWARD -s 192.168.0.0/24 -p tcp --dport 587 -j ACCEPT # SMTP2
iptables -A FORWARD -s 192.168.0.0/24 -p tcp --dport 80 -j ACCEPT # HTTP
iptables -A FORWARD -s 192.168.0.0/24 -p tcp --dport 53 -j ACCEPT # DNS
iptables -A FORWARD -s 192.168.0.0/24 -p tcp --dport 21 -j ACCEPT # FTP
iptables -A FORWARD -s 192.168.0.0/24 -p tcp --dport 443 -j ACCEPT # HTTPS
iptables -A FORWARD -s 192.168.0.0/24 -p tcp --dport 7003 -j ACCEPT # VIVO
iptables -A FORWARD -s 192.168.0.0/24 -p tcp --dport 8005 -j ACCEPT # CSN WEB
iptables -A FORWARD -s 192.168.0.0/24 -p tcp --dport 3000 -j ACCEPT # REDMINE WEB
# FALTA ACRESCENTAR PORTA
iptables -t nat -A PREROUTING -p tcp --dport 22 -s 192.168.0.0 -j ACCEPT
iptables -t nat -A PREROUTING -p udp --dport 22 -s 192.168.0.0 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -s 192.168.0.0 -j ACCEPT
iptables -A INPUT -p udp --dport 22 -s 192.168.0.0 -j ACCEPT
iptables -A FORWARD -s 192.168.0.0/24 -j REJECT
Pronto salve o arquivo, e copie para ( /etc/init.d/ )
Colocando o firewall.sh no init.d
# cd /etc/init.d/
# uptdate-rc.d firewall.sh defaults
4 Funcionalidades e comandos do servidor
4.1 Dansguardian
4.1.1 Bloqueando acesso
4.1.1.1 Bloqueando categorias
Edite o arquivo ( /etc/dansguardian/list/weightedphraselist)
Descomente as linhas das categorias que desejar bloquear.
4.1.1.2 Bloqueando site
Insira o site no arquivo ( /etc/dansguardian/list/bannedsitelist )
4.1.1.3 Bloqueando usuário
Insira o usuário no arquivo ( /etc/dansguardian/list/banneduserlist )
4.1.1.4 Bloqueando IP
Insira o IP no arquivo ( /etc/dansguardian/list/bannediplist )
4.1.1.5 Bloqueando download de extensões
Insira a extensão no arquivo
( /etc/dansguardian/list/bannedextensionlist )
4.1.2 Liberando acesso
4.1.2.1 Liberando site de uma categoria bloqueada
Insira o site no arquivo ( /etc/dasnguardian/list/exceptionsitelist)
4.1.2.2 Liberando usuario de todos os bloqueios
Insira o usuário no arquivo ( /etc/dansguardian/list/exceptionuserlist
4.1.2.3 Liberando IP de uma categoria bloqueada
Insira o IP no arquivo ( /etc/dansguardian/list/exceptioniplist )
4.2 Squid
4.2.1 Liberando sites somente no horário permitido
Crie um arquivo para armazenar sites que serão liberados somente no horário de almoço
# touch /etc/squid/sites_almoco.txt
Esse arquivo armazenará URLs da seguinte maneira:
.nomedosiste.com.br
4.2.2 Criando usuário e senha para acessar a internet.
Crie o arquivo ( /etc/squid/passwd)
Utilize o seguinte comando para criar usuários:
# htpasswd /etc/squid/passwd nomedousuario
4.2.3 Limitando usuários
Crie um arquivo para armazenar os usuários que só terão acesso a internet no horário estipulado.
# touch /etc/squid/block
Esse arquivo armazenará os nomes de usuários da seguinte maneira:
nomedousuario
4.3 Crontab
Agendaremos as seguintes tarefas automatizadas no CRON
Limpeza de cache
Atualização de relatório de acesso a internet
4.3.1 Limpeza de cache
Crie um arquivo com o nome de cache.sh e save dentro da pasta ( /etc/squid/ )
Insira os seguintes parâmetros dentro do arquivo
#!/Bin/bash
cd /var/log/squid
rm rf *
/etc/init.d/squid restart
Execute o comando:
# crontab e
Adicione a seguinte linha no arquivo:
30 19 * * * /etc/squid/cache.sh
4.3.2 Atualização de relatório de acesso a internet
Execute o comando:
# crontab e
Adicione a seguinte linha no arquivo:
0/5 * * * * sarg
Comentários
+ Enviar Comentário