Você está na página 1de 73

Autores

1 Ten Bastos
2 Ten Taffarel
2 Ten Magalhes
2 Ten Fabrizzio
Estgio Servidores inu!
" #E$T%& 'E TEEM(T)#A 'E (%EA
Apostila gerada pela Seo de Rede de Dados do 6 CTA para o curso de Servidores Linux pag. 2/!
"ste #aterial destina$se a servir de apoio na instalao de servidores utili%ando o siste#a
operacional De&ian 6. Todos os passos a'ui apresentados (ora# testados co# sucesso e no se
destina# a apresentar todos os recursos dos servios e si# a condu%ir aos passos iniciais para se
con(igurar u# servidor produtivo utili%ando u#a apresentao #ais pr)tica.
Su*rio
*nstalao do siste#a operacional........................................................................................................!
+&teno do siste#a........................................................................................................................!
*nstalando o siste#a.........................................................................................................................!
,ri#eiras con(igura-es do siste#a................................................................................................!
Con(igurando a rede..................................................................................................................!
,ri#eiras #edidas de segurana................................................................................................!
Servidor LDA,..................................................................................................................................../
*nstalao ......................................................................................................................................./
Con(igurao.................................................................................................................................../
/etc/ldap/slapd.con(..................................................................................................................../
/etc/ldap/ldap.con(.....................................................................................................................2.
/etc/pa#.d/co##on$account.....................................................................................................2.
/etc/pa#.d/co##on$aut0...........................................................................................................22
/etc/pa#.d/co##on$pass1ord..................................................................................................22
/etc/pa#.d/co##on$session......................................................................................................22
/etc/nss1itc0.con(......................................................................................................................22
/etc/pa#2ldap.con(....................................................................................................................2!
/etc/li&nss2ldap.con(.................................................................................................................2!
/usr/s0are/ldap$account$#anager/con(ig/la#.con( ...................................................................23
/usr/s0are/ldap$account$#anager/con(ig/con(ig.c(g 4 5o precisa ser alterado.......................26
6alidando e aplicando as con(igurao do servidor ldap...............................................................26
Servidor Sa#&a..................................................................................................................................2/
*nstalao.......................................................................................................................................2/
Con(igurao..................................................................................................................................2/
/etc/sa#&a/s#&.con(..................................................................................................................2/
/etc/s#&ldap$tools/s#&ldap.con(..............................................................................................!.
/etc/s#&ldap$tools/s#&ldap2&ind.con(.....................................................................................!!
Alguns co#andos7..........................................................................................................................!8
+&serva-es i#portantes...............................................................................................................!8
9ontes de consulta Sa#&a7.............................................................................................................!8
S'uid...................................................................................................................................................!3
*nstalao.......................................................................................................................................!3
Con(igurao..................................................................................................................................!3
/etc/s'uid/s'uid.con(.................................................................................................................!3
/etc/s'uid/sarg.con(...................................................................................................................!/
/etc/s'uid/gerar2relatorio.s0......................................................................................................!/
+&serva-es i#portantes...............................................................................................................!:
Rs;nc..................................................................................................................................................8<
*nstalao.......................................................................................................................................8<
Con(igurao..................................................................................................................................8<
Apostila gerada pela Seo de Rede de Dados do 6 CTA para o curso de Servidores Linux pag. ./!
Script exe#plo 4 &ac=up.s0......................................................................................................8<
Alguns par>#etros do co#ando................................................................................................8.
?acula.................................................................................................................................................8!
*nstalao.......................................................................................................................................8!
Con(igurando o servidor................................................................................................................8!
/etc/&acula/&acula$(d.con(.........................................................................................................88
/etc/&acula/&acula$sd.con(.........................................................................................................83
/etc/&acula/&acula$dir.con(........................................................................................................86
/etc/&acula/&console.con(..........................................................................................................3<
*nstalao do cliente/agente ?acula..........................................................................................3.
Algu#as dicas do &console.......................................................................................................3.
*nstalao e con(igurao do @e&acula ........................................................................................32
/var/111/1e&acula$3.3../install/d&.con(.................................................................................32
/var/111/1e&acula$3.3../0t#l/.0taccess.................................................................................3!
/etc/p0p3/apac0e2/p0p.ini.........................................................................................................3!
/etc/apac0e2/con(.d/1e&acula.con(...........................................................................................3!
/var/111/1e&acula/application/con(ig.ini..............................................................................38
9ontes de pes'uisa....................................................................................................................33
*pta&les...............................................................................................................................................36
"xe#plo co# v)rias regras............................................................................................................36
Script exe#plo para inicialio do siste#a /etc/init.d/ipta&les2rules............................................3/
Alguns co#andos Ateis..................................................................................................................6<
6irtuali%ao.......................................................................................................................................6.
*nstalao do 6B1are...................................................................................................................6.
Con(igurao do 6B1are..............................................................................................................63
"xtra...................................................................................................................................................<
,)gina p0p para troca de sen0a e# &ase LDA,.............................................................................
estilo.css.....................................................................................................................................
index.0t#l.................................................................................................................................2
sen0a.p0p...................................................................................................................................!
Alguns sites co# #ateriais so&re linux..............................................................................................8
Apostila gerada pela Seo de Rede de Dados do 6 CTA para o curso de Servidores Linux pag. 2/!
)nstala+o do siste*a o,era-ional
+s passos necess)rios para se o&ter u# servidor (uncionalC est)vel e seguro co#ea# e#
sua instalao. A'ui esto algu#as orienta-es para u# siste#a seguroC le#&rando 'ue tudo
depende da polDtica de segurana da e'uipe 'ue ir) gerenci)$lo.
Obteno do sistema
+ pri#eiro passo e o #ais (unda#ental E a o&teno do siste#a operacional e aplicativos
'ue sero instalados. ,ara issoC utili%e (ontes seguras eC se possDvelC con(ira a so#a BD3 dos
ar'uivos &aixados. Le#&re$se de &aixar se#pre a ulti#a verso est)vel F stable G.
,ara o&teno do Siste#a +peracional De&ian (oi utili%ado o seguinte lin=7
0ttp7//111.de&ian.org/CD/0ttp$(tp/Hsta&le
Depois escol0a a (or#a de download FCD ou D6DG e o tipo de processador. ,ara este
tutorial (oi utili%ado o CD netinstall i!/6C 'ue se trata da instalao &)sica para processadores de !2
&its. 5o (oi utili%ada a verso de 68 &its Fa#d68GC pelo (ato de se utili%ar #)'uinas virtuais e# u#
co#putador de #esa para teste das con(igura-esC #as alguns destes servidores I) (ora# levantados
e esto e# produo utili%ando a ar'uitetura a#d68 e no so(rera# nen0u#a di(erena na
instalao ou con(igurao.
)nstalando o siste*a
ApJs iniciali%ar o siste#a a partir do CDC ir) aparecer a seguinte se'uKncia de telas durante
a instalao7
Selecione a (or#a deseIada de instalao. 5este #aterial (oi escol0ido o #odo textoC ou seIaC
so#ente L*nstallM
Apostila gerada pela Seo de Rede de Dados do 6 CTA para o curso de Servidores Linux pag. !/!
"scol0a do idio#a de instalao
"scol0a do paDs
"scol0a do padro do teclado
Apostila gerada pela Seo de Rede de Dados do 6 CTA para o curso de Servidores Linux pag. 8/!
De(inio do no#e da #)'uina
"scol0a do do#Dnio da #)'uina
Apostila gerada pela Seo de Rede de Dados do 6 CTA para o curso de Servidores Linux pag. 3/!
De(inio da sen0a do usu)rio root
Con(ir#ao da sen0a do root
Criao de u# usu)rio co#u#
Apostila gerada pela Seo de Rede de Dados do 6 CTA para o curso de Servidores Linux pag. 6/!
Criao do login da conta
Sen0a do usu)rio e depois a con(ir#ao
"scol0a do (uso 0or)rio
Apostila gerada pela Seo de Rede de Dados do 6 CTA para o curso de Servidores Linux pag. /!
BEtodo de particiona#entoC neste caso Banual
"scol0a do disco para o particiona#ento
Criar a ta&ela de particiona#ento
Apostila gerada pela Seo de Rede de Dados do 6 CTA para o curso de Servidores Linux pag. //!
Criar as parti-es na ta&ela
Criando u#a nova partio
De(inindo o ta#an0o da partio
Apostila gerada pela Seo de Rede de Dados do 6 CTA para o curso de Servidores Linux pag. :/!
Tipo de partio Fpri#)ria ou lJgicaG
Local da partio
"scol0a do tipo de (or#ao e local da #ontage# da partio
Apostila gerada pela Seo de Rede de Dados do 6 CTA para o curso de Servidores Linux pag. .</!
,arti-es 'ue deve# ser criadasC le#&rando 'ue os ta#an0os depende# de 'uais servios sero
instalados
Con(ir#ao das altera-es
Apostila gerada pela Seo de Rede de Dados do 6 CTA para o curso de Servidores Linux pag. ../!
Con(igurando o repositJrio
"scol0a do repositJrio
,rox; Fcaso sua rede utili%eG
Apostila gerada pela Seo de Rede de Dados do 6 CTA para o curso de Servidores Linux pag. .2/!
Servios adicionais a instalar Iunto co# o siste#a
*nstalar o NRO? na iniciali%ao do siste#a
9i# da instalao. P sJ retirar o CD e reiniciar
Apostila gerada pela Seo de Rede de Dados do 6 CTA para o curso de Servidores Linux pag. .!/!
.ri*eiras -onfigura+/es do siste*a
"# u# servidor costu#a$se no instalar a inter(ace gr)(icaC pois conso#e recursos eC co#o
u#a das #edidas de seguranaC no se tra&al0a direta#ente no servidor e todas as con(igura-es
necess)rias pode# ser (eitas no #odo texto ou de #aneira re#ota co# o SSQ FSecure S0ellGC 'ue
costu#o #arcar I) na instalao do siste#a. Alguns editores de texto I) ve# co# o De&ian co#o o
nano e o viC a'ui (ica a gosto de cada u#C particular#ente pre(iro o vimC 'ue deve ser instalado.
#onfigurando a rede
+ ar'uivo de con(igurao de rede (ica no seguinte ca#in0o7 /etc/network/interfaces.
5ele deve# ser colocadas as seguintes lin0as para con(igurao de cada inter(ace. ,ara sa&er
'uais inter(aces sua #)'uina possui instalada no siste#aC utili%e o co#ando ifconfig -a .
# Para endereo dinmico
auto eth0
iface eth0 inet dhcp
,ara o caso de se utili%ar endereo est)ticoC acrescente as lin0as co# o endereoC #)scara de
su&$rede e gatewayC co#o no exe#plo a&aixo.
# Para endereo esttico
auto eth0
iface eth0 inet static
address 10.0.0.1
netmask 255.255.255.0
gateway 10.0.0.254
Caso a rede seIa con(igurada #anual#enteC deve$se con(igurar ta#&E# o endereo do
servidor de D5S no ar'uivo /etc/resolv.conf 'ue deve conter u# conteAdo si#ilar ao exe#plo
a&aixo7
domain teste.com
search teste.com
nameserver 8.8.8.8
nameserver 10.0.0.2
ApJs (a%er os testes de rede E &o# (a%er a atuali%ao do siste#as atravEs dos co#andos
apt-get updateC 'ue (a% a atuali%ao da lista de pacotes e depois o apt-get upgradeC 'ue (a% a
atuali%ao dos pacotes instalados no servidor.
.ri*eiras *edidas de seguran+a
As #edidas de segurana vo depender da (unionalidade do servidor e deve# ser
personali%adas para cada caso. A'ui esto citados alguns passos 'ue devero ser analisados antes de
ser i#ple#entadosC veri(icando se#pre a polDtica de segurana adotada para estar condi%ente co#
ela.
O# dos passos E li#itar o acesso (Dsico e re#oto ao servidor. ,ara li#itar o acesso re#oto
va#os con(igurar o ss0C alterando seu ar'uivo de con(igurao e con(igurando 'uais hosts vo
poder se LlogarM no servidor e 'ue# poder) o&ter privilEgio de acesso R root.
Ar'uivo de con(igurao do ss07 /etc/ssh/sshd_config. 5este ar'uivo deve$se (a%er as
seguintes altera-es7
#Trocar a porta padro
Apostila gerada pela Seo de Rede de Dados do 6 CTA para o curso de Servidores Linux pag. .8/!
Port 1022
# Bloquer o acesso direto do root por ssh
PermitRootLogin no

*nserir no ar'uivo /etc/hosts.deny a seguinte lin0a seguida da lista de endereos *, 'ue
podera# (a%er acesso ao servidor por ss07
sshd: ALL EXCEPT endereodeip1 endereodeip2
*nserir no ar'uivo /etc/profile as seguintes lin0as no (inal do ar'uivo para a desconexo
auto#)tica 'uando o ter#inal (icar ocioso por algu# perDodo de te#po. 5o exe#plo a&aixo o
te#po E de 6< segundos7
TMOUT=60
export TMOUT
Alterar a seguinte lin0a do ar'uivo /etc/inittab para desa&ilitar a reiniciali%ao do siste#a
'uando o teclas SctrlTUSaltTUSdelT (ore# apertadas7
#De
ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now
#Para
ca:12345:ctrlaltdel:/bin/echo Desabilitado pelo administrador
,roi&ir o acesso direta#ente ao console pelo usu)rio rootC o&rigando o usu)rio a se
autenticar co# seu login e depois se pro#over a root. ,ara isso re#ova as lin0as 'ue co#ea# co#
tty seguido de nA#eros do ar'uivo /etc/securetty . 5o se es'uea de ter u# usu)rio e sen0a
cadastrado para poder se LlogarM e caso no deseIe &lo'uear este acessoC ao #enos li#ite a u#a
'uantidade #enor de ter#inaisC co#oC por exe#ploC deixando so#ente tty1 e tty2 e re#ovendo o
restante.
Restringir acesso ao diretJrio /etc/ Fretira de terceiros a per#isso de escrita so&re todos os
ar'uivos no diretJrioG7
Hc0#od $(R o$1 /etc/V
,ara alertar 'ue# tentar se LlogarM no siste#a de 'ue os acessos esto sendo #onitoradosC
altere os seguintes ar'uivos con(or#e os exe#plos a&aixo7
/etc/issue.net e o /etc/issue
###########################################################
##################### A T E N C A O #######################
## ##
## Esse sistema destina-se apenas a pessoas autorizadas. ##
## ##
## Todas atividades sao logadas e verificas regularmente ##
## ##
###################### W A R N I N G ######################
## ##
## This computer system is only for authorized users. ##
## ##
## All activity will be logged and regulary checked. ##
## ##
###########################################################
/etc/#otd
######################################################
## Bem vindo / Welcome ##
## Sistema monitorado / System monitored. ##
######################################################
Apostila gerada pela Seo de Rede de Dados do 6 CTA para o curso de Servidores Linux pag. .3/!
,ara #ontar as parti-es do siste#a li#itando o tipo de acesso a elas e de execuo de
ar'uivos altere o ar'uivo /etc/fstab para 'ue (i'ue da seguinte (or#a7
# / was on /dev/sda3 during installation
UUID=xxx / ext3 errors=remount-ro 0 1
# /boot was on /dev/sda2 during installation
UUID=xxx /boot ext3 defaults,noatime,nodev,nosuid,noexec 0 2
# /home was on /dev/sda9 during installation
UUID=xxx /home ext3 defaults,noexec,nodev,nosuid 0 2
# /tmp was on /dev/sda5 during installation
UUID=xxx /tmp ext3 defaults,noatime,nodev,nosuid,noexec 0 2
# /usr was on /dev/sda8 during installation
UUID=xxx /usr ext3 defaults,noatime,nodev 0 2
# /var was on /dev/sda7 during installation
UUID=xxx /var ext3 defaults,noatime,nodev,nosuid,noexec 0 2
# /var/log was on /dev/sda6 during installation
UUID=xxx /var/log ext3 defaults,nosuid,noexec,noatime 0 2
# swap was on /dev/sda1 during installation
UUID=xxx none swap sw 0 0
/dev/scd0 /media/cdrom0 udf,iso9660 nouser,noauto 0 0

A'ui segue u#a pe'uena explicao dos par>#etros da #ontage#C 'ue (ora# o&tidos no
seguinte endereo eletrWnico 0ttp7//seIalivre.org/dicas$de$0ardening$parte$2/ 7
defaults7 d) R partio as con(igura-es #Dni#as necess)rias para sua #ontage#
auto#)tica na iniciali%ao.
noatime7 no atuali%a os te#pos de acesso aos inodes so&re este siste#a de ar'uivos.
nodev7 &lo'ueia #ontage# de dispositivos nesta partio.
nosuid7 retira as per#iss-es de &it especial SO*D so&re os ar'uivos e diretJrios ali
presentes. Fso#ente o dono do ar'uivo poder) execut)$los ou acess)$losC
respectiva#enteG
noexec7 no per#ite a execuo direta de 'ual'uer &in)rio ou script no siste#a de
ar'uivos #ontado.
Deve$se ta#&E# re#over os usu)rios 'ue I) ve# co# o siste#a e no sero utili%ados e
li#itar o acesso ao shell so#ente R'ueles usu)rios 'ue real#ente necessite#. ,ara execuo deste
passo E &o# veri(icar 'uais servios sero instalados para no preIudicar o (unciona#ento do
siste#a. 5a se'uKnciaC co#andos 'ue re#ove# os usu)rios 'ue nor#al#ente no so utili%ados e
u#a relao da'ueles 'ue no necessita# de s0ell7
/usr/sbin/usermod -L daemon
/usr/sbin/usermod -L bin
/usr/sbin/usermod -L sys
/usr/sbin/usermod -L games
/usr/sbin/usermod -L man
/usr/sbin/usermod -L lp
/usr/sbin/usermod -L mail
/usr/sbin/usermod -L news
/usr/sbin/usermod -L uucp
/usr/sbin/usermod -L proxy
/usr/sbin/usermod -L www-data
/usr/sbin/usermod -L backup
/usr/sbin/usermod -L list
/usr/sbin/usermod -L irc
/usr/sbin/usermod -L gnats
/usr/sbin/usermod -L nobody
/usr/sbin/usermod -L libuuid
Apostila gerada pela Seo de Rede de Dados do 6 CTA para o curso de Servidores Linux pag. .6/!
Osu)rios 'ue no necessita# de s0ell e deve# ser alterados no /etc/passwd7
daemon:x:1:1:daemon:/usr/sbin:/bin/false
sync:x:4:65534:sync:/bin:/bin/sync
Debian-exim:x:101:103::/var/spool/exim4:/bin/false
statd:x:102:65534::/var/lib/nfs:/bin/false
sshd:x:103:65534::/var/run/sshd:/usr/sbin/nologin
apache:x:1001:1001::/home/apache:/bin/false
proftpd:x:104:65534::/var/run/proftpd:/bin/false
ftp:x:105:65534::/home/ftp:/bin/false
messagebus:x:106:106::/var/run/dbus:/bin/false
clamav:x:107:107::/var/lib/clamav:/bin/false
+utro passo 'ue pode (a%er a di(erena E restringir a so#ente o root ter acesso a algu#as
(erra#entas.A&aixoC u#a lista dessas (erra#entas Iunta#ente co# o co#ando para deixar so#ente
o root ter acesso a escritaC leitura e execuo7
chmod 700 /bin/ping
chmod 700 /bin/ping6
chmod 700 /bin/nano
chmod 700 /usr/bin/apt-get
chmod 700 /usr/bin/aptitude
chmod 700 /usr/bin/gcc
chmod 700 /usr/bin/g++
chmod 700 /usr/bin/w
chmod 700 /usr/bin/who
chmod 700 /usr/bin/whereis
chmod 700 /usr/bin/locate
chmod 700 /usr/bin/vim
chmod 700 /usr/bin/make
chmod 700 /usr/bin/scp
chmod 700 /sbin/ifconfig
chmod 750 /etc/alternatives
Ta#&E# deve$se con(igurar cliente para 5T, Fpara atuali%ar 0or)rioG. ,ara talC siga os
seguintes passos7
-*nstalar o ntpdate
Hapt$get install ntpdate
+&s7 5o pode estar rodando o servio de ntp$server na #)'uinaC por 'ue i#pedir) a sincroni%ao
da 0ora. ,ode utili%ar o rccon( para desa&ilitar o inDcio do servio no &oot da #)'uina e para
certi(icar dK o co#ando /etc/init.d/ntp stop.
$ Budar ar'uivo /etc/resolv.con( para utili%ar o D5S do 6CTA
Hna#eserver .<.36./8.38
$ *nserir u#a entrada no cronta& para executar todo dia a sincroni%ao da
0ora co# o servidor de ?rasDlia do Citex.
Hcronta& $e
<< .2 V V V /usr/s&in/ntpdate ntp.e&.#il.&r
$ 6eri(icar se a entrada (oi inserida co# sucesso
Hcronta& $l
9inali%ando estas con(igura-es iniciaisC pode$se agora passar para a instalao do servio.
Apostila gerada pela Seo de Rede de Dados do 6 CTA para o curso de Servidores Linux pag. ./!
Apostila gerada pela Seo de Rede de Dados do 6 CTA para o curso de Servidores Linux pag. .//!
Servidor 'A.
O# servidor LDA, pode ser utili%ado co#o centrali%ador de autenticaoC podendo servir
de autenticao para outros servidoresC co#o Sa#&a e S'uidC e ta#&E# co#o autenticao de
esta-es de tra&al0o.
Instalao
,acotes necess)rios para instalao do servidor Ldap7
slapd ldap$utils d&8.6$util li&nss$ldap li&pa#$ldap li&ldap$2.8$2 nscd sa#&a$doc Fcaso (or
utili%ar a autenticao do Ldap para o sa#&aG
#apt-get install slapd ldap-utils db.!-util libnss-ldap libpa"-ldap libldap-2.-2 nscd sa"ba-doc
,acote instalado para (acilitar o gerencia#ento dos usu)rios e grupos na &ase de dados
Ldap Fldap$account$#anagerG7
#apt-get install ldap-account-"anager
Configurao
ApJs a instalaoC os seguintes ar'uivos de con(igurao deve# ser alterados de acordo
co# as necessidades do servidor Fa'ui est) sendo utili%ado o ca#in0o padro criado na instalao
do &in)rio da distri&uioG7
Antes de iniciar as con(igura-es iniciaisC E necess)rio reali%ar o seguinte passo dentro do
diretJrio /etc/ldap/ 7
$ Criar o ar'uivo slapd.con(
Htouc0 slapd.con(
0et-0lda,0sla,d1-onf
# Este o arquivo de configurao principal do slapd.
#######################################################################
# Secao Global
#######################################################################
# Permite LDAPv2
#allow bind_v2
# Definioes de Schema e objectClass
include /etc/ldap/schema/core.schema
include /etc/ldap/schema/cosine.schema
include /etc/ldap/schema/nis.schema
include /etc/ldap/schema/inetorgperson.schema
## O samba.schema deve ser utilizado no caso do servidor samba
## utilize esta base ldap para autenticao
## este arquivo deve ser copiado e descompactado tendo como origem
## usr/share/doc/samba-doc/examples/LDAP/
include /etc/ldap/schema/samba.schema
# Onde o arquivo .pid esta. O script /etc/init.d/slapd
# nao conseguira parar o servio se voce alterar isso.
Apostila gerada pela Seo de Rede de Dados do 6 CTA para o curso de Servidores Linux pag. .:/!
pidfile /var/run/slapd/slapd.pid
# Lista dos argumentos que sao passados ao servidor
argsfile /var/run/slapd/slapd.args
# ===== Habilita a geracao de log's =====
# Quando em producao colocar 0 se nao precisar de log
loglevel 256
# Diretorio dos modulos dinamicos
modulepath /usr/lib/ldap
moduleload back_bdb
#======================================================================
# Descomente as seguintes linhas para habilitar o SSL e usar o
# certificado default snakeoil.
#TLSCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
#TLSCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
#======================================================================
sizelimit 500
tool-threads 1
########################################################################
## Secao Especfica para Backend,
## do tipo bdb:
########################################################################
backend bdb
database bdb
## A base de diretorio
suffix "dc=teste,dc=com"
## Usuario LDAP_ROOT_DN
rootdn cn=admin,dc=teste,dc=com
## Senha do LDAP_ROOT_DN criptografada com
## slappasswd -h {SSHA} -s Sua_Senha
rootpw {SSHA}yPrD3X23u0h4!nX"#S$%&4c'rsXdP0P
## Checkpoint do database bdb aps 256kb escritos ou 5 minutos terem passado
## desde o ultimo checkpoint
checkpoint 256 5
## Onde os arquivos do database sao fisicamente armazenados
directory "/var/lib/ldap"
dbconfig set_cachesize 0 2097152 0
dbconfig set_lk_max_objects 1500
dbconfig set_lk_max_locks 1500
dbconfig set_lk_max_lockers 1500
## Estruturas de Indices
index cn,sn,uid,displayName pres,sub,eq
index memberUID,mail,givenname eq,subinitial
index objectClass,uidNumber,gidNumber eq
index sambaSID,sambaPrimaryGroupSID,sambaDomainName eq
index uniqueMember,entryCSN,entryUUID eq
############################################################
#Carrega o modulo do protocolo de sincronizacao
###########################################################
moduleload syncprov
Apostila gerada pela Seo de Rede de Dados do 6 CTA para o curso de Servidores Linux pag. 2</!
###########################################################
#Criar o overlay para o syncprov
##########################################################
overlay syncprov
syncprov-checkpoint 100 10
syncprov-sessionlog 100
## Armazenar a data/hora que os registros forem modificados
lastmod on
## Os campos sambaLMPassword,sambaNTPassword,userPassword,
## sambaPasswordHistory e sambaPwdLastSet podem ser alterados
## pelos proprios usuarios - se tiverem se autenticado.
## Outros usuarios nao podem ver estes campos.
access to
attrs=sambaLMPassword,sambaNTPassword,userPassword,sambaPasswordHistory,sambaPwd
LastSet,shadowLastChange
by dn="cn=admin,dc=teste,dc=com" write
by dn="cn=rep%icador,dc=teste,dc=com" read
by anonymous auth
by self write
by * none
###########################################################
#Ativar replicaao da Base LDAP
##########################################################
#by dn="cn=admin,dc=6cta,dc=eb,dc=mil,dc=br" read
#by dn="cn=replicador,dc=6cta,dc=eb,dc=mil,dc=br" write
#by dn="cn=replicador,dc=6cta,dc=eb,dc=mil,dc=br" read
## Ensure read access to the base for things like
## supportedSASLMechanisms. Without this you may
## have problems with SASL not knowing what
## mechanisms are available and the like.
## Note that this is covered by the 'access to *'
## ACL below too but if you change that as people
## are wont to do you'll still need this if you
## want SASL (and possible other things) to work
## happily.
access to dn.base="" by * read
## O dn administrador tem acesso completo, o restante
## podem apenas ler.
access to *
by dn="cn=admin,dc=teste,dc=com" write
by * read
##=========================================================
## Configuracao para SLAVE/BDC
##
## http://www.openldap.org/doc/admin23/syncrepl.html
## Se este servidor eh um SLAVE descomente as linhas abaixo
##=========================================================
##syncrepl rid=100
## provider=ldap://10.56.77.2
## binddn="cn=admin,dc=6cta,dc=eb,dc=mil,dc=br"
## bindmethod=simple
## credentials="${LDAP_ROOT_PW}"
## searchbase="dc=6cta,dc=eb,dc=mil,dc=br"
## type=refreshAndPersist
## retry="60 +"
Apostila gerada pela Seo de Rede de Dados do 6 CTA para o curso de Servidores Linux pag. 2./!
+s ar'uivos seguintes de con(igurao deve# ser con(igurados tanto no servidor 'uanto nos
clientes linux 'ue iro se autenticar no servidor LdapC sendo 'ue os pacotes slapd e db.!-util
deve# ser instalados so#ente no servidor e os restante e# a#&osC servidor e clientes.
0et-0lda,0lda,1-onf
# O acesso ao seu servidor LDAP tem que ser resolvido sem usar LDAP.
# De preferencia coloque o IP ou tenha certeza que o DNS resolve o nome.
host 12!(0(0(1
# O nome distinto da base de procura.
base dc=teste,dc=com
# A identificacao do root do Ldap, ou seja o "Root Password DN"
# A senha deve ser armazenada no arquivo /etc/ldap.secret (mode 600)
rootbinddn cn=admin,dc=teste,dc=com
BINDDN cn=admin,dc=teste,dc=com
## Esta senha deve ser igual a do arquivo slapd.conf
BINPW {SSHA}yPrD3X23u0h4!nX"#S$%&4c'rsXdP0P
# Contexto para pesquisa no LDAP (RFC2307bis)
# Nos usaremos ?sub (e nao o default ?one) porque separamos
# sambaAccounts no ou=Computadores,dc=6cta,dc=eb,dc=mil,dc=br
# e usuarios em ou=Usuarios,dc=6cta2,dc=eb,dc=mil,dc=br
nss_base_passwd dc=teste,dc=com)su*
nss_base_shadow dc=teste,dc=com)su*
nss_base_group ou=Grupos,dc=teste,dc=com)one
# Opcoes de seguranca
ssl no
pam_password crypt
,ara 'ue o prJprio servidor autenti'ue na &ase ldap os seguintes ar'uivos de con(igurao deve#
ser alterados7
0et-0,a*1d0-o**on2a--ount
#
# /etc/pam.d/common-account - authorization settings common to all services
#
account sufficient pam_unix.so
account required pam_ldap.so use_first_pass
session required /lib/security/pam_mkhomedir.so skel=/etc/skel
umask=0022
0et-0,a*1d0-o**on2auth
#
# /etc/pam.d/common-auth - authentication settings common to all services
auth sufficient pam_unix.so
auth required pam_ldap.so use_first_pass
session optional pam_mkhomedir.so skel=/etc/skel/ umask=0077
Apostila gerada pela Seo de Rede de Dados do 6 CTA para o curso de Servidores Linux pag. 22/!
0et-0,a*1d0-o**on2,ass3ord
#
# /etc/pam.d/common-password - password-related modules common to all services
#
password sufficient pam_unix.so nullok obscure min=4 max=8 md5
password required pam_ldap.so try_first_pass
0et-0,a*1d0-o**on2session
#
# /etc/pam.d/common-session - session-related modules common to all services
#
session sufficient pam_ldap.so
session required pam_unix.so use_first_pass
session optional pam_mkhomedir.so skel=/etc/skel umask=0077
session optional pam_limits.so
0et-0nss3it-h1-onf
# /etc/nsswitch.conf
#
# Example configuration of GNU Name Service Switch functionality.
# If you have the `glibc-doc-reference' and `info' packages installed, try:
# `info libc "Name Service Switch"' for information about this file.
passwd: compat ldap
group: compat ldap
shadow: compat ldap
hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
netgroup: nis
0et-0,a*4lda,1-onf
###DEBCONF###
# the configuration of this file will be done by debconf as long as the
# first line of the file says '###DEBCONF###'
#
# you should use dpkg-reconfigure to configure this file
#
# @(#)$Id: pam_ldap.conf,v 1.38 2006/05/15 08:13:31 lukeh Exp $
#
# This is the configuration file for the LDAP nameservice
# switch library and the LDAP PAM module.
#
# PADL Software
Apostila gerada pela Seo de Rede de Dados do 6 CTA para o curso de Servidores Linux pag. 2!/!
# http://www.padl.com
#
host 12!(0(0(1
# The distinguished name of the search base.
base dc=teste,dc=com
# Another way to specify your LDAP server is to provide an
uri ldap://12!(0(0(1
# The LDAP version to use (defaults to 3
# if supported by client library)
ldap_version 3
# The distinguished name to bind to the server with
# if the effective user ID is root. Password is
# stored in /etc/pam_ldap.secret (mode 600)
rootbinddn cn=admin,dc=teste,dc=com
# Do not hash the password at all; presume
# the directory server will do it, if
# necessary. This is the default.
pam_password crypt
# Nos usaremos ?sub (e nao o default ?one) porque separamos
# sambaAccounts no ou=Computadores,dc=6cta,dc=eb,dc=mil,dc=br
# e usuarios em ou=Usuarios,dc=6cta,dc=eb,dc=mil,dc=br
nss_base_passwd dc=teste,dc=com)su*
nss_base_shadow dc=teste,dc=com)su*
nss_base_group ou=Grupos,dc=teste,dc=com)one
0et-0libnss4lda,1-onf
HHHD"?C+59HHH
H t0e con(iguration o( t0is (ile 1ill &e done &; de&con( as long as t0e
H (irst line o( t0e (ile sa;s XHHHD"?C+59HHHX
H
H ;ou s0ould use dp=g$recon(igure li&nss$ldap to con(igure t0is (ile.
H
H YFHGZ*d7 ldap.con(Cv 2.8/ 2<<//</<! <27!<72: lu=e0 "xp Z
H
H T0is is t0e con(iguration (ile (or t0e LDA, na#eservice
H s1itc0 li&rar; and t0e LDA, ,AB #odule.
H
H ,ADL So(t1are
H 0ttp7//111.padl.co#
H
H [our LDA, server. Bust &e resolva&le 1it0out using LDA,.
H Bultiple 0osts #a; &e speci(iedC eac0 separated &; a
H space. Qo1 long nss2ldap ta=es to (ailover depends on
H 10et0er ;our LDA, client li&rar; supports con(igura&le
H net1or= or connect ti#eouts Fsee &ind2ti#eli#itG.
0ost 12!(0(0(1
Apostila gerada pela Seo de Rede de Dados do 6 CTA para o curso de Servidores Linux pag. 28/!
H T0e distinguis0ed na#e o( t0e searc0 &ase.
&ase dc=teste,dc=com
H Anot0er 1a; to speci(; ;our LDA, server is to provide an
uri ldap7//12!(0(0(1
H T0e LDA, version to use Fde(aults to !
H i( supported &; client li&rar;G
ldap2version !
H T0e distinguis0ed na#e to &ind to t0e server 1it0
H i( t0e e((ective user *D is root. ,ass1ord is
H stored in /etc/li&nss$ldap.secret F#ode 6<<G
H Ose Xec0o $n \#;pass1ord\ T /etc/li&nss$ldap.secretX instead
H o( an editor to create t0e (ile.
root&inddn cn=admin,dc=teste,dc=com
H Qas0 pass1ord locall;] re'uired (or Oniversit; o(
H Bic0igan LDA, serverC and 1or=s 1it0 5etscape
H Director; Server i( ;ouXre using t0e O5*^$Cr;pt
H 0as0 #ec0anis# and not using t0e 5T S;nc0roni%ation
H service.
pa#2pass1ord cr;pt
&ind2polic; so(t
nss2&ase2pass1d dc=teste,dc=com)su*
nss2&ase2s0ado1 dc=teste,dc=com)su*
nss2&ase2group ou_NruposCdc=teste,dc=com)one
Ar'uivos de con(igurao do ldap$account$#anager utili%ados para (acilitar o gerencia#ento
da &ase Ldap esto locali%ados no seguinte ca#in0o /usr/share/ldap-account-"anager/config. ,ara
(acilitar o acesso 1e& do ldap$account$#anager costu#o criar o seguinte lin= si#&Jlico
/var/www/la" apontando para o ca#in0o onde se encontra a p)gina inde#. ,ara isso utili%a$se o
seguinte co#ando7
ln $s /usr/s0are/ldap$account$#anager /var/111/la#
ApJs esta alteraoC &asta in(or#ar o endereo *, de onde se encontra o Ldap Account
Banager co# /la# no (inal para acess)$lo. "xe#plo 0ttp7//.2.<.<../la#
0usr0share0lda,2a--ount2*anager0-onfig0la*1-onf
# LDAP Account Manager configuration
#
# Please do not modify this file manually. The configuration can be done
completely by the LAM GUI.
#
###############################################################################
Apostila gerada pela Seo de Rede de Dados do 6 CTA para o curso de Servidores Linux pag. 23/!
# server address (e.g. ldap://localhost:389 or ldaps://localhost:636)
serverURL: ldap://12!(0(0(1:389
# list of users who are allowed to use LDAP Account Manager
# names have to be seperated by semicolons
# e.g. admins: cn=admin,dc=yourdomain,dc=org;cn=root,dc=yourdomain,dc=org
admins: cn=admin,dc=teste,dc=com
# password to change these preferences via webfrontend (default: lam)
passwd: senha
# suffix of tree view
# e.g. dc=yourdomain,dc=org
treesuffix: dc=teste,dc=com
usersuffix: ou=Usuarios,dc=teste,dc=com
groupsuffix: ou=Grupos,dc=teste,dc=com
hostsuffix: ou=Computadores,dc=teste,dc=com
# default language (a line from config/language)
defaultlanguage: pt_BR.utf8:UTF-8:Portugus (Brasil)
# Path to external Script
scriptPath:
# Server of external Script
scriptServer:
# Access rights for home directories
scriptRights: 750
# Number of minutes LAM caches LDAP searches.
cachetimeout: 5
# LDAP search limit.
searchLimit: 0
# Module settings
modules: posixAccount_minUID: 10000
modules: posixAccount_maxUID: 30000
modules: posixAccount_minMachine: 50000
modules: posixAccount_maxMachine: 60000
modules: posixGroup_minGID: 10000
modules: posixGroup_maxGID: 20000
modules: posixGroup_pwdHash: SSHA
modules: posixAccount_pwdHash: SSHA
# List of active account types.
activeTypes: user,group,host,smbDomain
types: suffix_user: ou=Usuarios,dc=teste,dc=com
types: attr_user: #uid;#givenName;#sn;#uidNumber;#gidNumber
types: modules_user: inetOrgPerson,posixAccount,shadowAccount,sambaSamAccount
types: suffix_group: ou=Grupos,dc=teste,dc=com
types: attr_group: #cn;#gidNumber;#memberUID;#description
types: modules_group: posixGroup,sambaGroupMapping
types: suffix_host: ou=Computadores,dc=teste,dc=com
types: attr_host: #cn;#description;#uidNumber;#gidNumber
types: modules_host: account,posixAccount,sambaSamAccount
Apostila gerada pela Seo de Rede de Dados do 6 CTA para o curso de Servidores Linux pag. 26/!
types: suffix_smbDomain: dc=teste,dc=com
types: attr_smbDomain: sambaDomainName:Domain name;sambaSID:Domain SID
types: modules_smbDomain: sambaDomain
0usr0share0lda,2a--ount2*anager0-onfig0-onfig1-fg 5 $o ,re-isa ser
alterado
# password to add/delete/rename configuration profiles (default: lam)
password: {SSHA}xxxxxxxxxxxxxxxxxxxxxx
# default profile, without ".conf"
default: lam
# log level
logLevel: 4
# log destination
logDestination: SYSLOG
Validando e aplicando as configurao do servidor ldap
Antes de iniciar o processo de validaoC caso o Sa#&a no esteIa con(iguradoC siga os
seguintes passos7
$ Adicione o sc0e#a do sa#&a ao ldap
#cp /usr/share/doc/sa"ba-doc/e#a"ples/$%&'/sa"ba.sche"a.g( /etc/ldap/sche"a
#gun(ip /etc/ldap/sche"a/sa"ba.sche"a.g(
,ara aplicar as con(igura-es reali%adas no ar'uivo slapd.con( E necess)rio reali%ar os
seguintes passos7 dentro do diretJrio /etc/ldap/ 7
$ Nerar u# &ac=up da con(igurao anterior
H"v slapd.d slapd.d.bck
$ Criar nova#ente a pasta 'ue ar#a%ena as con(igura-es
H"kdir slapd.d
$ 6eri(icar a sintaxe do ar'uivo slapd.con( e gerar os novos ar'uivos de con(igurao
Hslaptest -f slapd.conf -) slapd.d
$ Colocar o usu)rio 'ue executa o servidor ldap co#o dono dos ar'uivos de con(igurao
#chown -* openldap+openldap slapd.d
9eito issoC &asta reiniciar o openldap F/etc/init.d/slapd restartG e pronto` Sua nova
con(igurao (oi reali%ada.
As altera-es reali%adas no ldap$account$#anager so aplicadas assi# 'ue os ar'uivos so
salvos eC para aplic)$lasC &asta atuali%ar a p)gina do navegador.
Apostila gerada pela Seo de Rede de Dados do 6 CTA para o curso de Servidores Linux pag. 2/!
Servidor Sa*ba
Instalao
,acotes necess)rios para instalao do servidor sa#&a co# autenticao e# &ase Ldap
sa#&a sa#&a$co##on sa#&a$doc li&s#&client s#&ldap$tools
#apt-get install sa"ba sa"ba-co""on sa"ba-doc libs"bclient s"bldap-tools
Configurao
ApJs a instalao os seguintes ar'uivos de con(igurao deve# ser alterados de acordo
co# as necessidades do servidor Fa'ui est) sendo utili%ado o ca#in0o padro criado na instalao
do &in)rio da distri&uioG7
0et-0sa*ba0s*b1-onf
[global]
dos charset = CP850
unix charset = ISO8859-1
### Nome do dominio para as estaes Windows
workgroup = ',S',
### Nome do servidor para rede Windows
netbios name = PD-
### Comentrio sbre o nome
server string = Ser.idor/PD-
security = user
### Local dos arquivos de log que ser gerado por usurio
log file = /var/log/samba/log.%U
### Script que ser executado quando a estao windows
### se autenticar na rede atravs deste servidor Samba
logon script = startup.bat
domain logons = Yes
os level = 99
preferred master = yes
domain master = yes
guest ok = No
logon path = \\PD-\profiles\%U
lanman auth = yes
client NTLMv2 auth = yes
client lanman auth = yes
admin users = administrador,root,@admins,@Administradores
# Nao mostrar no servidor o Wizard "Adicionar Impressora"
show add printer wizard = No
# Quais interfaces de rede utilizar
interfaces = lo, eth0
bind interfaces only = Yes
## Configuraao do servidor LDAP para autenticao
passdb backend = ldapsam:ldap://12!(0(0(1
ldap admin dn = cn=admin,dc=teste,dc=com
ldap suffix = dc=teste,dc=com
ldap group suffix = ou=0rupos,dc=teste,dc=com
Apostila gerada pela Seo de Rede de Dados do 6 CTA para o curso de Servidores Linux pag. 2//!
ldap user suffix = ou=suarios,dc=teste,dc=com
ldap machine suffix = ou=-omputadores,dc=teste,dc=com
ldap ssl = no
# Permitir que usuarios do grupo "Administradores do Dominio" possam
ingressar maquinas
# WinXP/Win2000 ao dominio samba
# to the domain
enable privileges = yes
# Scrips utilizados para Gerenciar Usuarios da M$
# adiconar/remover Usuarios
add user script = /usr/sbin/smbldap-useradd -m "%u"
delete user script = /usr/sbin/smbldap-userdel "%u"
# adiconar/remover Grupos
add group script = /usr/sbin/smbldap-groupadd -p "%g"
delete group script = /usr/sbin/smbldap-groupdel "%g"
# Scripts para adiconar/remover Usuarios nos Grupos
add user to group script = /usr/sbin/smbldap-groupmod -m "%u" "%g"
delete user from group script = /usr/sbin/smbldap-groupmod -x "%u" "%g"
# Script para definir o grupo primario do usuario
set primary group script = /usr/sbin/smbldap-usermod -g "%g" "%u"
# Script para adicionar maquina Win NT/XP/7 ingressar no Dominio
add machine script = /usr/sbin/smbldap-useradd -W "%u"
# Otimizacoes recomendadas em
smb ports = 445 139
name resolve order = lmhosts host wins bcast
utmp = Yes
time server = Yes
template shell = /bin/false
winbind use default domain = no
map acl inherit = Yes
strict locking = Yes
# Como o cliente ira' se comunicar com o servidor
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
# Servidor Wins da Rede
# Samba pode ser ou um Servidor WINS, ou Cliente WINS, mas nao ambos
wins support = yes
# Nao tentar fazer um lock nestes arquivos
veto files = /*.eml/*.nws/*.{*}/
veto oplock files = /*.doc/*.xls/*.mdb/
# Tratar os arquivos que comecam com "." como ocultos para maquinas Windows
hidedotfiles = yes
#=============================
#===== Compartilhamentos =====
#=============================
[netlogon] ## Nome do compartilhamento que sera exibido
comment = Servico de Logon em Rede [ startup.bat ]
path = 1pro2i%es1sam*a1net%o3on
## Compartilhamento especial para perfil ambulante do windows
[profiles]
comment = Diretorio Pessoal de Cada Usuario [ H:\ ]
path = 1pro2i%es1
### Pode sofres escrita
writeable = Yes
Apostila gerada pela Seo de Rede de Dados do 6 CTA para o curso de Servidores Linux pag. 2:/!
### O compartilhamento ser exibido ou ser oculto
browseable = no
read only = no
create mask = 0600
directory mask = 0700
profile acls = yes
vfs objects = recycle
[Dados]
comment = Pasta de Arquivos de Trabalho [ Z:\ ]
path = /dados/
force create mode = 0777
force directory mode = 0777
vfs objects = recycle
guest ok = yes
case sensitive = no
admin users = administrador,root,4admins
read only = no
create mask = 0764
directory mask = 0775
profile acls = yes
#inherit acls = yes
#inherit permissions = yes
### Compartilhamento especial para o home do usurio
[homes]
comment = Pasta de Arquivos Particulares dos Usuarios [ U:\ ]
path = /home/
force create mode = 0777
force directory mode = 0777
vfs objects = recycle
guest ok = yes
case sensitive = no
msdfs proxy = no
admin users = administrador,root,4admins
read only = no
create mask = 0764
directory mask = 0775
profile acls = yes
inherit acls = yes
inherit permissions = yes
### Compartilhamento especial para impressoras
[printers]
comment = Spool de Impressao SMB
path = /var/spool/samba
browseable = No
guest ok = Yes
printable = Yes
create mask = 0700
use client driver = yes
Caso no existaC crie os ar'uivos s#&ldap.con( e s#&ldap2&ind.con(7
Htouc0 /etc/s#&ldap$tools/s#&ldap.con(
Htouc0 /etc/s#&ldap$tools/s#&ldap2&ind.con(
Apostila gerada pela Seo de Rede de Dados do 6 CTA para o curso de Servidores Linux pag. !</!
0et-0s*blda,2tools0s*blda,1-onf
# Coloque aqui seu proprio SID
# para obter este numero faca: net getlocalsid
SID="S5156521526616476885333798728756403!3!02"
########################################################################
#
# LDAP Configuration
#
#########################################################################
# Slave LDAP : para melhorar a performance
slaveLDAP="12!(0(0(1"
slavePort="389"
# Master LDAP : necessario para operacoes de escrita
masterLDAP="12!(0(0(1"
masterPort="389"
# Usar TLS para LDAP
# Se "setado" para 1, esta opcao ira usar start_tls para coneccoes
ldapTLS="0"
# How to verify the server's certificate (none, optional or require)
# see "man Net::LDAP" in start_tls section for more details
verify="require"
# CA certificate
# see "man Net::LDAP" in start_tls section for more details
cafile="/etc/smbldap-tools/ca.pem"
# certificate to use to connect to the ldap server
# see "man Net::LDAP" in start_tls section for more details
clientcert="/etc/smbldap-tools/smbldap-tools.pem"
# key certificate to use to connect to the ldap server
# see "man Net::LDAP" in start_tls section for more details
clientkey="/etc/smbldap-tools/smbldap-tools.key"
# Sufixo LDAP
suffix="dc=teste,dc=com"
# Onde sao armazenados os Usuarios
usersdn="ou=Usuarios,${suffix}"
# Onde estao armazenados os Computadores
computersdn="ou=Computadores,${suffix}"
# Onde estao armazenados os Grupos
groupsdn="ou=Grupos,${suffix}"
# Onde estao armazenados as entradas Idmap (usadas se o samba eh um servidor
membro do dominio)
idmapdn="ou=Idmap,${suffix}"
# Onde sao armazenadas os proximos uidNumber e gidNumber disponiveis
sambaUnixIdPooldn="sambaDomainName=',S',,${suffix}"
# Escopo default utilizado
scope="sub"
# Metodo de criptografacao utilizado pelo Unix (CRYPT, MD5, SMD5, SSHA, SHA,
CLEARTEXT)
Apostila gerada pela Seo de Rede de Dados do 6 CTA para o curso de Servidores Linux pag. !./!
hash_encrypt="SSHA"
# if hash_encrypt is set to CRYPT, you may set a salt format.
# default is "%s", but many systems will generate MD5 hashed
# passwords if you use "$1$%.8s". This parameter is optional!
crypt_salt_format="%s"
########################################################################
#
# Unix Accounts Configuration
#
########################################################################
# Login defs
# Default Login Shell
userLoginShell="/bin/bash"
# Home directory
userHome="/home/%U"
# Gecos
userGecos="System User"
# Default User (POSIX and Samba) GID
defaultUserGid="513"
# Default Computer (Samba) GID
defaultComputerGid="515"
# Skel dir
skeletonDir="/etc/skel"
# Tempo de vida, em dias, das senhas dos usuarios Windows.
# Comente a linha abaixo se nao desejar expirar esta senha
# Cuidado com o valor do atributo sambaPwdMustChange
#defaultMaxPasswordAge="99"
defaultMaxPasswordAge="99"
########################################################################
#
# SAMBA Configuration
#
########################################################################
# The UNC path to home drives location (%U username substitution)
# Ex: \\My-PDC-netbios-name\homes\%U
# Just set it to a null string if you want to use the smb.conf 'logon home'
# directive and/or disable roaming profiles
userSmbHome="\\PD-\homes\%U"
# The UNC path to profiles locations (%U username substitution)
# Ex: \\My-PDC-netbios-name\profiles\%U
# Just set it to a null string if you want to use the smb.conf 'logon path'
# directive and/or disable roaming profiles
#userProfile="\\PDC-SRV\profiles\%U"
userProfile="\\PD-\profiles\%U"
# The default Home Drive Letter mapping
# (will be automatically mapped at logon time if home directory exist)
# Ex: H: for H:
userHomeDrive="U:"
# The default user netlogon script name (%U username substitution)
Apostila gerada pela Seo de Rede de Dados do 6 CTA para o curso de Servidores Linux pag. !2/!
# if not used, will be automatically username.cmd
# Ex: %U.cmd
# userScript="startup.cmd" # make sure script file is edited under dos
# deixe comentado para utilizar o script de logon do /etc/samba/smb.conf
userScript="startup(*at"
# Domain appended to the users "mail"-attribute
# when smbldap-useradd -M is used
mailDomain=""
########################################################################
#
# SMBLDAP-TOOLS Configuration (default are ok for a RedHat)
#
########################################################################
# Allows not to use smbpasswd (if with_smbpasswd == 0 in smbldap_conf.pm) but
# prefer Crypt::SmbHash library
with_smbpasswd="0"
smbpasswd="/usr/bin/smbpasswd"
# Allows not to use slappasswd (if with_slappasswd == 0 in smbldap_conf.pm)
# but prefer Crypt:: libraries
with_slappasswd="0"
slappasswd="/usr/sbin/slappasswd"
0et-0s*blda,2tools0s*blda,4bind1-onf
slaveDN="cn=admin,dc=teste,dc=com"
slavePw="senha"
masterDN="cn=admin,dc=teste,dc=com"
masterPw="senha"
Alguns comandos:
,ara testar a sintax do ar'uivo s#&.con(
testpar".sa"ba,
,ara adicionar a sen0a de root da &ase ldap no sa#&a
s"bpasswd --
,opulando a &ase ldap co# grupos e usu)rios padr-es do @indo1s7
s"bldap-populate
Adicionando o usu)rio root na &ase ldap7
s"bpasswd -a root
Observaes importantes
Antes de executar os co#andos net getlocalsid e s"bldap-populate deve$se executar o
co#ando s#&pass1d $@ in(or#ando a sen0a do ad#in da &ase ldap e o sa#&a I) deve estar
con(igurado e executando.
Apostila gerada pela Seo de Rede de Dados do 6 CTA para o curso de Servidores Linux pag. !!/!
auando (or inserir u# #)'uina no do#DnioC deve$se ter u# usu)rio cadastrado no grupo de
ad#inistradores para 'ue se possa (a%er a incluso.
6eri(i'ue na p)gina do la# se na a&a LDo#Dnios Sa#&aM (oi i#portado o do#Dnio
correta#ente. Caso ele no ten0a sido i#portadoC deve$se inserir #anual#ente o do#DnioC co# o
no#e e S*D especi(icados no ar'uivos s#&.con( e s#&ldap.con(. Caso contr)rioC no ser) possDvel
adicionar usu)rios no do#Dnio.
+s ar'uivos 'ue possue# a sen0a e# claro da &ase Ldap deve ter per#isso de leitura e
escrita so#ente para o rootC para isso execute o seguinte co#ando7 ch"od !.. ar/uivo.conf .
Caso apJs todos estes passos o usu)rio persista e# ter pro&le#as ao se logar no do#DnioC
reinicie o servidor LDA, e tente nova#ente.
Fontes de consulta Samba:
,ara autenticao do @indo1s
0ttp7//1i=i.sa#&a.org/index.p0p/@indo1s
Apostila gerada pela Seo de Rede de Dados do 6 CTA para o curso de Servidores Linux pag. !8/!
S6uid
O# servidor utili%ando o s'uid E co#u#ente utili%ado para se co#partil0ar conex-es de
internet i#pondo u# (iltro para esta navegaoC seIa de conteAdo ou de usu)riosC porE# vale
le#&rar 'ue ne# toda navegao aceita prox; e algu#as aceita# so#ente prox;s se# autenticao
eC para 'ue estas seIa# acessadasC deve# ser li&eradas direta#entes no (ire1all de saDda para
internet. 6ale ressaltar 'ue o 'ue est) sendo li&erado deve ser (eito co# prudKncia e co#
consciKncia.
+utra grande vantage# da utili%ao de u# prox; E o cache 'ue ele pode reali%arC
agili%ando a navegaoC principal#ente e# acessos lentos.
Instalao
,acotes necess)rios para instalao do servidor S'uidC sendo 'ue para instalao do sarg no
De&ian 6 E necess)rio incluir o seguinte repositJrio no sources.listC deb
http://backports.debian.org/debian-backports squeeze-backports main .
s/uid Fou s'uid!G sarg
#apt-get install s/uid sarg
Atual#ente esta#os tra&al0ando co# o pacote s'uid 'ue (ornece a verso 2. pois tive#os
algu#as inco#pati&ilidades co# o s'uid!.
Configurao
+ s'uid possui u# ar'uivo Anico de con(igurao7 o s'uid.con(. ,orE#C para (acilitar a
ad#inistrao cria#os ar'uivos de texto auxiliares 'ue contero os do#Dnios e outras in(or#a-es
utEis e #ais constante#entes alteradas. ,ara con(igurao do sarg deve$se gerar o ar'uivo sarg.con(
e u# script para sua execuo e agenda#ento.
0et-0s6uid0s6uid1-onf
###################################################################
## ##
## CONFIGURACAO ARQUIVO SQUID.CONF ##
## ##
###################################################################
# Porta de comunicao do squid
http_port 3128
#Linhas necessrias para que a mesma tela de caixas de e-mail sejam abertas
#em navegadores diferentes
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY
# Configuracao de cache
Apostila gerada pela Seo de Rede de Dados do 6 CTA para o curso de Servidores Linux pag. !3/!
cache_mem 100 MB
cache_swap_low 50
cache_swap_high 95
maximum_object_size 25600 KB
minimum_object_size 10 KB
maximum_object_size_in_memory 256 KB
cache_dir ufs /var/cache/squid 10240 256 256
cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
error_directory /usr/share/squid/errors/Portuguese
coredump_dir /var/cache/squid
# Servidores de DNS
dns_nameservers 10(7!(4(34 201(10(1(2
visible_hostname Ser.idor/Pro:y
emulate_httpd_log off
ftp_passive on
############### Autenticacao de usuarios Squid com ldap ######################
auth_param basic program /usr/lib/squid/ldap_auth -v 3 -R -b "ou=suarios,
dc=teste,dc=com" -h 182(179(60(1
# auth_param basic children 2
auth_param basic realm Ser.idor ;nternet
# auth_param basic credentialsttl 30 minutes
#### End autenticacao ###############################################
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320
####################### ACL
# Rede que ter acesso ao proxy
acl all src 0(0(0(010(0(0(0
acl manager proto cache_object
acl localhost src 12!(0(0(11266(266(266(266
acl to_localhost dst 12!(0(0(019
### Configurao das portas de comunicao que sero aceitas pelo squid
acl SSL_ports port 443 563
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 25 # smtp
acl Safe_ports port 443 563 587 995 # https, snews, pops, smtps
acl Safe_ports port 70 # gopher
acl Safe_ports port 110 # pop3
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 4661 8999 23000 #SERPRO
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl Safe_ports port 10000 # webmin
acl CONNECT method CONNECT
########################### Regras
acl senha proxy_auth REQUIRED
acl servidores src 182(179(60(10 182(179(60(11
Apostila gerada pela Seo de Rede de Dados do 6 CTA para o curso de Servidores Linux pag. !6/!
acl user_livre proxy_auth *astos
acl rede_interna src 10(67(209(0122
acl dominios_exp dstdomain "/etc/squid/dominios_liberados.txt"
acl palavras_liberadas url_regex -i "/etc/squid/palavras_liberadas.txt"
acl dominios_fora dstdomain "/etc/squid/dominios_liberados_fora.txt"
acl governamental dstdomain "/etc/squid/governamentais.txt"
acl liberados url_regex -i "/etc/squid/liberados_sem_senha.txt"
acl bloquear url_regex -i "/etc/squid/bloqueio.txt"
############################## Controle por horario
acl segunda time M 13:00-18:00
acl tqq time 08:00-13:00
acl sexta time 08:00-12:00
acl expediente_manha time M T W H F 08:00-12:00
acl expediente_tarde time M T W H 13:15-16:30
acl download urlpath_regex .avi$ .mpeg$ .mpg$ .wma$ .mp3$ .iso$
acl html rep_mime_type text/html
############################# Controle por usuario
acl users_fora proxy_auth "/etc/squid/users_fora.txt"
acl users_restrito proxy_auth "/etc/squid/users_restrito.txt"
http_access allow liberados Safe_ports
http_access allow governamental Safe_ports
http_access allow servidores Safe_ports
http_access allow palavras_liberadas Safe_ports
### acesso total
http_access allow all user_livre
#### Limita o tamanho do download exceto de txt e html
reply_body_max_size 0 allow html
reply_body_max_size 10485760 allow all !user_livre
reply_body_max_size 10485760 allow all !user_livre
### Bloqueio de download
http_access deny download
### Liberacoes
http_access deny bloquear
http_access deny users_fora expediente_manha
http_access deny users_fora expediente_tarde
http_access allow dominios_exp Safe_ports
http_access allow dominios_fora !expediente_manha !expediente_tarde Safe_ports
#http_access allow users_fora !expediente_manha !expediente_tarde Safe_ports
http_reply_access allow all Safe_ports
icp_access allow all Safe_ports
### Bloqueia todo o restante
http_access deny all
### Ou para liberar todo o restante
#http_access allow all
0et-0s6uid0sarg1-onf
#sarg.conf
language Portuguese
access_log /var/log/squid/access.log
Apostila gerada pela Seo de Rede de Dados do 6 CTA para o curso de Servidores Linux pag. !/!
title "<e%at=rio do S"uid"
##### Ajustes de aparncia
font_face Arial
header_color darkblue
header_bgcolor blanchedalmond
header_font_size -1
background_color white
text_color black
text_bgcolor beige
title_color greed
##### Fim dos ajustes de aparncia
temporary_dir /tmp
www_document_root /var/www/
#### Local onde as pginas de relatrios sero gravadas
output_dir /var/www/squid-reports
index yes
resolve_ip yes
#user_ip yes
user_ip no
#### Estes arquivos tambm devem ser criados e conter informao de usurios ou
#### Endereos de mquinas das quais no estaro no relatrio
exclude_users /etc/squid/sarg.users
exclude_hosts /etc/squid/sarg.hosts
exclude_codes /etc/squid/sarg.exclude_codes
### Formato de data e hora padro nosso
date_format e
topuser_sort_field BYTES reverse
#### Quantidade de top sites
topsites_num 200
max_elapsed 28800000
0et-0s6uid0gerar4relatorio1sh
#!/bin/bash
## Inicia o Sarg
## Variaveis
dia=`date +%d`
mes=`date +%m`
ano=`date +%y`
## Comando que gera os logs com base no arquivo de configurao
sarg -f /etc/squid/sarg.conf
## BackUP dos arquivos dos quais ja foram gerados os logs
cat /var/log/squid/access.log >>/var/log/logs-antigos/squid/access.log_$dia-
$mes-$ano
### Caso queira eliminar as informaes dos logs que j foram gerados
#echo > /var/log/squid/access.log
cat /var/log/squid/cache.log >> /var/log/logs-antigos/squid/cache.log_$dia-$mes-
$ano
#cho > /var/log/squid/cache.log
cat /var/log/squid/store.log >> /var/log/logs-antigos/squid/store.log_$dia-$mes-
$ano
#echo > /var/log/squid/store.log
Apostila gerada pela Seo de Rede de Dados do 6 CTA para o curso de Servidores Linux pag. !//!
Observaes importantes
ApJs a pri#eira con(igurao do s'uid E necess)rio para seu (unciona#ento criar o local
onde ser) gerado o cac0e de navegao e depois reinici)$lo apJs cada alterao.
Criar o ca#in0o do cac0e
"kdir /var/cache/s/uid
Atriuir as per#is-es ao usu)rio do s'uid
chown pro#y+pro#y /var/cache/s/uid
Criar a su& arvore para gerao do cac0e
s/uid -(
,ara parar o s'uid
/etc/init.d/s/uid stop
,ara inici)$lo
/etc/init.d/s/uid start
,ara recarreg)$lo se# parar o servio
/etc/init.d/s/uid reload ou s/uid -k reconfigure
Apostila gerada pela Seo de Rede de Dados do 6 CTA para o curso de Servidores Linux pag. !:/!
%s7n-
+ rs;nc E u#a (erra#enta de cJpia de ar'uivos 'ue pode ser utili%ada pela rede co#o
(erra#enta de &ac=up. A grande vantage# de sua utili%ao E 'ueC ao invEs do co#ando scp ou cpC a
partir da segunda cJpia para o #es#o destino ele sJ ir) copiar os ar'uivos 'ue so(rera#
#odi(icaoC econo#i%ando te#po e &anda.
Instalao
,acotes necess)rios para instalao do servidor sa#&a co# autenticao e# &ase Ldap
rs;nc ss0
#apt-get install rsync ssh
6ale salientar 'ue o rs;nc deve estar instalado tanto no servidor 'uanto no cliente.
Configurao
+ rs;nc utili%a u#a conexo ss0 para copiar os ar'uivos e isto torna necess)rio 'ue se
digite a sen0a a cada conexoC para evitar isso pode$se esta&elecer u#a relao de con(iana entre
os servidores para 'ue se (aa a conexo se# sen0aC para isso (aa o seguinte7
Nere as c0aves ss0 no servidor 'ue ir) executar o rs;nc deixando todos os par>#etros e#
&rancoC apenas apertando SenterT
ssh-keygen
Depois das c0aves geradas copie o ar'uivo /root/.ssh/id_rsa.pub para o outro servidor e
adicione o seu conteAdo no ar'uivo /root/.ssh/authori(ed_keys
S-ri,t e!e*,lo 5 ba-8u,1sh
#!/bin/bash
#
# backup.sh
servidor="10.1.2.3"
dia=`date +%d`
mes=`date +%m`
ano=`date +%y`
# local onde o arquivo de log sera armazenado
SYNC_LOG="/var/log/backup.log"
# Delimitador de entrada de log
echo "********* INICIO ****************" >> $SYNC_LOG
date >> $SYNC_LOG
echo "Inicio da sincronizacao dos arquivos do servidor" >> $SYNC_LOG
# Diretrios a serem backup`ados do servidor
#############################################################################
# /home/
# /etc - arquivos de configuracao
Apostila gerada pela Seo de Rede de Dados do 6 CTA para o curso de Servidores Linux pag. 8</!
# /root - pasta com os arquivos e scripts do administrador
#############################################################################
DIRETORIOS1="/home/ /etc/ /root/"
for i in $DIRETORIOS1; do
echo "*** Pasta a ser sincronizada" >> $SYNC_LOG
echo $i >> $SYNC_LOG
rsync -pRavz --delete-excluded root@$servidor:$i /backup-servidor/ >>
$SYNC_LOG
done
date >> $SYNC_LOG
echo "Fim da sincronizacao" >> $SYNC_LOG
echo "************* FIM **************" >> $SYNC_LOG
echo >> $SYNC_LOG
cat $SYNC_LOG >> /var/log/backup.log_$dia-$mes-$ano
echo > $SYNC_LOG
Alguns ,ar9*etros do -o*ando
$a $ usada no #odo de ar'uiva#ento. "xplicao nas p)ginas de #anual7 Le# ter#os geraisC
u#a #aneira de (a%er &ac=up recursiva#ente e preservar X'uaseX tudoM. Benciona# ainda 'ue a
opo no preserva 0ardlin=s devido R co#plexidade do processo.
A opo $a E descrita co#o sendo e'uivalente ao seguinte7 $rlptgoDC 'ue signi(ica7
$r _ recursivo 4 processa su&pastas e ar'uivos encontrados dentro da (onte
$l _ lin=s 4 'uando lin=s si#&Jlicos so encontradosC recria$os no destino
$p _ per#iss-es 4 di% ao rs;nc 'ue as per#iss-es do destino sero iguais Rs da (onte
$t _ ti#es F0oraG 4 di% ao rs;nc 'ue a 0ora a ser aposta nos ar'uivos do destino ser) a #es#a
da 0ora da (onte
$' _ 'uiet FdiscretoG 4 di% ao rs;nc 'ue a saDda seIa #Dni#a
$o _ o1ner FdonoG 4 di% ao rs;nc 'ueC se estiver rodando co#o rootC os donos dos ar'uivos
copiados para o destino devero ser os #es#os da (onte
$D _ e'uivalente a usar estes dois co#andos7 $$devices $$specials
$$devices FdispositivosG _ (a% co# 'ue o rs;nc trans(ira ar'uivos de caracteres e &locos de
dispositivos para o siste#a re#oto recriar esses dispositivos. *n(eli%#enteC se vocK no incluir
ta#&E# $$super no #es#o co#andoC o e(eito ser) nulo
$$specials FespeciaisG _ (a% co# 'ue o rs;nc trans(ira ar'uivos especiaisC co#o os soc=ets e
(i(os
$g $ usada para preservar o \grupo\ dos ar'uivos (onte no destino
$" $ usada para preservar \execut)vel\ dos ar'uivos (onte no destino
$v $ usada para au#entar a 'uantidade de in(or#a-es #ostradas. auando tiver certe%a de
estar copiando o 'ue vocK 'uerC o LvM pode ser re#ovido
$% $ usada para co#pri#ir os dados a ser copiados] co# essa opo o processo de cJpia to#a
#uito #enos te#poC por'ue o ar'uivo a ser trans(erido E #enor do 'ue seu ta#an0o real
Apostila gerada pela Seo de Rede de Dados do 6 CTA para o curso de Servidores Linux pag. 8./!
$$delete$a(ter Fapagar depoisG_ apaga ar'uivos/pastas no destino 'ue no estivere# #ais na
(onte D",+*S da trans(erKnciaC no A5T"S. "ste La(ter FXdepoisXGM E usado e# caso de pro&le#as
ou de u# trava#ento e o Ldelete FXapagarXGM E usado para re#over os ar'uivos do destino 'ue no
#ais existe# no siste#a (onteC no apagados e# nosso destinoC ocupando espao
desnecessaria#ente
$$exclude FexcluirG_ E usado u# padro para excluir ar'uivos e/ou pastas do &ac=up. 5o
exe#ploC $$exclude_LVbM excluir) do &ac=$up T+D+ e aOALaO"R ar'uivo ou pasta cuIos no#es
ter#ina# co# o caractere LbM. Apenas u# padro pode ser usado co# a opo $$excludeC portanto
se vocK precisar de #ais de u#C vocK ter) de entrar co# lin0as adicionais na lin0a de co#ando.
+utras op-es Ateis7
$c 4 adiciona outro nDvel de c0ecage# entre a (onte e o destino apJs o &ac=upC o 'ue aca&a
por tornar todo o processo #ais lento. Co#o o rs;nc I) (a% essa co#parao durante o
processa#entoC essa opo no (oi incluDda por ser #era#ente u#a (or#a de redund>ncia
$$super 4 segundo descrio de suas p)ginas de #anualC co# essa opo o siste#a de destino
tentar) atividades de superusu)rioC isto EC o root.
$$dr;$run 4 si#ula u#a trans(erKncia. P co#o usar a opo $s co# o
$$rs0_Xss0 $p2222X
9onte7 0ttp7//111.e&a0.co#.&r/content/A?AAA?9n<AN/#anual$rs;nc
e 0ttp7//111.sa#&a.org/(tp/rs;nc/rs;nc.0t#l
Apostila gerada pela Seo de Rede de Dados do 6 CTA para o curso de Servidores Linux pag. 82/!
Ba-ula
+ &acula E u# servio de centrali%ao de &ac=up e E co#posto por trKs processos
principais. O# processo diretor 'ue gerencia todo o servidorC u# processo cliente respons)vel por
per#itir a ligao do diretor co# co# os ar'uivos dos 'uais ser) (eito o &ac=upC e u# processo
respons)vel pelo acesso R #Ddia onde ser) reali%ado o &ac=up.
Instalao
*nstalando as dependKncias para o &acula e para o 1e&acula7
apt-get install openssl make gcc build-essential libssl-dev libpq5 mysql-server
libmysql++-dev perl unp apache2 php5 mc mtx lsscsi mt-st libncurses5-dev g++
libpq-dev postgresql-contrib libqt4-dev libqwt5-qt4 smartmontools libapache2-
mod-php5 php5-mysql php5-gd
?aixar a ulti#a verso do aplicativo no seguinte endereo7
0ttp7//source(orge.net/proIects/&acula/(iles/&acula/
,ara instalao do servidor siga os seguintes passos7
Desco#pacte o pacote &aixado no /opt
tar -xzvf bacula-5.2.10.tar.gz -C /opt/
A'ui est) sendo de#onstrada a instalao Iunta#ente co# o &anco de dados B;S'l. "ntre
no local onde o pacote (oi desco#pactado e continue seguindo os passos a&aixo7
cd /opt/bacula-5.2.10
./configure --with-mysql
make
make install
make install-autostart
Con(igurao do &anco de dados. Caso pre(ira criar u# usu)rio di(erente do root para
utili%ar a &ase de dadosC pode$se cri)$lo no B;S'l e su&stituir nos dois pri#eiros scripts o usu)rio
root e sen0a do root para o usu)rio criadoC neste caso so#ente o Alti#o script deve ser executado
co#o o root do B;S'l.
cd /etc/bacula
./create_mysql_database -u root -psenha
./make_mysql_tables -u root -psenha
./grant_mysql_privileges -u root -psenha
Configurando o servidor
Algu#as considera-es i#portantes. Antes de con(igurar o &acula E necess)rio sa&er 'ual o
ca#in0o para acesso ao ro&W de &ac=up e aos drives do ro&W. ,ara issoC utili%e o co#ando lsscsi -g.
+ resultado ser) co#o o exe#plo a&aixo.
Apostila gerada pela Seo de Rede de Dados do 6 CTA para o curso de Servidores Linux pag. 8!/!
+nde o #ediu#x F/dev/sch.G E o local do ro&W e os tape F/dev/st. e /dev/st1G os locais do
drive.
Crie u# lin= co# o no#e /dev/c0anger para o ro&W para 'ue o &acula (uncione correta#ente
utili%ando o seguinte co#ando7
ln -s /dev/sch0 /dev/changer
,ara o correto (unciona#ento do &aculaC E necess)rio con(igurar correta#ente 'uatro
ar'uivosC sendo os seguintes7 &acula$(d.con( Far'uivo de con(igurao do cliente/agente do &aculaGC
&acula$sd.con( Far'uivo de con(igurao de storage 'ue ser) utili%ado pelo &aculaGC &acula$dir.con(
Far'uivo de con(igurao do diretor do &acula 'ue (a% a Iuno de todas con(igura-esC
re(erenciando a storage e todos os clientes/agentesG e o &console.con( Fcon(igurao do ter#inal do
&aculaG.
0et-0ba-ula0ba-ula2fd1-onf
#
# Default Bacula File Daemon Configuration file
#
# For Bacula release 5.2.6 (21 February 2012) -- debian 6.0.4
Director {
#Mesmo nome configurado no arquivo bacula-dir.conf
Name = >acu%a5dir
#Mesma senha utilizado para configurao do cliente no bacula-dir.conf
Password = "senha do c%iente"
}
Director {
#Mesmo nome configurado no arquivo bacula-dir como monitor do sistema
Name = >acu%a5mon
Password = "senha monitoramento"
Monitor = yes
}
FileDaemon {
#### Nome do cliente
Name = >acu%a52d
FDport = 9102 # where we listen for the director
WorkingDirectory = /var/bacula/working
Pid Directory = /var/run
Maximum Concurrent Jobs = 20
}
# Send all messages except skipped files back to Director
Messages {
Name = Standard
director = >acu%a5dir = all, !skipped, !restored
}
Apostila gerada pela Seo de Rede de Dados do 6 CTA para o curso de Servidores Linux pag. 88/!
0et-0ba-ula0ba-ula2sd1-onf
# Default Bacula Storage Daemon Configuration file
#
# For Bacula release 5.2.6 (21 February 2012) -- debian 6.0.4
#
Storage { # definition of myself
Name = Bacula-sd
SDPort = 9103 # Director's port
WorkingDirectory = "/var/bacula/working"
Pid Directory = "/var/run"
Maximum Concurrent Jobs = 20
}
Director {
Name = Bacula-dir
Password = "mesma senha que ser utilizada no bacula-dir.conf"
}
Director {
Name = Bacula-mon
Password = "senha de monitoramento"
Monitor = yes
}
#Configurao do robo de fitas
Autochanger {
Name = TL-DELL # Nome dado ao robo
Device = Drive-1, Drive-2 # quais drives pertencem a ele
# Comando para scolher qual drive utilizar
Changer Command = "sh -c '/etc/bacula/mtx-changer %c %o %S %a %d'"
# Caminho para acesso ao robo encontrado com o comando lsscsi
Changer Device = /dev/changer
}
#Configurao dos drives do robo
Device {
Name = Drive-1 # Nome do drive
Drive Index = 0 #indice dos crives, comeando por 0
Media Type = LTO4 # Tipo de fita utilizada no drive
Archive Device = /dev/st0 #Local para comunicao com o drive
AutomaticMount = yes; # Montagem automtica
AlwaysOpen = yes;
LabelMedia = no;
RemovableMedia = yes;
RandomAccess = no;
AutoChanger = yes
Maximum File Size = 1500GB # Tamanho mximo de cada fita
Spool Directory = /home/bacula/spool #Local para spool
Alert Command = "sh -c 'tapeinfo -f %c |grep TapeAlert|cat'" # comando de erro
# Alert Command = "sh -c 'smartctl -H -l error %c'"
}
Device {
Name = Drive-2 #
Drive Index = 1
Media Type = LTO4
Archive Device = /dev/st1
Apostila gerada pela Seo de Rede de Dados do 6 CTA para o curso de Servidores Linux pag. 83/!
AutomaticMount = yes; # when device opened, read it
AlwaysOpen = yes;
LabelMedia = no;
RemovableMedia = yes;
RandomAccess = no;
Maximum File Size = 1500GB
AutoChanger = yes
Spool Directory = /home/bacula/spool
Alert Command = "sh -c 'tapeinfo -f %c |grep TapeAlert|cat'"
# Alert Command = "sh -c 'smartctl -H -l error %c'"
}
#### Configurao para gravar o backup em disco
Device {
Name = FileStorage
Media Type = File
Archive Device = /home/bacula #local onde sera gerado o bakcup
LabelMedia = yes; # lets Bacula label unlabeled media
Random Access = Yes;
AutomaticMount = yes; # when device opened, read it
RemovableMedia = no;
AlwaysOpen = no;
}
Messages {
Name = Standard
director = Bacula-dir = all
operator = root = mount
}
0et-0ba-ula0ba-ula2dir1-onf
Con(igurao do diretor do &aculaC ar'uivo principal do servidor e# 'ue se con(igura os clientes e
volu#es utili%ados.
#
# Default Bacula Director Configuration file
#
# For Bacula release 5.2.6 (21 February 2012) -- debian 6.0.4
Director {
Name = Bacula-dir # Nome do usurio do servidor bacula que foi colocado
# no bacula-fd.conf e no bacula-sd.conf
DIRport = 9101 # Porta padro para comunicao
QueryFile = "/etc/bacula/query.sql"
WorkingDirectory = "/var/bacula/working"
PidDirectory = "/var/run"
Maximum Concurrent Jobs = 50
Password = "senha para acesso do console" Console password bconsole.conf
Messages = Daemon
}
Catalog { #configurao para acesso ao banco de dados
Name = MyCatalog
dbname = "bacula"; dbuser = "bacula"; dbpassword = "senha_do_usuario_bacula"
}
###### De quem sera feito o backup
Apostila gerada pela Seo de Rede de Dados do 6 CTA para o curso de Servidores Linux pag. 86/!
Client {
Name = Bacula-fd # nome colocado no arquivo bacula-fd.conf do cliente
Address = 127.0.0.1 ###Endereo ip do cliente
FDPort = 9102
Catalog = MyCatalog
Password = "senha configurada mo bacula-fd do cliente"
File Retention = 30 days # Quando tempo manter o arquivo gravado
Job Retention = 6 months
# quanto tempo manter o registro do trabalho
AutoPrune = yes
# Apagar automaticamente os arquivos vencidos
}
####Outros clientes e rotinas de backup em arquivos separados
## Para facilitar a configuracao, coloque a configuracao de cada cliente
## em um arquivo separado, colocando nele somente informacoes referentes
## a somente aquele cliente, e refencie o arquivo como no exemplo abaixo
## para que ele seja incluido no bacula
## Sarg
@/etc/bacula/bacula-dir-sarg.conf
####### POOL - Volumes de backup
Pool {
Name = Default
Pool Type = Backup
Recycle = yes # Bacula can automatically recycle Volumes
AutoPrune = yes # Prune expired volumes
Volume Retention = 365 days # one year
}
Pool {
Name = TesteBacula
Pool Type = Backup
Recycle = yes
AutoPrune = yes
Volume Retention = 6d
Maximum Volumes = 10
}
######### Agendamentos do backup
Schedule {
Name = "BaculaDiario"
Run = Level=Full Pool=TesteBacula daily at 23:00
}
Schedule {
Name = "WeeklyCycleAfterBackup"
Run = Full sun-sat at 23:30
}
########### Arquivos a serem backup
# Catalogo do banco de dados do bacula
FileSet {
Name = "Catalog"
Include {
Apostila gerada pela Seo de Rede de Dados do 6 CTA para o curso de Servidores Linux pag. 8/!
Options {
signature = MD5
}
File = "/var/bacula/working/bacula.sql"
}
}
#### Teste de backup dos log do bacula
FileSet {
Name = "Bacula_FULL"
Include {
Options {
signature = MD5
}
File = /var/log
}
Exclude {
File = /var/bacula/working
File = /tmp
File = /proc
File = /tmp
File = /.journal
File = /.fsck
}
}
######### Local do armazenamento
Storage {
Name = Bacula-sd ##Nome da storage configurada no arquivo bacula-sd.conf
Address = 10.56.76.78
SDPort = 9103
Password = "senha da storage" #senha do bacula-sd.conf
Device = TL-DELL ##dispositivo configura do bacula-sd (robo)
MediaType = LTO4
MaximumConcurrentJobs = 20
Autochanger = yes
}
Storage {
Name = File
# Do not use "localhost" here
Address = 10.56.76.78 # N.B. Use a fully qualified name here
SDPort = 9103
Password = "senha da storage" #senha do bacula-sd.conf
Device = FileStorage
Media Type = File
}
##### Tarefa padrao que servira de base para as outras
JobDefs {
Name = "DefaultJob"
Type = Backup
Level = Incremental
Client = Bacula-fd
Storage = Bacula-sd
Messages = Daemon
Pool = Default
Apostila gerada pela Seo de Rede de Dados do 6 CTA para o curso de Servidores Linux pag. 8//!
Priority = 10
Prefer Mounted Volumes = no # para utilizar os dois drives do robo
simultaneamente
Write Bootstrap = "/var/bacula/working/%c.bsr"
}
### Tarefas especificas
# Backup do catalogo da base de dados
Job {
Name = "BackupCatalog"
JobDefs = "DefaultJob"
Level = Full
FileSet="Catalog"
Pool = TesteBacula
Schedule = "WeeklyCycleAfterBackup"
RunBeforeJob = "/etc/bacula/make_catalog_backup.pl MyCatalog"
RunAfterJob = "/etc/bacula/delete_catalog_backup"
Write Bootstrap = "/var/bacula/working/%n.bsr"
Priority = 11 # run after main backup
}
Job {
Name = "BackupLog"
JobDefs = "DefaultJob"
Level = Full
FileSet="Bacula_FULL"
Schedule = "BaculaDiario"
Pool = TesteBacula
# RunBeforeJob = "/etc/bacula/make_catalog_backup.pl MyCatalog"
# RunAfterJob = "/etc/bacula/delete_catalog_backup"
# Write Bootstrap = "/var/bacula/working/%n.bsr"
Priority = 10 # run after main backup
}
Job {
Name = "BackupLog-file"
JobDefs = "DefaultJob"
Level = Full
FileSet="Bacula_FULL"
Schedule = "BaculaDiario"
Storage = File
Pool = TesteBacula
# RunBeforeJob = "/etc/bacula/make_catalog_backup.pl MyCatalog"
# RunAfterJob = "/etc/bacula/delete_catalog_backup"
# Write Bootstrap = "/var/bacula/working/%n.bsr"
Priority = 10 # run after main backup
}
Job {
Name = "RestoreFiles"
Type = Restore
Client=Bacula-fd
FileSet="Bacula_FULL"
Storage = Bacula-sd
Pool = Default
Messages = Standard
Where = /tmp/bacula-restores
}
Apostila gerada pela Seo de Rede de Dados do 6 CTA para o curso de Servidores Linux pag. 8:/!
Messages {
Name = Standard
mailcommand = "/sbin/bsmtp -h localhost -f \"\(Bacula\) \<%r\>\" -s \"Bacula:
%t %e of %c %l\" %r"
operatorcommand = "/sbin/bsmtp -h localhost -f \"\(Bacula\) \<%r\>\"
-s \"Bacula: Intervention needed for %j\" %r"
mail = root@localhost = all, !skipped
operator = root@localhost = mount
catalog = all, !skipped, !saved
console = all, !skipped, !saved
append = "/var/bacula/working/log" = all, !skipped
catalog = all
}
Messages {
Name = Daemon
mailcommand = "/sbin/bsmtp -h localhost -f \"\(Bacula\) \<%r\>\" -s \"Bacula
daemon message\" %r"
mail = root@localhost = all, !skipped
catalog = all, !skipped, !saved
console = all, !skipped, !saved
append = "/var/bacula/working/log" = all, !skipped
}
Console {
Name = Bacula-mon
Password = "senha"
CommandACL = status, .status
}
0et-0ba-ula0b-onsole1-onf
#
# Bacula User Agent (or Console) Configuration File
#
Director {
Name = Bacula-dir
DIRport = 9101
address = 127.0.0.1
Password = "senha do console configurado no bacula-dir.conf"
}
,ara testar os ar'uivos de con(igurao utili%e os seguintes co#andos7
bacula-dir -c -t /etc/bacula/bacula-dir.conf
bacula-sd -c -t /etc/bacula/bacula-sd.conf
bacula-fd -c -t /etc/bacula/bacula-fd.conf
5o 0avendo nen0u# erro nos ar'uivosC reinicie o &acula utili%ando o script 'ue encontra$se
e# /etc/bacula/bacula co# o par>#etro restart ou start+
/etc/bacula/bacula start
Otili%e o ter#inal do &acula para veri(icar se o aplicativo est) (uncionado correta#ente e
Apostila gerada pela Seo de Rede de Dados do 6 CTA para o curso de Servidores Linux pag. 3</!
execute rotinas de (or#a #anual. ,ara isso utili%e o ca#ando a&aixo e digite help para o&ter aIuda
co# os co#andos do ter#inal7
bconsole -c /etc/bacula/bconsole.conf
)nstala+o do -liente0agente Ba-ula
*nstalando as dependKncias para o cliente7

apt-get install build-essential
,ara instalao do cliente siga os seguintes passos7
Desco#pacte o pacote &aixado no /opt
tar -xzvf bacula-5.2.10.tar.gz -C /opt/
cd /opt/bacula-5.2.10/
./configure --enable-client-only
make
make install
make install-autostart
5a instalao do cliente o Anico ar'uivo 'ue deve se con(igurar E o /etc/bacula/bacula-
fd.conf0 da #es#a (or#a #ostrada anterior#enteC alterando o no#e do cliente e #ais algu#a
in(or#ao 'ue Iulgar necess)ria.
Algu*as di-as do b-onsole
A&aixo alguns co#andos 'ue pode# ser executados dentro do ter#inal do &aculaC &console.
help - Para obter a lista de comandos:
run - Executar uma rotina de backup na mo;
label codebar - Para catalogar as fitas utilizando o cdigo de barras
label - Para criar um volume
status - Para verificar o funcionamento do servidor.
Instalao e configurao do Webacula
As dependKncias I) (ora# instaladas Iunto co# as do &acula. ,ara &aixar o aplicativo utili%e
o endereo a&aixo7
0ttp7//source(orge.net/proIects/1e&acula/(iles/
Desco#pacte o pacote &aixado no /var/www
tar -xzvf webacula-5.5.rc1.tar.gz -C /var/www
?aixe o seguinte pacote 'ue ta#&E# E dependencia do @e&acula7
Apostila gerada pela Seo de Rede de Dados do 6 CTA para o curso de Servidores Linux pag. 3./!
0ttp7//(ra#e1or=.%end.co#/releases/cend9ra#e1or=$.....3/cend9ra#e1or=$.....3$#ini#al.tar.g%
Desco#pacte e copie o conteAdo da pasta li&rar; para o 1e&acula7
tar $x%v( cend9ra#e1or=$.....3$#ini#al.tar.g%
cd cend9ra#e1or=$.....3$#ini#al
cp -r ./library/ /var/www/webacula-5.5.1/
/var/www/webacula-5.5.1/install/db.conf
# See also application/config.ini
# bacula settings
db_name="*acu%a"
# for Sqlite only
db_name_sqlite="/var/bacula/working/bacula.db"
db_user="*acu%a"
# CHANGE_THIS
db_pwd="senha/mys"%/*acu%a"

# Webacula web interface settings
#
# Built-in superuser login is 'root'
#
# CHANGE_THIS
webacula_root_pwd="senha/acesso/ao/?e*acu%a"
Despois execute o script para criao e con(igurao do &anco de dados
/var/www/webacula-5.5.1/install/MySql/./10_make_tables.sh
/var/www/webacula-5.5.1/install/MySql/./20.acl_make_tables.sh
0var033303eba-ula2:1:110ht*l01hta--ess
# Comente esta primeira linha e desomente a debaixo
#SetEnv APPLICATION_ENV development
SetEnv APPLICATION_ENV production
0et-0,h,:0a,a-he20,h,1ini
### Altere a seguinte linha para que fique igual abaixo
max_execution_time = 3600
,ara con(igurar o apac0e &asta copiar o ar'uivo de con(igurao 'ue I) ve# co# o
@e&acula con(or#e co#ando a&aixo7
cp /var/111/1e&acula$3.3../install/apac0e/1e&acula.con( /etc/apac0e2/con(.d/
0et-0a,a-he20-onf1d03eba-ula1-onf
Alterar as seguintes lin0as
Apostila gerada pela Seo de Rede de Dados do 6 CTA para o curso de Servidores Linux pag. 32/!
### Altere os locais marcados deacordo com sua rede e local de instalao
Alias /webacula /var/www/webacula-5.5.1/html
<Directory /var/www/webacula-5.5.1/html>
RewriteEngine On
RewriteBase /webacula
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
php_flag magic_quotes_gpc off
php_flag register_globals off
Options Indexes FollowSymLinks
AllowOverride All
Order deny,allow
Deny from all
Allow from 127.0.0.1
Allow from localhost
Allow from ::1
#
# change the settings below
#
Allow from 192.168.0.0/24
</Directory>
*ncluindo u# #Jdulo no apac0e7
#a2enmod
no pro#pt 'ue a&rir) digite rewrite tecle SenterT
Reinicie o apac0e
/etc/init.d/apache2 restart
Con(igure as per#iss-es para acesso do 1e&acula]
chown -R www-data. /var/www/webacula
0var033303eba-ula0a,,li-ation0-onfig1ini
## Altere as seguintes linhas
db.adapter = PDO_MYSQL
db.config.host = %oca%host
db.config.username = root
db.config.password = senha/do/mys"%
db.config.dbname = *acu%a
bacula.sudo = @@
bacula.bconsole = "1s*in1*conso%e" # caminho do bconsole
bacula.bconsolecmd = "-n -c /etc/bacula/bconsole.conf" #conf do bconsole
Crie o grupo &acula e adicione o usu)rio do apac0e nele7
Apostila gerada pela Seo de Rede de Dados do 6 CTA para o curso de Servidores Linux pag. 3!/!
groupadd bacula
usermod -aG bacula www-data
Alterar as seguintes per#is-es
chown root:bacula /sbin/bconsole
chmod u=rwx,g=rx,o= /sbin/bconsole
chown root:bacula /etc/bacula/bconsole.conf
chmod u=rw,g=r,o= /etc/bacula/bconsole.conf
Agora E sJ acessar http+//ip_do_webcacula/webacula . Caso no (uncione veri(i'ue o log de
erro do apac0e F/var/log/apache2/error.logGC se estiver aparecendo u# #ensage# de erro co#o a
#ostrada a&aixo (aa a alterao sugerida na se'uKncia7
[Wed Aug 29 10:19:22 2012] [error] [client X.X.X.X] PHP Fatal error: Uncaught
exception 'Zend_Exception' with message 'Bacula version mismatch for the Catalog
database. Wanted 12, got 14. ' in /var/www/webacula-
5.5.1/html/index.php:186\nStack trace:\n#0 {main}\n thrown in
/var/www/webacula-5.5.1/html/index.php on line 186
"ntre no /var/www/webacula-1.1.1/ht"l/inde#.php e edite o seguinte par>#etro colocando a
verso do &acula 'ue E retornado pelo siste#aC con(or#e destacado na #ensage# de erro aci#aC
neste caso de .2 para .8.
define('BACULA_VERSION', 14); // Bacula Catalog version
Fontes de ,es6uisa
A instalao deste servidor &acula (oi &aseado nos tutorias e artigos e docu#entao dos
seguintes sites7
0ttp7//111.&acula.co#.&r/
0ttp7//111.&acula.org/en/dpage_docu#entation
Apostila gerada pela Seo de Rede de Dados do 6 CTA para o curso de Servidores Linux pag. 38/!
),tables
+ ipta&les E o (ire1all padro do linux e I) ve# instalado co# 'uase todas as distri&ui-es eC
para utili%)$loC &asta i#ple#entar as regras e estas deve# ser carregadas todas as ve%es na
iniciali%ao do siste#aC &astando criar u# script para isso. 6ale le#&rar 'ueC para u#a #aior
seguranaC a polDtica padro deve ser &arrar tudo e li&erar apenas o necess)rio.
!emplo com v"rias regras
# "Carregando modulos"
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_tables
modprobe ipt_state
modprobe iptable_nat
modprobe ip_nat_ftp
modprobe ipt_limit
#"Limpando regras das tabelas de filtros"
iptables -F
iptables -t nat -F
#"Definindo as politicas padrao"
iptables --policy INPUT DROP
iptables --policy OUTPUT ACCEPT
iptables --policy FORWARD DROP
# Para ativar roteamento dinamico pelo kernel"
echo 1 > /proc/sys/net/ipv4/ip_forward
# Libera acesso total da rede interna para intranet e vice-versa
iptables -A FORWARD -s $rede -d $intranet -j ACCEPT
iptables -A FORWARD -s $intranet -d $rede -j ACCEPT
#LIBERA pcsecinfor para acesso ao servidor e passagem com mascaramento de ip
iptables -A FORWARD -s $pcsecinfor -j ACCEPT
iptables -A INPUT -s $pcsecinfor -j ACCEPT
iptables -t nat -A POSTROUTING -s $pcsecinfor -j MASQUERADE
# Libera acesso ao serpro
iptables -t nat -A POSTROUTING -s $rede -d acesso.serpro.gov.br -j MASQUERADE
iptables -A FORWARD -s $rede -d acesso.serpro.gov.br -j ACCEPT
#LIBERA passagem pela maquina com mascaramento dos ip
iptables -A FORWARD -s $ip-origem -j ACCEPT
iptables -t nat -A POSTROUTING -s $ip-origem-j MASQUERADE
# LIBERA acesso total aos servidores de DNS
iptables -A FORWARD -d $ip-destino -j ACCEPT
iptables -t nat -A POSTROUTING -d $ip-destino -j MASQUERADE
# Contra DoS:
iptables -A FORWARD -i $eth-externa -p tcp --syn -m limit --limit 1/s -j ACCEPT
# Bloqueia o apache pela rede externa
iptables -A INPUT -i $eth-externa -p tcp --dport 80 -j REJECT
# Contra Port Scanners:
iptables -A FORWARD -i $eth-externa -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m
limit --limit 1/s -j ACCEPT
Apostila gerada pela Seo de Rede de Dados do 6 CTA para o curso de Servidores Linux pag. 33/!
# Limitar o ping interno
iptables -A INPUT -i $eth-externa -p icmp --icmp-type echo-request -m limit
--limit 1/s -j ACCEPT
# Bloquear porta:
iptables -A INPUT -i $eth-externa -p tcp --dport 31337 -j DROP
iptables -A INPUT -i $eth-externa -p udp --dport 31337 -j DROP
# Redirecionamento
iptables -t nat -A PREROUTING -p tcp -d $ipexterno -m multiport --dport
80,443,9090 -j DNAT --to $ip-interno
iptables -A FORWARD -d $ip-interno -j ACCEPT
iptables -t nat -A PREROUTING -p tcp -i $eth-externa --dport 80 -j DNAT --to
$ip-interno:80
#Aceitcao da porta 80 pela rede interna
iptables -A INPUT -i $eth-interna -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -i lo -p tcp --dport 80 -j ACCEPT
# Liberacao de acesso SSH para acesso remoto interno e bloqueio externo
iptables -A INPUT -p tcp --dport 22 -i $eth-externa -j DROP
iptables -A INPUT -p tcp --dport 22 -i $eth-interna -m state --state
NEW,ESTABLISHED,RELATED -j ACCEPT
# Liberacao de um range de portas TCP para conexes estabelecidas
iptables -A INPUT -p tcp --dport 1022:65535 -m state --state ESTABLISHED,RELATED
-j ACCEPT
iptables -A FORWARD -p tcp --dport 1022:65535 -m state --state
ESTABLISHED,RELATED -j ACCEPT
+&servao so&re as regras 'ue deve# seguir a seguinte sitaxe7
iptables -t <tabela> -(A,I ou D) <chain> regra -j <ao>
As principais ta&elas citadas nos exe#plos aci#a so a filter F'ue E a padro e pode ser
o#itida co#o nas regras aci#aG e a nat Futili%ada para #ascara#ento e redireciona#entoG.
A prJxi#a opo deve ser $A Fpara adicionar a regra no (inal da listaGC $* Fpara in(or#ar a
posio da regraG e $D Fpara re#over a regraG. Le#&rando 'ue as regras so anali%adas da pri#eira
da lista atE a'uele 'ue case co# a entradaC caso no case co# nen0u#a ai vale a polDtica padro.
5a se'uKncia ve# os par>#etros da regra e por Alti#o a ao 'ue na ta&ela filter pode ser $I
ACC",T Fpara aceitarGC $I DR+, Fpara descartar o pacoteG e $I R"e"CT Fpara in(or#ar a 'ue#
envio o pacote 'ue este ser) descartadoG.
,ara #ais in(or#a-es pode$se acessar o seguinte endereo da e'uipe respos)vel pelo
suporte da (erra#enta7
0ttp7//111.net(ilter.org/docu#entation/Q+@T+/pt/pac=et$(iltering$Q+@T+.0t#l
Script e!emplo para inicialio do sistema #etc#init$d#iptables%rules
start() {
#############################
#!/bin/bash
# iptables_rules.sh
#
# Regras para servidor web-html
Apostila gerada pela Seo de Rede de Dados do 6 CTA para o curso de Servidores Linux pag. 36/!
#
#
# Limpando as regras
#
iptables -P INPUT ACCEPT
iptables -Z
iptables -F
iptables -t nat -Z
iptables -t nat -F
#
#Configurando a Protecao anti-spoofing
echo "1" > /proc/sys/net/ipv4/conf/all/rp_filter
echo "Protecao anti-spoofing ..............................[ OK ]"
# Impedimos que um atacante possa maliciosamente alterar alguma rota
echo 0 > /proc/sys/net/ipv4/conf/all/accept_redirects
echo "Impedimos alterar alguma rota .......................[ OK ]"
# Utilizado em diversos ataques, isso possibilita que o atacante determine o
"caminho" que seu
# pacote vai percorrer (roteadores) ate seu destino. Junto com spoof, isso se
torna muito perigoso.
echo 0 > /proc/sys/net/ipv4/conf/all/accept_source_route
echo "Impossibilita que o atacante determine o "caminho" ....[ OK ]"
# Protecao contra responses bogus
echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
echo "Protecao contra responses bogus .....................[ OK ]"
# Protecao contra ataques de syn flood (inicio da conexao TCP). Tenta conter
ataques de DoS.
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
echo "Protecao contra ataques de syn ......................[ OK ]"
### Passo 3: Carregando os modulos do iptables ###
# Ativa 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
echo "Carregando os modulos ...............................[ OK ]"
# Politicas padroes
#
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
echo "Politica padro implementada.. ......................[ OK ]"
#
# SSH na porta 76622 da rede interna
#
iptables -A INPUT -s 10(67(!7(0122 -p tcp --dport 76622 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j REJECT
# Aceitando acesso do localhost
#
iptables -A INPUT -i lo -s 127.0.0.0/8 -j ACCEPT
#
# Aceitando coneccoes estabelecidas
#
Apostila gerada pela Seo de Rede de Dados do 6 CTA para o curso de Servidores Linux pag. 3/!
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#
# FTP
iptables -A INPUT -s 10.0.0.0/8 -p tcp --dport 20:21 -j ACCEPT
iptables -A INPUT -s 10.0.0.0/8 -p tcp --dport 60000:62000 -j ACCEPT
#
# HTTP/Apache
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
#
# Limitando o ping
iptables -A INPUT -i eth0 -p icmp --icmp-type echo-request -m limit --limit 1/s
-j ACCEPT
#
# Porta de backup do bacula
iptables -A INPUT -s 10(67(!7(!9 -p tcp --dport 8102 -j ACCEPT
echo "Liberao de portas Permitidas.......................[ OK ]"
############################################
# Proteo contra port scanners
iptables -A SCANNER -m limit --limit 15/m -j LOG --log-prefix "FIREWALL: port
scanner: "
iptables -A SCANNER -j DROP
iptables -A INPUT -p tcp --tcp-flags ALL FIN,URG,PSH -i eth0 -j SCANNER
iptables -A INPUT -p tcp --tcp-flags ALL NONE -i eth0 -j SCANNER
iptables -A INPUT -p tcp --tcp-flags ALL ALL -i eth0 -j SCANNER
iptables -A INPUT -p tcp --tcp-flags ALL FIN,SYN -i eth0 -j SCANNER
iptables -A INPUT -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -i eth0 -j SCANNER
iptables -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -i eth0 -j SCANNER
iptables -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -i eth0 -j SCANNER
echo "Scaner de Portas ....................................[ OK ]"
# Protecaocontra syn-flood
iptables -A FORWARD -p tcp --syn -m limit --limit 2/s -j ACCEPT
# Protecao contra ping da morte
iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j
ACCEPT
#
}
stop() {
iptables -P INPUT ACCEPT
iptables -Z
iptables -F
iptables -t nat -Z
iptables -t nat -F
}
status() {
iptables -L
iptables -t nat -L
}
case "$1" in
start)
echo "Iniciando servico $1 "
start
;;
stop)
echo "Parando servico $1 "
stop
;;
status)
Apostila gerada pela Seo de Rede de Dados do 6 CTA para o curso de Servidores Linux pag. 3//!
status
;;
*)
echo "USO: service <script> {start|stop|status}"
exit 1
;;
esac
exit 0
##**** Este script est liberando as portas 20,21,80 e 443 ****##
ApJs a criao do scriptC reali%e os seguintes passos7
Dar per#isso de execuo ao ar'uivo7
Hc0#od uUx ipta&les2rules
Adicionar o script co#o servio7
Hupdate$rc.d ipta&les2rules de(aults
,ara iniciar/parar e veri(icar o status do servio7
Hservice ipta&les2rules start f stop f status
Alguns comandos &teis
Listar as regras
iptables -$
iptables -t nat -$
Li#par as regras
iptables -)
iptables -t nat -)
;irtualiza+o
A virtuali%ao per#ite executar v)rias #)'uinas virtuais e# u#a Anica #)'uina (DsicaC
co# cada #)'uina virtual co#partil0ando os recursos desse co#putador (Dsico e# v)rios
a#&ientes. B)'uinas virtuais di(erentes consegue# executar siste#as operacionais di(erentes e
v)rios aplicativos no #es#o co#putador (Dsico. A C,OC a #e#Jria RABC o disco rDgido e o
controlador de rede podero ser incluDdos para criar u#a #)'uina virtual total#ente (uncional e
capa% de executar u# siste#a operacional e aplicativos prJpriosC exata#ente co#o u# co#putador
\real\. A soluo de virtuali%ao 'ue utili%a#os E o 6B1are vSp0ere.
Instalao do V'(are
Ser) de#onstado a'ui o 'uo si#ples E o processo de instalao. ,orE#C no pode ser
ignorada a 'uesto de co#pati&ilidade de 0ard1are para a instalao. "nto reco#enda#os se#pre
Apostila gerada pela Seo de Rede de Dados do 6 CTA para o curso de Servidores Linux pag. 3:/!
o acesso R QCL do produto a (i# de veri(icar se u# deter#inado 0ard1are E suportado pelo "S^i 3.
A lista de 0ard1are co#patDvel pode ser acessada e#7
0ttp7//111.v#1are.co#/resources/co#pati&ilit;
"nto va#os l) aos passos e telas7
*nsira o D6D de instalaoC e ligue o servidor
+s ar'uivos necess)rios para a instalao sero carregados do CD/D6D
Apostila gerada pela Seo de Rede de Dados do 6 CTA para o curso de Servidores Linux pag. 6</!
O#a tela L'uase gr)(icaM ser) #ostradaC I) co# as in(or#a-es de C,O e #e#JriaC #ostrando
ainda os #Jdulos/ar'uivos sendo carregados
A tela de ?oas$6indas surgir) indicando a verso do so(1tare a ser instalado e advertindo so&re a
co#pati&ilidade de 0ard1are
Apostila gerada pela Seo de Rede de Dados do 6 CTA para o curso de Servidores Linux pag. 6./!
Co#o de costu#eC E necess)rio concordar co# o Acordo de Licena para poder prosseguir
"# seguida ser) solicitado a escol0a do local Funidade de discoG a ser utili%ado para a instalao
Apostila gerada pela Seo de Rede de Dados do 6 CTA para o curso de Servidores Linux pag. 62/!
"scol0a o padro de teclado
+ "S^i re'uer 'ue a sen0a do Root seIa de(inida na instalao
+ instalador ir) veri(icar o siste#a R procura de algu# 0ard1are inco#patDvel. Se (or encontrado
algu# 0ard1are inco#patDvelC u#a tela ser) apresentada. "ssa inco#pati&ilidade poder) ser algo
'ue no per#itir) a instalao prosseguir ou si#ples#ente u# alertaC se# #aiores pro&le#as
Apostila gerada pela Seo de Rede de Dados do 6 CTA para o curso de Servidores Linux pag. 6!/!
+ siste#a co#ecar) a ser instalado e u#a tela ser) #ostrada assi# 'ue a instalao (or concluDda
co# sucesso. *nstalao concluDda. Reinicie o servidor
Configurao do V'(are
ConcluDda a instalao do 6B1are e reiniciado o servidorC deve#os reali%ar as
con(igura-es iniciais para 'ue seIa possDvel criar as #)'uinas virtuais.
ApJs o servidor reiniciarC a tela aci#a ser) exi&idaC co# as in(or#a-es de C,OC Be#Jria e
ta#&E# co# a ORL para acessar o servidor e poder gerenci)$lo por algu# navegador @e&
Apostila gerada pela Seo de Rede de Dados do 6 CTA para o curso de Servidores Linux pag. 68/!
A sen0a do Root ser) re'uerida
Selecione a opo para editar as con(igura-es da rede de gerencia#ento
"scol0a L*, Con(igurationM co#o #ostrado a&aixo
Apostila gerada pela Seo de Rede de Dados do 6 CTA para o curso de Servidores Linux pag. 63/!
Ao invEs de usar u# endereo din>#icoC con(igure seu 0ost "S^i co# u# endereo est)ticoC
con(or#e o enderea#ento da sua rede local
"scol0a a opo LD5S Con(igurationM para con(igurar os servidores D5S a sere# usadosC &e#
co#o o 0ostna#e
Digite o *, do servidor D5S pri#)rio e o 0ostna#eC le#&rando 'ue o *, do Servidor D5S
Secund)rio E opcional
Apostila gerada pela Seo de Rede de Dados do 6 CTA para o curso de Servidores Linux pag. 66/!
Ser) necess)rio reiniciar a conexo de rede de gerencia#ento
ApJs reiniciar a a rede de gerencia#ento e sair da tela de con(iguraoC a tela aci#a E #ostradaC
indicando o 0ostna#e e o novo endereo *, atri&uDdo
*nstalao e con(igurao inicial (eitas co# sucesso. + Servidor agora est) pronto para as
Apostila gerada pela Seo de Rede de Dados do 6 CTA para o curso de Servidores Linux pag. 6/!
pri#eiras tare(as adicionais de con(igurao e criao das pri#eiras B)'uinas 6irtuais.
E!tra
)"gina p*p para troca de sen*a em base +,A)
+s seguintes ar'uivos deve# ter seus no#es #antidos e estar dentro do #es#o diretJrioC no
Apostila gerada pela Seo de Rede de Dados do 6 CTA para o curso de Servidores Linux pag. 6//!
servidor ldap ta#&E# co# servidor 1e& co# p0p (uncionado.
estilo1-ss
/* CSS Document */
body {
font:12px/1.5 Verdana, Arial, Helvetica, sans-serif;
background:#FFFFFF;
color:#3399CC;
text-align:center;
float:center;
}
.formulario{
width:300px;
height:auto;
position:absolute;
left:50%;
top:10%;
margin-left:-150px;
background-color: #FFFFFF;
border:solid 1px #d7d7d7;
padding-bottom:6px;
padding-left:4px;
}
.formulario p {
margin:5px;
padding-bottom:0px;
font-size:13px;
font-weight:bold;
text-align:left;
}
.formulario label {
width:260px;
height:auto;
margin-bottom:4px;
float: left;
text-align:right;
}
.botao {
margin:10px;
}
inde!1ht*l
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" type="text/css" href="estilo.css">
<script language="javascript">
Apostila gerada pela Seo de Rede de Dados do 6 CTA para o curso de Servidores Linux pag. 6:/!
function validaForm(){
f=document.form1;
if(f.login.value==""){
alert("O campo \"Login\" deve ser preenchido!");
f.login.focus();
return false;
}
if(f.senha_atual.value==""){
alert("O campo \"Senha Atual\" deve ser preenchido!");
f.senha_atual.focus();
return false;
}
if(f.senha_nova.value==""){
alert("O campo \"Senha Nova\" deve ser preenchido!");
f.senha_nova.focus();
return false;
}
if(f.senha_conf.value==""){
alert("O campo \"Confirma Senha\" deve ser preenchido!");
f.senha_conf.focus();
return false;
}
if(f.senha_nova.value!=f.senha_conf.value){
alert("As novas senhas devem ser iguais!");
f.senha_nova.focus();
return false;
}
}
</script>
</head>
<body>
<div class="formulario">
<p>Altera Senha do LDAP</p><HR/>
<form action="senha.php" name="form1" method="POST" onSubmit="return
validaForm();">
<label>Login :
<input type="text" name="login" id="login" value="" /></label><br>
<label>Senha Atual:
<input type="password" name="senha_atual" id="senha_atual" value=""
/></label><br>
<label>Nova Senha :
<input type="password" name="senha_nova" id="senha_nova" value=""
/></label><br>

<br>
<label>Confirma Senha :
<input type="password" name="senha_conf" id="senha_conf" value=""
/></label><br>

<br>

Apostila gerada pela Seo de Rede de Dados do 6 CTA para o curso de Servidores Linux pag. </!
<input type="submit" name="submit" id="submit" value="Enviar" class="botao" />
</form></div>
</div>
</body>
</html>

senha1,h,
<?php
// DADOS DO FORM
$usuario=$_POST['login'];
$senha_atual=$_POST['senha_atual'];
$senha_nova=crypt($_POST['senha_nova']);
// DADOS DO SERVIDOR LDAP
$pessoas="ou=suarios,dc=7cta,dc=e*,dc=mi%,dc=*r";
$servidor="12!(0(0(1";
$porta=389;
$base="dc=7cta,dc=e*,dc=mi%,dc=*r";
$administrador="cn=admin,dc=7cta,dc=e*,dc=mi%,dc=*r";
$rdn="uid=".$usuario.",".$pessoas;
$info["userPassword"] = "{CRYPT}".$senha_nova;
$con = @ldap_connect($servidor, $porta)
or die("Erro na conexao ao servidor {$servidor}");
if ($con) {
// Versao 3 do LDAP
ldap_set_option($con, LDAP_OPT_PROTOCOL_VERSION, 3);
// binding to ldap server
$bind = @ldap_bind($con, $rdn, $senha_atual);
// verify binding
if ($bind) {
echo "LDAP bind successful...";
// user exists -> change password
$rs=@ldap_mod_replace($con, $rdn, $info);
if ($rs) {
$msg="Senha foi atualizada com sucesso!";
}
else{
$msg="Ocorreu um erro ao trocar a senha! Contate o Administrador.";
}
// user or password invalid
} else {
$msg="Usuario inexistente ou senha incorreta! Tente novamente.";
}
// show message and return to form
//echo "<meta HTTP-EQUIV='Refresh' CONTENT='0;URL=endereco_do_site.php'>";
//header ("Refresh: 0;url=/senha/index.html");
echo "<script language=Javascript>alert (\"$msg\")</script>";
echo "<meta HTTP-EQUIV='Refresh' CONTENT='0;URL=http://intranet(com(*r'>";
//header ("Refresh: 0;url=intranet.com.br");
}
?>
Apostila gerada pela Seo de Rede de Dados do 6 CTA para o curso de Servidores Linux pag. ./!
Alguns sites -o* *ateriais sobre linu!
0ttp7//111.vivaolinux.co#.&r/
0ttp7//111.dicas$l.co#.&r/
0ttp7//111.guia(oca.org/

Você também pode gostar