Ver Feed RSS

BLOG DO Administrador Linux

MANUAL DE INSTALACAO SERVIDOR DE INTERNET (PARA APRENDIZ E AVANÇADO )

Avalie este Post de Blog
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
Categorias
Artigos , Dicas

Comentários

  1. Avatar de leonardojrj
    Muito bom mano parabens!! ja da para termos uma ideia de um servidor para rede local com controle da net hehe!!

    falow abraço!
  2. Avatar de lovenique
    Citação Postado originalmente por leonardojrj
    Muito bom mano parabens!! ja da para termos uma ideia de um servidor para rede local com controle da net hehe!!

    falow abraço!
    Q bom que gostou....
    Colocarei mais Manuais de instalacao de programas e servidores aki no meu blog...
    Qualquer duvida, só chamar.... estamos ai pra isso.
    abraços.
  3. Avatar de fssfilipe
    Ficou bom, você chegou a fazer testes com disponibilidade?
    Como por exemplo o uCARP?
  4. Avatar de lovenique
    Citação Postado originalmente por fssfilipe
    Ficou bom, você chegou a fazer testes com disponibilidade?
    Como por exemplo o uCARP?
    Olá amigo....
    eu estou montando um cluster de alta disponibilidade para o software que gere a empresa do meu pai...
    bom todo servidor que eu desenvolvo, eu crio uma documentação... caso a empresa queira me tirar ou algo aconteça comigo, tem ali a forma que eu criei o servidor. eu atualmente estou desenvolvendo a documentação de 2 servidores.. 1 para cluster e o outro para aplicativos JAVA.
    assim que eu terminar a documentação eu edito e posto aki...
    espero que esteja gostando do trabalho...
  5. Avatar de fssfilipe
    Citação Postado originalmente por lovenique
    Olá amigo....
    eu estou montando um cluster de alta disponibilidade para o software que gere a empresa do meu pai...
    bom todo servidor que eu desenvolvo, eu crio uma documentação... caso a empresa queira me tirar ou algo aconteça comigo, tem ali a forma que eu criei o servidor. eu atualmente estou desenvolvendo a documentação de 2 servidores.. 1 para cluster e o outro para aplicativos JAVA.
    assim que eu terminar a documentação eu edito e posto aki...
    espero que esteja gostando do trabalho...
    Bom, eu estou trabalhando com um cluster gateway de alta disponibilidade aqui onde trabalho.
    Uso dois FreeBSD com CARP e dois links dedicados da Embratel e Oi respectivamente.
    Você teria alguma sugestão para disponibilidade de gateway?
  6. Avatar de lovenique
    Citação Postado originalmente por fssfilipe
    Bom, eu estou trabalhando com um cluster gateway de alta disponibilidade aqui onde trabalho.
    Uso dois FreeBSD com CARP e dois links dedicados da Embratel e Oi respectivamente.
    Você teria alguma sugestão para disponibilidade de gateway?
    Bom teria sim...
    Faz o seguinte me add no msn... e agente conversa melhor.
    [email protected]

+ Enviar Comentário