Escolar Documentos
Profissional Documentos
Cultura Documentos
Avanado
Objetivos do curso
Ensinar a configurar os principais servidores de
rede no Linux.
Ensinar conceitos avanados de Linux.
Metodologia de trabalho
Trabalho em duplas.
Aprender mediante a execuo de tarefas bem
definidas.
Avaliao prtica e terica ao final do curso.
Tarefa globlal
Voc foi contratado para realizar o projeto de
rede da empresa Linux para sempre.
Alm de toda a parte relacionada ao projeto de
cabeamento estruturado (Curso Bsico de
Redes) levantou as seguintes necessidades
relacionadas aos servios que a rede deveria
prover:
acesso a Internet com autenticao;
servidor web do site Internet e intranet;
servidor de e-mail acessvel pela rede interna por
meio de POP3 e Webmail e pela Internet somente por
Webmail (todos de forma segura);
servidor de DNS;
Tarefa globlal
continuao ...
servidor de FTP (acesso externo dos arquivos);
servidor de autenticao dos usurios da rede interna
(tanto para clientes Linux quanto para Windows);
servidor de arquivos para a rede interna (tanto para
clientes Linux quanto para Windows) com anti-vrus;
servidor de backup;
servidor de terminais;
servidor de aplicaes locais: Protweb, e-groupware,
joomla (intranet), ativnet, ...;
Firewall.
DMZ
Primeira tarefa
Instalar o Debian Sarge, da seguinte forma:
particionamento:
256 MB para swap, primria;
2,1 GB para a raiz, com ext3, primria;
100 MB para /var/spool/mail, estendida, com reiserfs;
200 MB para /home, estendida, com ext3;
100 MB para /var/www, estendida, com reiserfs
200 MB para /backup, estendida, com reiserfs.
usurios:
root com senha teste;
admin com senha teste, home=/home/administador;
e-mail:
usurio que receber os e-mails direcionados para
administrao;
Primeira tarefa
Instalar o Debian Sarge, da seguinte forma:
rede:
ip: 10.100.53.20<nmero da mquina>
netmask: 255.255.252.0
broadcast: 10.100.52.255
dns: 10.100.52.1
gateway: 10.100.52.4
domnio: cursolinux.52ct.eb.mil.br
Aplicativos a serem instalados:
openoffice.org em Portugus, mozilla-firefox e mozilla-thunderbird
em portugus, kernel 2.6, kde em portugus e kdm.
source.list: inicialmente o prprio CD-ROM. Se no achar
algum pacote mude o source.list para:
deb ftp://debian.52ct.eb.mil.br/debian stable main contrib non
free
Sistemas de arquivos
O linux trabalha com o Virtual File System
(VFS) que uma camada de abstrao acima
dos sistemas de arquivos existentes.
O VFS permite que as aplicaes acessem
diferentes tipos de sistemas de arquivos de
modo uniforme. Dessa forma, um aplicativo
acessa um HD local e uma partio montada de
um dispositivo de rede da mesma forma.
O VFS especifica uma interface entre o kernel e
o sistema de arquivo concreto.
Para adicionar um novo sistema de arquivos ao
kernel simplesmente o mesmo tem que
implementar a interface do VFS.
EXT3
um sistema de arquivos jornalado,
desenvolvido e implementado por Stephen
Tweedie.
uma alternativa para usurios do sistema de
arquivos ext2 que desejam obter as vantagens
do journaling, ou seja, ext3 = ext2 + journal.
Permite a converso entre os sistemas de
arquivos ext2 e ext3 sem a necessidade de
reformatao.
Desde a v2.4 encontra-se disponvel como parte
integrante do kernel do sistema operacional
Linux.
Experincia com sistemas de arquivos para alta disponibilidade em Linux.
Leonardo Garcia de Mello e Prof. Dr. Taisy Silva Weber. UFRGS.
EXT3
Permite o uso de journal para dados, meta-
dados ou ambos.
No suporta alocao dinmica de inodes.
Para maiores informaes acesse o site
http://www.redhat.com/support/wpapers/redhat/
ext3/.
Suas principais caractersticas so:
Ser jornalado;
Baseado em rvores;
Redimensionamento online;
Suporta arquivos de at 2TiB.
Experincia com sistemas de arquivos para alta disponibilidade em Linux.
Leonardo Garcia de Mello e Prof. Dr. Taisy Silva Weber. UFRGS.
ReiserFS
Projetado por Hans Reiser, tem a grande vantagem
de ser o primeiro sistema de arquivos baseado em
journaling a ser includo como parte integrante do
kernel do Linux.
Utiliza uma abordagem radicalmente diversa da
alocao baseada em blocos usada no ext2 para
armazenar as informaes, usando balanced
trees.
Permite arquivos com at 2 Gb de tamanho.
Possui otimizaes para trabalhar com arquivos
pequenos, reduzindo a fragmentao.
Fontehttp://www.gentoo.org/doc/pt_br/handbook/handbookppc64.xml?style=printable&full=1
JFS
Criado pela IBM para uso em servidores
corporativos high-throughput server
environments, key to running intranet and other
high-performance e-business file servers.
Permite o emprego de blocos com tamanho de
512,1024, 2048 e 4096 bytes:
Para um tamanho de bloco de 512 bytes, o tamanho
mximo de um arquivo de 512 Tb;
Para um tamanho de bloco de 4Kb, o tamanho mximo
de um arquivo de 4 petabytes.
Incorporado na v2.5.6 do kernel para o sistema
operacional Linux.
Experincia com sistemas de arquivos para alta disponibilidade em Linux.
Leonardo Garcia de Mello e Prof. Dr. Taisy Silva Weber. UFRGS.
JFS
O suporte a ele pode ser adicionado em verses
anteriores do kernel com a aplicao de
patches.
Utiliza rvore B+.
Para maiores informaes acesse o site
http://oss.software.ibm.com/developerworks/ope
nsource/jfs.
GuiaFocaLinuxAvanado(verso6.4)GleydsonMaziolidaSilva
Arquivos no cliente
/etc/resolv.conf
o arquivo de configurao principal do cdigo
do resolvedor de nomes. Seu formato um
arquivo texto simples com um parmetro por
linha e o endereo de servidores DNS externos
so especificados nele. Existem trs palavras
chaves normalmente usadas que so:
domain: especifica o nome do domnio local.
search: especifica uma lista de nomes de domnio
alternativos ao procurar por um computador,
separados por espaos. A linha search pode conter no
mximo 6 domnios ou 256 caracteres.
nameserver: especifica o endereo IP de um servidor
de nomes de domnio para resoluo de nomes. Pode
ser usado vrias vezes.
GuiaFocaLinuxAvanado(verso6.4)GleydsonMaziolidaSilva
Arquivos no cliente
/etc/resolv.conf
Como exemplo, o /etc/resolv.conf se parece com
isto:
searchcursolinux.52ct.eb.mil.br
nameserver10.100.53.202
nameserver10.100.53.203
Editem o arquivo /etc/resolv.conf e alterem as
variveis domain e search para os valores acima
e o nameserver para o IP do seu computador.
GuiaFocaLinuxAvanado(verso6.4)GleydsonMaziolidaSilva
Arquivos no cliente
/etc/host.conf
o local onde possvel configurar alguns tens que
gerenciam o cdigo do resolvedor de nomes. O
formato deste arquivo descrito em detalhes na
pgina de manual resolv+. Em quase todas as
situaes, o exemplo seguinte funcionar:
orderhosts,bind
multion
Este arquivo de configurao diz ao resolvedor de
nomes para checar o arquivo /etc/hosts antes de
tentar verificar um servidor de nomes e retornar um
endereo IP vlido para o computador procurado e
multi on retornar todos os endereos IP resolvidos
no arquivo /etc/hosts ao invs do primeiro.
GuiaFocaLinuxAvanado(verso6.4)GleydsonMaziolidaSilva
Arquivos no cliente
/etc/host.conf
Os seguintes parmetros podem ser adicionados
para evitar ataques de IP spoofing:
nospoofon
spoofalerton
O parmetro nospoof on ativa a resoluo
reversa do nome da biblioteca resolv (para
checar se o endereo pertence realmente
quele nome) e o spoofalert on registra falhas
desta operao no syslog.
GuiaFocaLinuxAvanado(verso6.4)GleydsonMaziolidaSilva
Arquivos no cliente
/etc/hosts
Faz o relacionamento entre um nome de computador e
endereo IP local.
Recomendado para IPs constantemente acessados
(dispensa consulta do DNS) e para colocao de
endereos de virtual hosts (quando deseja referir pelo
nome ao invs de IP).
A desvantagem de fazer isto que voc mesmo
precisar manter este arquivo atualizado e se o
endereo IP de algum computador for modificado,
esta alterao dever ser feita em cada um dos
arquivos hosts das mquinas da rede.
Em um sistema bem gerenciado, os nicos endereos
de computadores que aparecero neste arquivo sero
da interface loopback e os nomes de computadores.
GuiaFocaLinuxAvanado(verso6.4)GleydsonMaziolidaSilva
Arquivos no cliente
/etc/hosts
Um exemplo de contedo deste arquivo :
127.0.0.1 localhostlocalhost.localdomain
10.100.53.203aluno3aluno3.cursolinux.52ct.eb.mil.br
Voc pode especificar mais que um nome de
computador por linha como demonstrada pela
primeira linha, a que identifica a interface
loopback.
Caso encontre problemas de lentido para resolver
nomes e at para executar os aplicativos (como o
mc, etc), verifique se existem erros neste arquivo
de configurao.
GuiaFocaLinuxAvanado(verso6.4)GleydsonMaziolidaSilva
Arquivos no cliente
/etc/networks
O arquivo /etc/networks tem uma funo similar ao
arquivo /etc/hosts. Ele contm um banco de dados
simples de nomes de redes contra endereos de redes.
Seu formato se difere por dois campos por linha e seus
campos so identificados como:
Nome_da_RedeEndereo_da_Rede
Abaixo um exemplo de como se parece este arquivo:
loopnet127.0.0.0
23bc 10.100.36.0
Quando usar comandos como route, se um destino
uma rede e esta rede se encontra no arquivo /
etc/networks, ento o comando route mostrar o nome
da rede ao invs de seu endereo.
GuiaFocaLinuxAvanado(verso6.4)GleydsonMaziolidaSilva
Instalao do DNS
Primeiramente vamos configurar a fonte de
pacotes para instalao no arquivo /
etc/apt/sources.list.
debftp://10.100.52.12/debianstablemaincontribnonfree
Depois, como root, vamos atualizar a relao de
pacotes disponveis a instalao, com o comando:
#aptitudeupdate
Agora vamos instalar o servidor DNS, sua
documentao e algumas ferramentas de teste
com o comando:
#aptitudeinstallbind9bind9docdnsutils
http://www.debianfordummies.org/wiki/index.php/DFD_DNS_HOWTO
Comandopara
consultarumIP
Testando a instalao
#digwww.linux.org@127.0.0.1 Utiliza odoservidorDNSlocal
;<<>>DiG9.2.4<<>>www.linux.org@127.0.0.1
;;globaloptions:printcmd
;;Gotanswer:
;;>>HEADER<<opcode:QUERY,status:NOERROR,id:56389
;;flags:qrrdra;QUERY:1,ANSWER:1,AUTHORITY:2,ADDITIONAL:2
;;QUESTIONSECTION:
;www.linux.org.INA
IPrespondido
;;ANSWERSECTION:
www.linux.org.43200INA198.182.196.56
;;AUTHORITYSECTION:
linux.org.43200INNSns0.aitcom.net.
linux.org.43200INNSns.invlogic.com.
;;ADDITIONALSECTION:
ns.invlogic.com.172800INA207.245.34.122
ns0.aitcom.net.172800INA208.234.1.34
;;Querytime:1450msec
;;SERVER:127.0.0.1#53(127.0.0.1)
;;WHEN:WedAug3015:36:492006
;;MSGSIZErcvd:136
Configurao de um domnio
O servio de nomes (DNS) organizado
hierarquicamente em domnios, deste modo
isola-se o conjunto de nomes pertencentes a um
domnio dos nomes de outro.
O controlador do domnio pode adicionar
quaisquer nomes dentro deste domnio e no
haver perigo de coliso acidental de nomes.
Estes nomes podem ser subdomnios (nomes
que aceitam mais nomes subordinados) ou hosts
(nomes de mquinas especficas, sem
subordinados).
Configurao de um domnio
(cont.)
S relembrando ...
Vamos configurar o domnio cursolinux.52ct.eb.mil.br
os computadores que sero resolvidos por esse servidor
sero:
www.<domnio>:10.100.53.20<ndocomputador>
ftp.<domnio>:10.100.53.20<ndocomputador>
intranet.<domnio>:10.100.53.20<ndocomputador>
internet.<domnio>:10.100.53.20<ndocomputador>
smtp.<domnio>:10.100.53.20<ndocomputador>
pop3.<domnio>:10.100.53.20<ndocomputador>
egroupware.<domnio>:10.100.53.20<ndocomputador>
webmail.<domnio>:10.100.53.20<ndocomputador>
Configurao da
resoluo direta
O diretrio padro onde esto localizados os
arquivos de configurao do servidor DNS : /
etc/bind.
Primeiramente temos que adicionar ao arquivo
named.conf.local os dados bsicos do
domnio, ou seja, as seguintes linhas:
Indicaqualarquivo
zone"cursolinux.52ct.eb.mil.br"{ conter
typemaster;
asconfigura esdo
file"/etc/bind/db.cursolinux.52ct.eb.mil.br";
};
Inicialmente teste a configurao com o
comando:
#namedcheckconf
#namedcheckzonecursolinux.52ct.eb.mil.br/
etc/bind/db.cursolinux.52ct.eb.mil.br
Detalhes importantes
Nem todos os caracteres so permitidos nos
nomes das mquinas.
Estamos limitados ao caracteres do alfabeto: a-z
e ao nmeros: 0-9, alm do caracter '-' (hfen).
Devemos nos restringir queles caracteres.
Os caracteres maisculos e minsculos so
idnticos para o DNS, assim pat.uio.no igual a
Pat.UiO.No.
Configurao da
resoluo direta (cont.)
Agora vamos criar o arquivo
db.cursolinux.52ct.eb.mil.br no diretrio /
etc/bind. Pessoaresponsvel
pelodomnio.
$TTL86400
@ IN SOA alunox.cursolinux.52ct.eb.mil.br.admin.cursolinux.52ct.eb.mil.br.
( 1130118145 ;Serial
10800 ;Refresh
3600 ;Retry
604800 ;Expire Qualcomputador
86400) ;Minimum responsvelpelodomnio.
IN NSalunox.cursolinux.52ct.eb.mil.br.
IN MX10smtp.cursolinux.52ct.eb.mil.br.
alunox IN A 10.100.53.20x
smtp IN A 10.100.53.20x Qualcomputador
pop3 IN CNAME smtp responsvelpeloemail.
ftp IN CNAME alunox
www IN A 10.100.53.20x
intranet IN A 10.100.53.20x
Maisde1(um)
internet IN A 10.100.53.20x
egroupware IN A 10.100.53.20x nomeporIP.
webmail IN A 10.100.53.20x
Configurao da
resoluo direta (cont.)
Agora temos que reiniciar o servidor DNS:
#/etc/init.d/bind9restart
Para testarmos se tudo est funcionando
utilizamos o comando dig:
#digwww.cursolinux.52ct.eb.mil.br@127.0.0.1
#digftp.cursolinux.52ct.eb.mil.br@127.0.0.1
Agora basta configurarmos os computadores
cliente. Essa configurao realizada por meio
da edio do arquivo resolv.conf.
searchcursolinux.52ct.eb.mil.br
nameserver10.100.53.201
O que DNS reverso?
O DNS reverso um meio de que outras maquinas
podem ter certeza de que voc voc, por
exemplo, normal servidores de email, checarem
se o seu DNS mesmo vlido.
No DNS reverso perguntado qual o nome da
mquina que possui um determinado IP.
Isso pode ser testado com o comando host.
#hostterra.com.br
terra.com.brhasaddress200.176.3.142
#host200.176.3.142
142.3.176.200.inaddr.arpadomainnamepointerwww.terra.com.br.
Configurao da
resoluo reversa
O diretrio padro onde esto localizados os
arquivos de configurao do servidor DNS : /
etc/bind.
Primeiramente temos que adicionar ao arquivo
named.conf.local os dados bsicos do
domnio, ou seja, as seguintes linhas:
zone"53.100.10.inaddr.arpa"{
typemaster;
file"/etc/bind/db.53.100.10.inaddr.arpa";
};
Indicaqualarquivoconterasconfigura es
daresolu oreversadodomnio
Configurao da
resoluo reversa (cont.)
Agora vamos criar o arquivo db.53.100.10.in
addr.arpano diretrio/etc/bind.
;
;BINDreversedatafileforcursolinux.52ct.eb.mil.br
;
$TTL86400
@ IN SOA alunox.cursolinux.52ct.eb.mil.br.
admin.cursolinux.52ct.eb.mil.br.( 1130118145 ;Serial
10800 ;Refresh
3600 ;Retry
604800 ;Expire
86400) ;Minimum
INNScursolinux.52ct.eb.mil.br.
201 INPTRalunox.cursolinux.52ct.eb.mil.br.
201INPTRsmtp.cursolinux.52ct.eb.mil.br.
201INPTRpop3.cursolinux.52ct.eb.mil.br.
201INPTRwww.cursolinux.52ct.eb.mil.br.
201INPTRintranet.cursolinux.52ct.eb.mil.br.
Configurao da
resoluo reversa (cont.)
Agora temos que reiniciar o servidor DNS:
#/etc/init.d/bind9restart
Para testarmos se tudo est funcionando
utilizamos o comando dig:
#host10.100.53.201127.0.0.1
Configurando o BIND Chroot
O chroot (jaula) funciona da seguinte forma,
qualquer servio que estiver rodando sobre a
cadeia de chroot incapaz de enxergar
qualquer diretrio fora de sua cadeia, por
exemplo se o bind estiver rodando no diretrio /
var/lib/named - chrooted - para o bind esse
diretrio ser considerado o raiz (/) do sistema.
No Debian 3.1 o primeiro passo a realizar
editar o arquivo daemon do BIND /
etc/default/bind9, e mudar o valor da varivel
OPTIONS de OPTIONS="u bind" para
OPTIONS="ubindt/var/lib/named"
Depois de ser realizado esse passo ...
Configurando o BIND Chroot
(cont.)
Crie agora os diretrios necessrios:
#mkdirp/var/lib/named/etc
#mkdir/var/lib/named/dev
#mkdirp/var/lib/named/var/cache/bind
#mkdir/var/lib/named/var/run
Ento mova o diretrio de configuraao de /etc
para /var/lib/named/etc
#mv/etc/bind/var/lib/named/etc/bind
Crie agora link com o diretrio antigo de
configurao:
#lns/var/lib/named/etc/bind/etc/bind
Configurando o BIND Chroot
(cont.)
Crie os arquivos nulos e random, e corrige a
permisso:
#mknod/var/lib/named/dev/nullc13
#mknod/var/lib/named/dev/randomc18
#chmod666/var/lib/named/dev/null
#chmod666/var/lib/named/dev/random
Debian Sarge (3.1):
#mkdirp/var/lib/named/var/run/bind/run
#chownRbind:bind/var/lib/named/var/*
#chownRbind:bind/var/lib/named/etc/bind
Configurando o BIND Chroot
(cont.)
Voc precisa editar o arquivo /
etc/init.d/sysklogd do sysklogd, para
monitorar os logs do Bind em chroot, modifique
a linha SYSLOGD="" para SYSLOGD="a /
var/lib/named/dev/log".
E agora reinicie o servio de logs e bind:
#/etc/init.d/sysklogdrestart
#/etc/init.d/bind9start
Servidor de FTP
Vamos agora configurar nosso servidor de FTP.
Este servidor tem como objetivo disponibilizar
de forma rpida e estruturada documentos
ostensivos de interesse geral, como o Boletim
Interno da OM.
Para isso iremos instalar um servidor FTP com
uma pasta chamada bi, onde somente o usurio
chamado aux1secao, com senha=teste,
pertencente ao grupo 1secao, poder fazer os
uploads dos BI.
Configurao do usurio
Primeiramente vamos criar o grupo 1secao:
#groupadd1secao
Agora vamos criar o usurio aux1secao, com
senha=teste e grupo principal 1secao:
# adduser ingroup 1secao home /home/ftp/bi
aux1secao
Agora vamos testar para ver se o usurio foi
criado com sucesso:
Alterne para outro terminal: Alt+F2;
Se logue como usurio aux1secao.
Digite o comando groups.
Vamos agora instalar o servidor FTP...
Instalao do proftpd
Primeiramente vamos instalar 3(trs) pacotes: 2
(dois) relacionados ao servidor e outro com a
documentao do programa.
#aptgetinstallproftpdproftpdcommonproftpddoc
A nica pergunta feita durante a instalao est
relacionada a forma com que o servidor vai
funcionar: standalone ou inetd.
Se for ser um servidor muito solicitado escolha
standalone, caso contrrio inetd.
Depois de instalado teste o servidor:
$ftplocalhost
Principais comandos
Existem diversos comandos disponveis no ftp.
Os principais so:
helpou?
binouascii
putoumput
getoumget
lcd
cd
ls
pwd
exit
Principais arquivos/diretrios
O arquivo de configurao do proftpd :
/etc/protftpd.conf
O diretrio pblico do servidor :
/home/ftp
Diretrio com os arquivos de ajuda do proftpd:
/usr/share/doc/proftpddoc
/usr/share/doc/proftpd
Arquivo de configurao
/etc/proftpd.conf
#
#/etc/proftpd.confThisisabasicProFTPDconfigurationfile.
#Toreallyapplychangesreloadproftpdaftermodifications.
#
ServerName "Debian"
ServerType standalone
DeferWelcome off
MultilineRFC2228 on
DefaultServer on
ShowSymlinks on
TimeoutNoTransfer 600
TimeoutStalled 600
TimeoutIdle 1200
DisplayLoginwelcome.msg
DisplayFirstChdir.message
ListOptions"l"
DenyFilter \*.*/
Arquivo de configurao
/etc/proftpd.conf
#UncommentthisifyouareusingNISorLDAPtoretrievepasswords:
#PersistentPasswd off
#UncommentthisifyouwoulduseTLSmodule:
#TLSEngine on
#Uncommentthisifyouwouldusequotamodule:
#Quotas on
#Uncommentthisifyouwoulduseratiomodule:
#Ratios on
#Port21isthestandardFTPport.
Port 21
#TopreventDoSattacks,setthemaximumnumberofchildprocesses
#to30.Ifyouneedtoallowmorethan30concurrentconnections
#atonce,simplyincreasethisvalue.NotethatthisONLYworks
#instandalonemode,ininetdmodeyoushoulduseaninetdserver
#thatallowsyoutolimitmaximumnumberofprocessesperservice
#(suchasxinetd)
MaxInstances 30
Arquivo de configurao
/etc/proftpd.conf
#Settheuserandgroupthattheservernormallyrunsat.
User nobody
Group nogroup
#Umask022isagoodstandardumasktopreventnewfilesanddirs
#(secondparm)frombeinggroupandworldwritable.
Umask 022022
#Normally,wewantfilestobeoverwriteable.
AllowOverwrite on
#DelayenginereducesimpactofthesocalledTimingAttackdescribedin
#http://security.lss.hr/index.php?page=details&ID=LSS20041002
#Itisonbydefault.
#DelayEngine off
#Abasicanonymousconfiguration,nouploaddirectories.
Arquivo de configurao
#<Anonymous~ftp>
#User ftp
#Group nogroup
/etc/proftpd.conf
##Wewantclientstobeabletologinwith"anonymous"aswellas"ftp"
#UserAlias anonymousftp
##Cosmeticchanges,allfilesbelongstoftpuser
#DirFakeUser onftp
#DirFakeGroup onftp
#RequireValidShell off
#
##Limitthemaximumnumberofanonymouslogins
#MaxClients 10
#
##Wewant'welcome.msg'displayedatlogin,and'.message'displayedineachnewlychdired
directory.
#DisplayLogin welcome.msg
#DisplayFirstChdir .message
#
##LimitWRITEeverywhereintheanonymouschroot
#<Directory*>
#<LimitWRITE>
#DenyAll
#</Limit>
#</Directory>
#
##Uncommentthisifyou'rebrave.
##<Directoryincoming>
###Umask022isagoodstandardumasktopreventnewfilesanddirs
###(secondparm)frombeinggroupandworldwritable.
##Umask 022022
##<LimitREADWRITE>
## DenyAll
##</Limit>
##<LimitSTOR>
## AllowAll
##</Limit>
##</Directory>
#
Configuraes necessrias ...
Primeiramente vamos pensar na segurana
tornando o acesso aos diretrios dos usurios
chrooted.
DefaultRoot ~
Agora vamos restringir a taxa de transferncia
por conexo: Taxaem
kbps
TransferRate RETR8:10 Byteslivresde
controledebanda
No queremos que os usurios faam o upload
de msicas e filmes. Dessa forma temos que
alterar a seguinte linha no arquivo
proftpd.conf.
DenyFilter(.*\.mp3)|(.*\.mpg)$
#Abasicanonymousconfiguration,nouploaddirectories.
<Anonymous~ftp> Aindatemosqueliberaroacessoa
User ftp rea
Group nogroup
p blicadoftpaosusurios
#Wewantclientstobeabletologinwith"anonymous"aswellas"ftp"
UserAlias anonymousftp an nimos.
#Cosmeticchanges,allfilesbelongstoftpuser
DirFakeUser onftp
DirFakeGroup onftp Paraissotemosquedescomentar
RequireValidShell off algumas
##Wewant'welcome.msg'displayedatlogin,and'.message'displayedineachnewlychdired
directory.
#DisplayLogin welcome.msg
#DisplayFirstChdir .message
#
##LimitWRITEeverywhereintheanonymouschroot
#<Directory*>
#<LimitWRITE>
#DenyAll
#</Limit>
#</Directory>
#
##Uncommentthisifyou'rebrave.
##<Directoryincoming>
###Umask022isagoodstandardumasktopreventnewfilesanddirs
###(secondparm)frombeinggroupandworldwritable.
##Umask 022022
##<LimitREADWRITE>
## DenyAll
##</Limit>
##<LimitSTOR>
## AllowAll
##</Limit>
##</Directory>
#
Instalar o nosso
servidor de aplicativos
Agora vamos configurar o nosso serv-tudo.
Iremos instalar, a princpio, os seguintes
servidores:
joomla: Sistema Gerenciador de Contedo para
intranet e Internet;
protweb: Sistema Gerenciador de Contedo;
egroupware: Sistema para trabalho colaborativo
(agenda colaborativa e de contatos, webmail,
gerenciador de projetos).
Esses aplicativos utilizam os seguintes
programas: apache, php e mysql.
Instalando os programas
bsicos
Primeiramente temos que atualizar a lista de
pacotes disponveis:
#aptgetupdate
Agora podemos instalar os programas (LAMP):
# aptget install apache apachedoc php4
libapachemodphp4 mysqlserver php4mysql
phpmyadmin
Principais respostas:
Habilitar SuExec -> No
Que web server gostaria de configurar
automaticamente? -> apache
Voc gostaria de reiniciar seu servidor agora? -> Sim
Testando o LAMP
A forma mais fcil de testar o LAMP
acessando o phpmyadmin:
Entre no Mozilla Firefox e acesse o site:
http://127.0.0.1/phpmyadmin/
http://localhost/phpmyadmin/
O phpmyadmin a interface web para realizar a
manuteno do mysql. Complete o formulrio
com o login=root e senha em branco.
interessante que essa interface seja acessvel
de fortma criptografada para que as senhas no
passem em claro. Para que isso acontea temos
que instalar o servidor apache seguro.
Instalando o servidor
apache seguro
interessante que atualizemos a lista de
pacotes disponveis sempre antes de instalar um
programa:
#aptgetupdate
Agora vamos instalar os pacotes relacionados ao
servidor seguro:
#aptgetinstallapachessl
cacertificatesopensslsslcert
Principais respostas:
Confiar em novos certificados de CAs? -> perguntar
Agora vem os dados do certificado do servidor ...
Dados do certificado
No utilize acentos ...
Principais perguntas e respostas:
Country Name: BR
Nome do estado ou provncia: Ceara
Nome da Localidade: Fortaleza
Nome da Organizao: 52 Centro de Telematica
Nome da Unidade Organizacional: Curso Linux
Nome do host: alunox.cursolinux.52ct.eb.mil.br
Endereo de e-mail: admin@cursolinux.52ct.eb.mil.br
Reconfigurando o
phpmyadmin
Agora temos que reconfigurar o phpmyadmin:
#dpkgreconfigurephpmyadmin
As perguntas realizadas e respectivas respostas
so:
Selecione, tambm, o apache-ssl e clique em OK.
Voc gostaria de reiniciar o servidor agora? -> Sim
Agora voc pode acessar o phpmyadmin de
forma segura. Acesse a url:
https://127.0.0.1/phpmyadmin/
https://localhost/phpmyadmin/
Primeiramente troque a senha do root para o
valor teste em Alterarasenha.
intranet e Internet
Vamos utilizar um gerenciador de contedo
para gerenciar o site da intranet e Internet da
instituio.
Um dos melhores gerenciadores de contedo
atualmente existente o Joomla.
Ele totalmente desenvolvido em php e mysql.
Teremos que ter dois servidores Joomla
funcionando simultaneamente: um para o site
Internet e outro para o site da intranet.
Para isso teremos que criar dois ambientes
distintos: dois diretrios no servidor web e duas
contas no banco de dados.
Preparando o ambiente ...
Primeiramente vamos criar os diretrios dos
sites:
#mkdir/var/www/intranet
#mkdir/var/www/www
Utilizando o phpmyadmin, vamos criar dois
bancos de dados: um com nome www e outro
com nome intranet.
Banco de dados -> Criar novo banco de dados ->
Criar
Preparando o ambiente
Agora vamos criar dois usurios no banco de
dados mysql: um com login=intranet e
senha=teste e outro com login=www e
senha=teste. Todos eles podendo acessar o
phpmyadmin de qualquer servidor, com
permisso de criar banco de dados e com
privilgios sobre os bancos de dados.
Privilgios -> Adicionar novo usurio -> Login, senha
e marcar todos os itens de dados e Estrutura ->
Executar.
Privilgios especficos do Banco de Dados ->
Adicionar privilgios nas seguintes Banco de Dados ->
Marcar todos -> Executar
Instalando o Joomla
Primeiramente vamos fazer o download da
ltima verso do Joomla (1.0.11) do site:
ftp://ftp.52ct.eb.mil.br/pub/cursolinux/Joomla
_1.0.11StableFull_Package.tar.gz
Depois de baixar o pacote copie o mesmo para
os diretrios: /var/www/www/ e /var/www/intranet.
Vamos agora colocar no ar a intranet:
#cd/var/www/intranet
#tarxvzfJoomla_1.0.11StableFull_Package.tar.gz
#cd..
#chownRwwwdata.wwwdataintranet
Instalando o Joomla (cont.)
Acesse, no browser, a seguinte url:
http://localhost/intranet/
Clique
aqui
Instalando o Joomla
Edite o arquivo globals.php, situado no
diretrio /var/www/intranet e altere o valor da
varivel RG_EMULATION para 0.
Isto trar mais segurana para o seu site.
Clique
aqui
Clique
aqui
Clique
aqui
Clique
aqui
Clique
aqui
Finalizando a instalao
Para prosseguirmos temos que remover o
diretrio:
#cd/var/www/intranet
#rmrfinstallation
Agora podemos acessar o site intranet:
http://localhost/intranet
A interface de administrador acessvel pelo
site:
http://localhost/intranet/administrator/
Protweb
O que ?
Um sistema gerenciador de documentos.
acessvel via browser.
Desenvolvido em php+mysql.
Instalao do Protweb
Primeiramente baixe o protweb do site:
ftp://ftp.52ct.eb.mil.br/pub/cursolinux/protweb
_install.tar.gz
Untarzeie o arquivo:
#tarxvzfprotweb_install.tar.gz
V para o diretrio protweb_install e depois
execute o arquivo instala_protweb
#cdprotweb_install
#./instala_protweb
Instalao do Protweb
Responda as seguintes perguntas:
Diretrio de instalao: /var/www
Usurio admin do mysql: root
Senha do root: <ENTER> ou teste
Instalao do Protweb
Edite o arquivo settings.php situado no
diretrio /var/www/protweb/config/
#vi/var/www/protweb/config/settings.php
E altere as seguintes variveis
$document_path=/var/www/protweb/documentos
$message_path=/var/www/protweb/mensagens
$modelo_path=/var/www/protweb/modelos
$web_server=http://protweb.cursolinux.52ct.eb.mil.br/
$webmaster=protweb@cursolinux.52ct.eb.mil.br
$coment_to=protweb@cursolinux.52ct.eb.mil.br
Infelizmente necessrio colocar a varivel
register_globals do php on ...
#vi/etc/php4/apache/php.ini
#apachectlrestart
Acessando o Protweb
Para acessar o protweb, acesse a url
http://localhost/protweb e digite login=admin e
senha=senha
eGroupWare
http://www.egroupware.org/
teste
Instalar o eGroupWare
Instalar o eGroupWare
Terminando a instalao ...
Acesse a url:
http://localhost/egroupware/setup/
Cliqueaqui
Terminando a instalao ...
Cliqueaqui
Terminando a instalao ...
Terminando a instalao ...
Terminando a instalao ...
teste
Clique
aqui
Terminando a instalao ...
Clique
aqui
Terminando a instalao ...
Clique
aqui
Terminando a instalao ...
Cliqueaqui
Terminando a instalao ...
Cliqueaqui
Terminando a instalao ...
Terminando a instalao ...
Clique
aqui
Terminando a instalao ...
Clique
aqui
Terminando a instalao ...
Virtual Hosts
At agora s acessamos os sitemas instalados
digitando o IP ao invs dos nomes ...
Isso funciona mas no o desejvel.
Existe uma maneira de horpedarmos vrios
sistemas em um nico servidor web e torn-los
acessveis por seus nomes (DNS).
Por exemplo: ao invs de digitarmos
http://10.100.53.20x/intranet para acessarmos a
intranet poderamos digitar
http://intranet.cursolinux.52ct.eb.mil.br/.
Para isso servem os Virtual Hosts.
Configurando o Virtual Host
Edite o arquivo de configurao do apache:
#vi/etc/apache/httpd.conf
Procure no documento a string
NameVirtualHost
/NameVirtualHost
Acrescente a linha:
NameVirtualHost*
Agora podemos configurar nossos servidores
virtuais ...
Configurando o Virtual Host
Cada virtual host necessita de uma seo
separada:
<VirtualHost*>
ServerNameintranet.cursolinux.52ct.eb.mil.br
DocumentRoot/var/www/intranet
ServerAdminwebmaster@cursolinux.52ct.eb.mil.br
ErrorLoglogs/intraneterror.log
CustomLoglogs/intranetaccess.logcommon
</VirtualHost>
<VirtualHost*>
ServerNamewww.cursolinux.52ct.eb.mil.br
DocumentRoot/var/www/www
</VirtualHost>
<VirtualHost*>
ServerNameegroupware.cursolinux.52ct.eb.mil.br
DocumentRoot/usr/share/egroupware
</VirtualHost>
<VirtualHost*>
ServerNameprotweb.cursolinux.52ct.eb.mil.br
DocumentRoot/var/www/protweb
</VirtualHost>
<VirtualHost*>
ServerNamephpmyadmin.cursolinux.52ct.eb.mil.br
DocumentRoot/var/www/phpmyadmin
</VirtualHost>
Testando a configurao
Para testar a configurao basta acessar os
sites pela URL:
http://intranet.cursolinux.52ct.eb.mil.br
http://www.cursolinux.52ct.eb.mil.br
http://egroupware.cursolinux.52ct.eb.mil.br
http://protweb.cursolinux.52ct.eb.mil.br
Protegendo um
diretrio por senha
O apache ainda possui mecanismos para
proteger pginas do servidor com login e senha.
Suponha que tenhamos um diretrio no nosso
servidor www que queremos proteger o acesso.
Esse acesso s seria permitido a pessoas que
possussem um login e senha adequados.
Primeiramente vamos criar o diretrio onde
ficaro nossas pginas protegidas:
#mkdir/var/www/paginaprotegida
S para testarmos vamos criar um arquivo a.txt.
#touch/var/www/paginaprotegida/a.txt
Protegendo um
diretrio por senha
Primeiro temos que alterar o arquivo de
configurao do apache o httpd.conf situado no
diretrio /etc/apache.
Acrescente as seguintes linhas ao arquivo logo
aps o tag </Directory> do diretrio /
var/www/. <Directory/var/www/paginaprotegida>
Sobrescreveas OptionsFollowSymLinksIndexes
configura es AllowOverrideAuthConfig
padr esdoservidor </Directory>
Apache
paracolocarnovas Dizqueseoapacheencontraroarquivo.htaccessno
configura es diret rioasregras
contidasneledevemseraplicadasaodiret rioaaossub
http://www.devin.com.br/eitch/htaccess
Entendendo o apache ...
So permitdas as seguintes opes para os diretrios
"None", "All", ou qualquer combinao de "Indexes",
"Includes", "FollowSymLinks", "ExecCGI", or
"MultiViews".
Indexes": faz com que quando no tiver nenhum arquivo do tipo
index.html, index.htm, ou "pginas iniciais", o Apache cria uma
pgina com a lista dos arquivos existentes no diretrio;
Includes": permite colocar arquivos do tipo SSI (Server Side
Includes);
FollowSymLinks: faz com que o Apache aceite links simblicos
no sistema, seguindo os diretrios ou arquivos que os links
apontam;
ExecCGI: faz com que neste diretrio possam ser executados
arquivos CGI (Common Gateway Interface);
MultiViews: serve para, por exemplo, servir pginas de acordo
com a preferncia de lngua do usurio (index.html.pt_BR,
index.html.en, etc);
All: significa todas as opes (menos o MultiViews);
None: significa nenhuma.
http://www.devin.com.br/eitch/htaccess
Configurando o arquivo
de senhas
Primeiramente vamos criar o diretrio que
conter o arquivo com os logins e senhas que
podero acessar o diretrio e seus sub-
diretrios.
#mkdir/etc/apache/auth
Agora vamos criar os logins e senhas:
#cd/etc/apache/auth
#htpasswdcacessousuario1
#htpasswdcacessousuario2
E agora o gran finale: criar o arquivo .
htaccess!
http://www.devin.com.br/eitch/htaccess
Configurando o arquivo
de senhas
V para o diretrio que ir proteger e crie o .
htaccess:
#cd/var/www/paginaprotegida
#vi.htaccess
O contedo do arquivo deve ser:
http://www.devin.com.br/eitch/htaccess
Outras formas de
restringir o acesso
Podemos restringir o acesso aos diretrios a
alguns IP's.
Para isso temos que alterar a configurao do
diretrio no httpd.conf e colocar algumas das
seguintes diretivas:
#DeixaaIntranet
acessar
Orderallow,deny
allowfrom192.168.0.
denyfromall
#Deixatodomundoacessar,menosoIP
192.168.0.25
Orderdeny,allow
denyfrom192.168.0.25
allowfromall
http://www.devin.com.br/eitch/htaccess
Agora chegou a hora
do servidor de e-mail
Citamos diversas contas de e-mail de usurios
durante a configurao dos servidores ...
Precisamos, ento, configurar nosso servidor de
e-mail!
Um dos servidores de e-mail mais utilizados o
Postfix (http://www.postfix.org).
Alm de leve cheio de funcionalidades.
Tarefa
Vamos configurar o Postfix com as seguintes
funcionalidades:
SMTP autenticado (SASL);
Criptografia (TLS);
Anti-vrus (clamav);
Anti-spam (spamassassin);
Webmail (squirrelmail).
Agora que sabemos o que queremos vamos
partir para a instalao do Postfix.
Instalando o Postfix
A instalao do Postfix rpida e fcil:
#aptgetinstallpostfixpostfixdoc
Responda as perguntas da seguinte forma:
Tipo geral de configurao: Internet Site
Onde as mensagens de root devem ser entregues: admin.
Nome de mensagens: alunox.cursolinux.52ct.eb.mil.br
Outros destinos para os quais aceitar mensagens:
alunox.cursolinux.52ct.eb.mil.br,
cursolinux.52ct.eb.mil.br, localhost
Forar atualizaes sncronas na caixa de mensagens: No.
O servidor est com as configuraes bsicas. J
podemos test-lo agora ...
Testando a instalao
kurumin@laptop:~$telnetlocalhost25
Trying192.168.0.3...
Connectedto192.168.0.3.
Escapecharacteris'^]'.
220localhost.cursolinux.52ct.eb.mil.brESMTPPostfix
(Debian/GNU)
HELOcursolinux.52ct.eb.mil.br
250localhost.cursolinux.52ct.eb.mil.br
MAILFrom:root@cursolinux.52ct.eb.mil.br
250Ok
RCPTto:admin@cursolinux.52ct.eb.mil.br
250Ok
DATA
354Enddatawith<CR><LF>.<CR><LF>
Istoumemaildeteste.
.
250Ok:queuedas7AB9C82F8
QUIT
221Bye
Connectionclosedbyforeignhost.
Lendo o e-mail enviado
Primeiramente vamos ver se o e-mail foi
enviado ...
#tail/var/log/syslog
Vamos agora ler o e-mail com o cliente de e-
mail mail:
#aptgetinstallmailx
#mail
Se tudo correu bem deve aparecer o e-mail que
enviamos.
Para que consigamos colocar para funcionar
TODOS os servios que precisamos necessrio
que criemos o diretrio Maildir acima do
diretrio home dos usurios.
#suadmin
$maildirmake~/Maildir
Preparando o terreno
Temos que configurar algumas coisas antes de
prosseguirmos:
Para configurarmos um servidor webmail,
necessitamos de configurar um servidor IMAP.
O IMAP que instalaremos funciona com Maildir e no
com mailbox.
Vamos configurar o Maildir para todos os novos
usurios do sistema:
#cd/etc/skel
#maildirmakeMaildir
Temos que criar esse diretrio para os usurios
j criados.
POP3
Para podermos baixar os e-mails temos que
instalar um servidor POP ou IMAP.
Um dos servidores mais utilizados o servidor
courier.
Para instal-lo execute o comando:
#aptgetinstallcourierpopcourierdoc
Respondas as seguintes perguntas;
Criar diretrios para administrao baseada na web:
Sim.
Podemos testar o acesso ao POP3 pelo kmail.
POP3 - seguro
Podemos instalar o servidor com suporte a
criptografia:
#aptgetinstallcourierpopssl
Foi criado um certificado de teste. Vamos criar
um certificado relacionado ao nosso servidor.
#cd/etc/courier
#rmpop3d.pem
# vi pop3d.cnf (coloque os valores
corretos)
#mkpop3dcert
Agora basta reconfigurar a conta POP do cliente
de e-mail e colocar a opo SSL.
Arquivo pop3d.cnf
Webmail
O squirrelmail necessita do servidor imap.
#aptgetinstallcourierimapcourierimap
ssl
Agora podemos instalar o webmail:
#aptgetinstallsquirrelmail
Para configurar o webmail execute, como root, o
comando:
#/usr/sbin/squirrelmailconfigure
Anti-vrus (clamav)
Para proteger a rede temos que instalar um
anti-vrus de e-mail.
Um excelente anti-vrus o clamav.
Para instal-lo execute o comando:
#aptgetinstallclamavarjunzoounrar
lhaclamavdaemonzoolzoparc
Responda as seguintes perguntas:
daemon
db.br.clamav.net
http_proxy em branco
Clamd deve ser notificado: Sim
Anti-vrus (amavis_new)
Para que o clamav funcione com o Postfix
precisamos instalar o amavis.
#aptgetinstallamavisdnew
Edite o arquivo /etc/amavis/amavisd.conf e
altere/verifique as seguintes linhas:
$MYHOME='/var/lib/amavis';#(defaultis'/var/amavis')
$mydomain='cursolinux.52ct.eb.mil.br';#(Boteaquioseudominio)
$daemon_user='amavis';#(nodefault;customary:vscanoramavis)
$daemon_group='amavis';#(nodefault;customary:vscanoramavis)
$QUARANTINEDIR='/var/lib/amavis/virusmails';
$log_level=0;
Altere/verifique as seguintes linhas.
Anti-vrus (amavis_new)
$final_virus_destiny=D_BOUNCE;#(defaultstoD_BOUNCE)
$final_banned_destiny=D_BOUNCE;#(defaultstoD_BOUNCE)
$final_bad_header_destiny=D_PASS;#(defaultstoD_PASS),D_BOUNCE
suggested
$final_spam_destiny=D_PASS;#(defaultstoD_REJECT)
$sa_spam_subject_tag='***SPAM***'
#Coloqueaqui,oemaildoadministradoroucrieumALIASparaesseemail,
quereceberaosavisodosemailslocalizadospeloAmavis.
$virus_admin="virusalert\@$mydomain";
Edite o arquivo /etc/aliases e acrescente a linha
virusalert:admin. Depois execute o comando
newaliases.
Agora verifique se a linha do clamav est
descomentada:
['ClamAntivirusclamd',
\&ask_daemon,["CONTSCAN{}\n",'/var/run/clamv/clamd.ctl'],
qr/\bOK$/,qr/\bFOUND$/,
qr/^.*?:(?!InfectedArchive)(.*)FOUND$/],
Fazendo a integrao:
Postfix+Clamav+Amavis
Edite o arquivo /etc/clamav/clamd.conf e
altere o usurio com o qual o clamav est
rodando de clamav para amavis:
Useramavis
Altere as permisses dos diretrios do clamav
para pertencer ao usurio amavis:
#cd/var/run
#chownRamavis:amavisclamav
#cd/var/log
#chownRamavis:amavisclamav
Fazendo a integrao:
Postfix+Clamav+Amavis
Reinicie o clamav e o amavis:
#/etc/init.d/clamavdaemonrestart
#/etc/init.d/amavisrestart
Lembre-se de que sempre vale a pena observar
os logs ...
#tailf/var/log/syslog
Pronto: vamos ver se o amavis est no ar ...
#telnetlocalhost10024
Trying127.0.0.1...
Connectedtoaluno0.cursolinux.52ct.eb.mil.br.
Escapecharacteris'^]'.
220[127.0.0.1]ESMTPamavisdnewserviceready
Fazendo a integrao:
Postfix+Clamav+Amavis
Edite o arquivo /etc/postfix/master.cf e
acrescente as linhas:
smtpamavisunixn2smtp
osmtp_data_done_timeout=1200
osmtp_send_xforward_command=yes
odisable_dns_lookups=yes
127.0.0.1:10025inetnnsmtpd
ocontent_filter=
olocal_recipient_maps=
orelay_recipient_maps=
osmtpd_restriction_classes=
osmtpd_client_restrictions=
osmtpd_helo_restrictions=
osmtpd_sender_restrictions=
osmtpd_recipient_restrictions=permit_mynetworks,reject
omynetworks=127.0.0.0/8,10.100.53.0/22
ostrict_rfc821_envelopes=yes
osmtpd_error_sleep_time=0
osmtpd_soft_error_limit=1001
osmtpd_hard_error_limit=1000
Fazendo a integrao:
Postfix+Clamav+Amavis
Precisamos fazer com que o Postfix repasse os
e-mails para serem avaliados pelo amavis.
#vi/etc/postfix/main.cf
Acrescente a linha abaixo ao arquivo:
content_filter=smtpamavis:[127.0.0.1]:10024
Agora vamos reiniciar o Postfix:
#/etc/init.d/postfixrestart
Agora s falta testarmos ...
Monitore em um terminal o syslog:
#tailf/var/log/syslog
Fazendo a integrao:
Postfix+Clamav+Amavis
Agora vamos testar o anti-vrus:
#telnetlocalhost25
Trying127.0.0.1...
Connectedtoaluno0.cursolinux.52ct.eb.mil.br.
Escapecharacteris'^]'.
220servidor.cursolinux.52ct.eb.mil.brESMTPPostfix(Debian/GNU)
HELOcursolinux.52ct.eb.mil.br
250servidor.cursolinux.52ct.eb.mil.br
mailfrom:virotico@virus.org
250Ok
rcptto:webmaster@cursolinux.52ct.eb.mil.br
250Ok
DATA
354Enddatawith<CR><LF>.<CR><LF>
X5O!P%@AP[4\PZX54(P^)7CC)7}$EICARSTANDARDANTIVIRUSTESTFILE!$H+H*
.
250Ok:queuedas8CC564C10
Anti-spam (spamassassin)
Para instalar o spamassassin basta executar o
comando:
#aptgetinstallspamassassin
Edite o arquivo /etc/default/spamassassin e
altere o valor da varivel ENABLED para 1.
Agora j podemos iniciar o spamassassin:
#/etc/init.d/spamassassinstart
No arquivo /etc/spamassassin/local.cf
altere/verifique os valores das variveis abaixo:
required_score4.5
ok_languagespten
rewrite_headerSubject*****SPAM*****
Reinicie o spamassassin:
#/etc/init.d/spamassassinrestart
Anti-spam (spamassassin)
A linha abaixo tem que estar comentada no
arquivo /etc/amavis/amavisd.conf:
#@bypass_spam_checks_acl=qw(.);
Altere o dono e o grupo do diretrio do
spamassassin para o amavis:
#chownRamavis.amavis/usr/share/spamassassin
Agora reinicie o amavis:
#/etc/init.d/amavisrestart
Pronto agora o conjunto Postfix, Amavis, Clamav
e Spamassassin est funcionando..
SMTP autenticado
Temos agora que configurar a autenticao para
envio de e-mails.
Isso realizado com o SASL.
#aptgetupdate
#aptgetinstallpostfixtlssasl2bin
libgsasl7libauthensaslcyrusperl
libauthensaslperllibsasl2libsasl2
modules
Agora temos alterar a linha do smtp do arquivo
main.cf situado no diretrio /etc/postfix para:
smtpinetnnsmtpd
http://www.vivaolinux.com.br/dicas/verDica.php?codigo=7294
SMTP autenticado
Agora vamos criar o arquivo /
etc/postfix/sasl/smtpd.conf:
#vi/etc/postfix/sasl/smtpd.conf
Este arquivo deve ter o contedo:
pwcheck_method:saslauthd
mech_list:pamplainlogin
http://www.vivaolinux.com.br/dicas/verDica.php?codigo=7294
SMTP autenticado
Precisamos fazer com o que Postfix utilize o SASL ...
Para isso temos que editar o arquivo /
etc/postfix/main.cf e acrescentar as seguintes linhas:
#SASLSUPPORTFORCLIENTS
#ThefollowingoptionssetparametersneededbyPostfixtoenable
#CyrusSASLsupportforauthenticationofmailclients.
#
smtpd_sasl_auth_enable=yes
smtpd_sasl_security_options=noanonymous
smtpd_sasl_local_domain=$myhostname
broken_sasl_auth_clients=yes
smtpd_recipient_restrictions=
permit_sasl_authenticated,
permit_mynetworks,
check_relay_domains
Digiteteste
Criptografia assimtrica com
OpenSSL
Gerao de chaves:
Gerao de chave privada, de 2048 bits, utilizando o 3DES:
#opensslgenrsades3outprv.key2048
GeneratingRSAprivatekey,2048bitlongmodulus
.............+++
.......................................+++
eis65537(0x10001)
Enterpassphraseforprv.key:
VerifyingEnterpassphraseforprv.key:
Digitetesteduas
vezes
Criptografia assimtrica com
OpenSSL
Gerao de chaves:
Criao da chave pblica baseada na privada:
#opensslrsapuboutinprv.keyoutpub.key
Enterpassphraseforprv.key:
writingRSAkey Digiteteste
Criptografar com a privada e decriptografar com a
pblica:
Criptografar com a chave privada:
#opensslrsautlsigninkeyprv.keyin
texto.txtouttexto2.txt
Decriptografar com a chave pblica:
#opensslrsautlpubininkeypub.keyin
texto2.txtouttexto3.txt
Criptografia assimtrica
com OpenSSL
Criptografar com chave pblica e
decriptografar com a chave privada:
Criptografar com a chave pblica:
#opensslrsautlencryptpubininkeypub.key
intexto.txtouttexto4.txt
Decriptografar com a chave privada:
#opensslrsautldecryptinkeyprv.keyin
texto4.txtouttexto5.txt
Enterpassphraseforprv.key: Digiteteste
Sempre que se utilizar a chave privada ser solicitada a
senha.
Certificados digitais
ApostilaGNU/LinuxemredesTCP/IPJooERIBERTOMotaFilhoCap
Condies iniciais
Criao das chaves:
Para criar chaves assimtricas SSH para um usurio,
logue como o usurio em questo e emita o comando:
#suadmin
$sshkeygentrsa
Responda com <ENTER> a todas as perguntas;
Ser gerado um par de chaves no diretrio .ssh com
nome id_rsa (chave privada) e id_rsa.pub (chave
pblica);
Existe no diretrio .ssh um arquivo known_hosts que
contm o fingerprint de cada host que j estabeleceu
conexo SSH com a mquina em questo.
ApostilaGNU/LinuxemredesTCP/IPJooERIBERTOMotaFilhoCap
Instalao da chave pblica
na outra mquina
Dever existir o mesmo usurio na outra
mquina. No nosso caso utilizaremos o admin.
A chave pblica dever ser levada para outra
mquina por meio de disquete, sftp, etc...
A chave pblica dever ser colocada dentro do
arquivo /home/usurio/.ssh/authorized_keys.
Execute o comando:
#scp.ssh/id_rsa.pubadmin@192.168.0.3:/admin/.ssh/authorized_keys
A partir da o usurio poder fazer o ssh/scp sem
uso da senha.
ApostilaGNU/LinuxemredesTCP/IPJooERIBERTOMotaFilhoCap
Juntando tudo
Criaremos agora um arquivo no diretrio /root
com o nome backup.sh com o seguinte
contedo:
#!/bin/bash
cd/home
databackup=`date+%Y%m%d`
arquivo=$databackupbackupHome.tgz
tarcvzf$arquivo/home
suadmincscp$arquivo
admin@10.100.53.102:/admin
Torne o arquivo executvel:
#chmoda+x/root/backup.sh
Agora basta agendarmos a tarefa de executar
esse script todo o dia as 22:00 hs, com o cron.
cron
O cron um daemon que permite o agendamento
da execuo de um comando/programa para um
determinado dia/ms/ano/hora.
muito usado em tarefas de arquivamento de logs,
checagem da integridade do sistema e execuo de
programas/comandos em horrios determinados.
As tarefas so definidas no arquivo /etc/crontab
e por arquivos individuais de usurios em /
var/spool/cron/crontabs/[usurio].
Adicionalmente a distribuio Debian utiliza os
arquivos no diretrio /etc/cron.d como uma
extenso para o /etc/crontab.
ApostilaGNU/LinuxemredesTCP/IPJooERIBERTOMotaFilhoCap
cron
Para editar um arquivo de usurio em /
var/spool/cron/crontabs ao invs de editar
o /etc/crontab use crontab e, para listar as
tarefas daquele usurio crontab l e para
apagar o arquivo de tarefas do usurio crontab
r.
Adicionalmente voc pode remover somente
uma tarefa atravs do crontabe e apagando a
linha correspondente.
No esquea de incluir uma linha em branco no
final do arquivo, caso contrrio o ltimo
comando no ser executado.
ApostilaGNU/LinuxemredesTCP/IPJooERIBERTOMotaFilhoCap
cron
O arquivo /etc/crontab tem o seguinte
formato:
Agora terminaremos
Execute o comando:
#crontabe
Inclua a linha:
022***/root/backup.sh
Depois confira se est tudo ok com o comando:
#crontabl
Servidor de arquivos
e de autenticao
Estamos chegando em uma parte fundamental
do curso: temos que configurar o servidor que
auntenticar os usurios da rede (Linux e
Windows) e tambm servir arquivos (Linux e
Windows).
Agora teremos que configuar :
Um PDC que autenticar tanto os usurios do
Windows quanto do Linux;
O servidor de arquivos dos diretrios dos usurios
(home) e das pastas das sees. Dever ser
configurado um compartilhamento com nome
documentos com acesso de somente leitura para
todos os usurios e de escrita para o admin.
Introduo
##Browsing/Identification###
#Changethistotheworkgroup/NTdomainnameyourSambaserverwillpartof
workgroup=cursolinux
#serverstringistheequivalentoftheNTDescriptionfield
serverstring=%hserver(Samba%v)
#WindowsInternetNameServingSupportSection:
#WINSSupportTellstheNMBDcomponentofSambatoenableitsWINSServer
;winssupport=no
#WINSServerTellstheNMBDcomponentsofSambatobeaWINSClient
#Note:SambacanbeeitheraWINSServer,oraWINSClient,butNOTboth
;winsserver=w.x.y.z
#ThiswillpreventnmbdtosearchforNetBIOSnamesthroughDNS.
dnsproxy=no
#Whatnamingserviceandinwhatordershouldweusetoresolvehostnames
#toIPaddresses
;nameresolveorder=lmhostshostwinsbcast
Analisando o smb.conf
####Debugging/Accounting####
#ThistellsSambatouseaseparatelogfileforeachmachine
#thatconnects
logfile=/var/log/samba/log.%m
#Putacappingonthesizeofthelogfiles(inKb).
maxlogsize=1000
#IfyouwantSambatoonlylogthroughsyslogthensetthefollowing
#parameterto'yes'.
;syslogonly=no
#WewantSambatologaminimumamountofinformationtosyslog.Everything
#shouldgoto/var/log/samba/log.{smbd,nmbd}instead.Ifyouwanttolog
#throughsyslogyoushouldsetthefollowingparametertosomethinghigher.
syslog=0
#DosomethingsensiblewhenSambacrashes:mailtheadminabacktrace
panicaction=/usr/share/samba/panicaction%d
Analisando o smb.conf
#######Authentication#######
#"security=user"isalwaysagoodidea.ThiswillrequireaUnixaccount
#inthisserverforeveryuseraccessingtheserver.See
#/usr/share/doc/sambadoc/htmldocs/ServerType.htmlinthesambadoc
#packagefordetails.
;security=user
#Youmaywishtousepasswordencryption.Seethesectionon
#'encryptpasswords'inthesmb.conf(5)manpagebeforeenabling.
encryptpasswords=true
#Ifyouareusingencryptedpasswords,Sambawillneedtoknowwhat
#passworddatabasetypeyouareusing.
passdbbackend=tdbsamguest
obeypamrestrictions=yes
;guestaccount=nobody
invalidusers=root
#ThisbooleanparametercontrolswhetherSambaattemptstosynctheUnix
#passwordwiththeSMBpasswordwhentheencryptedSMBpasswordinthe
#passdbischanged.
;unixpasswordsync=no
Nveis de segurana
Para uma pessoa acessar um compartilhamento
que no permita convidados tem que fornecer
um login e uma senha de acesso.
Existem quatro nveis de segurana:
security=share
security=user
security=server
security=domain
Analisando o smb.conf
#ForUnixpasswordsynctoworkonaDebianGNU/Linuxsystem,thefollowing
#parametersmustbeset(thankstoAugustinLuton<aluton@hybrigenics.fr>for
#sendingthecorrectchatscriptforthepasswdprograminDebianPotato).
passwdprogram=/usr/bin/passwd%u
passwdchat=*Enter\snew\sUNIX\spassword:*%n\n
*Retype\snew\sUNIX\spassword:*%n\n.
#ThisbooleancontrolswhetherPAMwillbeusedforpasswordchanges
#whenrequestedbyanSMBclientinsteadoftheprogramlistedin
#'passwdprogram'.Thedefaultis'no'.
;pampasswordchange=no
Analisando o smb.conf
##########Printing##########
#Ifyouwanttoautomaticallyloadyourprinterlistrather
#thansettingthemupindividuallythenyou'llneedthis
;loadprinters=yes
#lpr(ng)printing.Youmaywishtooverridethelocationofthe
#printcapfile
;printing=bsd
;printcapname=/etc/printcap
#CUPSprinting.Seealsothecupsaddsmb(8)manpageinthe
#cupsysclientpackage.
;printing=cups
;printcapname=cups
#Whenusing[print$],rootisimplicitlya'printeradmin',butyoucan
#alsogivethisrighttootheruserstoadddriversandsetprinter
#properties
;printeradmin=@ntadmin
########Filesharing########
#Namemanglingoptions
;preservecase=yes
;shortpreservecase=yes
Analisando o smb.conf
############Misc############
#Usingthefollowinglineenablesyoutocustomiseyourconfiguration
#onapermachinebasis.The%mgetsreplacedwiththenetbiosname
#ofthemachinethatisconnecting
;include=/home/samba/etc/smb.conf.%m
#Mostpeoplewillfindthatthisoptiongivesbetterperformance.
#Seesmb.conf(5)and/usr/share/doc/sambadoc/htmldocs/speed.html
#fordetails
#YoumaywanttoaddthefollowingonaLinuxsystem:
#SO_RCVBUF=8192SO_SNDBUF=8192
socketoptions=TCP_NODELAY
#Thefollowingparameterisusefulonlyifyouhavethelinpopuppackage
#installed.Thesambamaintainerandthelinpopupmaintainerare
#workingtoeaseinstallationandconfigurationoflinpopupandsamba.
;messagecommand=/bin/shc'/usr/bin/linpopup"%f""%m"%s;rm%s'&
#DomainMasterspecifiesSambatobetheDomainMasterBrowser.Ifthis
#machinewillbeconfiguredasaBDC(asecondarylogonserver),you
#mustsetthisto'no';otherwise,thedefaultbehaviorisrecommended.
;domainmaster=auto
#Somedefaultsforwinbind(makesureyou'renotusingtheranges
#forsomethingelse.)
;idmapuid=1000020000
;idmapgid=1000020000
;templateshell=/bin/bash
Analisando o smb.conf
[homes]
comment=HomeDirectories
browseable=no
#Bydefault,thehomedirectoriesareexportedreadonly.Changenext
#parameterto'yes'ifyouwanttobeabletowritetothem.
writable=no
#Filecreationmaskissetto0700forsecurityreasons.Ifyouwantto
#createfileswithgroup=rwpermissions,setnextparameterto0775.
createmask=0700
#Directorycreationmaskissetto0700forsecurityreasons.Ifyouwantto
#createdirs.withgroup=rwpermissions,setnextparameterto0775.
directorymask=0700
#UncommentthefollowingandcreatethenetlogondirectoryforDomainLogons
#(youneedtoconfigureSambatoactasadomaincontrollertoo.)
;[netlogon]
;comment=NetworkLogonService
;path=/home/samba/netlogon
;guestok=yes
;writable=no
;sharemodes=no
Analisando o smb.conf
#Windowsclientslookforthissharenameasasourceofdownloadable
#printerdrivers
[print$]
comment=PrinterDrivers
path=/var/lib/samba/printers
browseable=yes
readonly=yes
guestok=no
#UncommenttoallowremoteadministrationofWindowsprintdrivers.
#Replace'ntadmin'withthenameofthegroupyouradminusersare
#membersof.
;writelist=root,@ntadmin
#AsampleshareforsharingyourCDROMwithothers.
;[cdrom]
;comment=Sambaserver'sCDROM
;writable=no
;locking=no
;path=/cdrom
;public=yes
Entendendo melhor
os compartilhamentos
Os compartilhamentos so da forma:
[nome_do_compartilhamento]
path=<caminho_do_diretrio>
...opes...
[Plans]
path=/plans
readonly=Yes
guestok=Yes
Exemplo smb.conf
[global]
workgroup=EMPRESA1
netbiosname=SERVBAK
serverstring=ServidordearquivosSAMBA
hostsdeny=10.100.16.
hostsallow=10.100.52.
[homes]
comment=Diretriohomedousurio
browseable=no
writable=yes
[printers]
compartilhamentodeimpressoras
Exemplo smb.conf
[global]
guestaccount=teste
[compartilhamento1]
path=/diretorio1/compartilhamento1
comment=compartilhamentogeral
writable=yes
guestok=yes
[compartilhamento2]
path=/diretorio2/teste2
readonly=yes
validusers=teste1teste2@teste
Partindo para o PDC
Para configurarmos o Linux como PDC temos
que realizar pelo menos 3 (trs) aes:
Cadastramento do root no SAMBA;
#smbpasswdaroot
Cadastramento dos computadores que acessaro o
PDC.
Configurao do smb.conf.
O cadastramentos dos computadores realizado
em 2 (duas) etapas:
Adicionar o computador como usurio do sistema;
Adicionar o computador ao samba.
Vamos cadastrar os computadores aluno?,
diferentes do seu.
Cadastrando
os computadores ...
Antes de cadastrarmos os computadores vamos
criar um grupo do qual pertencero os
computadores que se autenticao no servidor
Vamos criar o grupo computadores com o
comando:
#groupaddcomputadores
Para cadastrar o computador aluno? execute os
comandos:
#useraddgcomputadoress/bin/falsed
/dev/nullaluno?$
#smbpasswdamnome_da_maquina
smb.conf para PDC
[global]
workgroup=cursolinux
netbiosname=aluno?
serverstring=ServidorPDC
adminusers=@administradores
domainlogons=yes
localmaster=yes
preferredmaster=yes
domainmaster=yes
oslevel=100
logonpath=
logonhome=
logonscript=/home/netlogon/logon.bat
security=user
nullpasswords=no
encryptpasswords=true
unixcharset=iso88591
displaycharset=cp850
hostsallow=10.100.52.10.100.53.127.
logfile=/var/log/samba/log.%m
maxlogsize=10000
loglevel=2
debuglevel=2
smb.conf para PDC
[homes]
comment=Diretriohomedousurio
browseable=no
writable=yes
[NETLOGON]
comment=Serviodelogonnarede
path=/home/netlogon
browseable=no
readonly=yes
[documentos]
browseable=yes
readonly=yes
path=/home/documentos
createmode=0700
Netlogon
Crie o diretrio /home/netlogon.
#mkdir/home/netlogon
D permisses de escrita para todos os usurios no
diretrio:
#chmod777/home/netlogon
#chgrpnobody/home/netlogon
Crie o arquivo profile.pds no diretrio de cada
usurio. Torne permanente criando-o no /etc/skel.
Crie um arquivo logon.bat (notepad) dentro do
diretrio /home/netlogon com o seguinte contedo:
netuseE:\\aluno?\documentos
Executando o Samba e
adicionando as estaes
Depois de termos configurado o smb.conf temos que
reiniciar o SAMBA:
#/etc/init.d/sambarestart
Agora podemos comear a incluir as estaes
Windows no domnio do Samba. Na estao:
Propriedades de Meu Computador -> Identificao de Rede;
Selecione Domnio e digite o nome, no caso cursolinux, de acordo
com o especificado smb.conf. Ser solicitado nome e senha de
administrador de domnio.
Aps reiniciar o computador interessante que voc defina a
senha de administrador local da mquina e exclua todas as outras
contas locais.
No Painel de Controle, Ferramentas Administrativas,
Gerenciamento do Computador, voc controla isso, inclusive pode
definir quais usurios do domnio ou grupo tero acesso de
administrador na mquina (podero instalar ou remover
programas, modificar configuraes, etc.) os demais, apenas
podero trabalhar na mquina sem fazer nada de significativo.
Bloqueando a gravao de
arquivos no Samba por
extenso
Para bloquear a gravao de arquivos .exe, .pif
e .bat, insira na seo global:
vetofiles=/*.exe/*.pif/*.bat/*.{*}/
Depois disso rode um teste:
#testparm
Se tudo deu certo, parabns! Agora s
reiniciar o Samba.
#/etc/init.d/sambarestart
http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=1748
Mais dicas ...
Para adicionar os usurios do /etc/passwd no
samba execute o comando:
#cat/etc/passwd|mksmbpasswd>/
etc/samba/smbpasswd
Depois de fazer isso edite o arquivo /
etc/samba/smbpasswd e retire os usurios
indesejados.
Utilize o comando smbmount para montar
compartilhamentos da rede:
#smbmount//nomeServidor/servico/
pontoDeMontagemousername=usuario,
password=senha
smbumount: desmonta compartilhamentos
Mais dicas ...
O smbstatus empregado para verificar quem
est acessando o servidor e que recursos est
utilizando:
#smbstatus
Se desejar habilitar o compartilhamento das
pastas locais do usurio instale o programa
kdenetwork-filesharing.
#aptgetinstallkdenetworkfilesharing
Se desejar utilizar uma interface web para
gerenciar o samba instale o swat.
#aptgetinstallswat
Para acessar a interface digite no browser
http://localhost:901/.
Quotas
O gerenciamento de quotas suportado
automaticamente pelo kernel aps a verso 2.6.
necessrio criar uma partio separada para
gerenciar, como por exemplo /home ou /
var/spool/mail.
Quotas - configurao
Editar o aquivo /etc/fstab e alterar a linha da
partio que pretende gerenciar as cotas:
/dev/hda*/homereiserfsdefaults,usrquota,grpquota02
Instalar pacote responsvel pelas quotas:
#aptgetinstallquotaquotatool
Criar arquivos responsvel pelas cotas:
#touch/home/quota.user
#touch/home/quota.group
Alterar a permisso dos arquivos:
#chmod600/home/quota.user
#chmod600/home/quota.user
Quotas - configurao
Atualizar o arquivo /etc/fstab
#mountaou mountoremount/particao
Habilitar as quotas para o ponto de montagem
#quotacheckacvugou#quotacheckacvugm
Adicionar usurio
#adduserusurioou#useraddmusurio
Editar cotas do usurio
#edquotauusurio
Verificar quotas de todos os usurios
#repquotaa
Quotas - configurao
Atualizar cotas (sem precisar para o servio)
#quotacheckavou#quotacheckavm
Inicializar ou finalizar quotas
#quotaon/home
#quotaoff/home
Servio responsvel pelas quotas
#/etc/init.d/quotastop
#/etc/init.d/quotastart
Alterar os dias de avisos (Grace time)
#edquotat
Quotas - configurao
Para replicar uma configurao de quota para
outro usurio basta executar:
edquotaupusurio_padronovo_usurio
Depois reinicie o servio de quotas:
#quotaonav
#quotaoffav
Autenticao de usurios
Bibliografia
http://tldp.org/HOWTO/User-Authentication-HOWTO/
(c) 2000 Peter Hernberg
Autenticao de usurios
Os dados sobre os usurios do sistema esto nos
arquivos:
/etc/passwd:leitura liberada para TODOS os
usurios;
/etc/shadow: leitura restrita ao usurio root.
Informaes sobre os grupos:
/etc/group.
/etc/gshadow.
Tradicionalmente as senhas dos usurios so
encriptadas com a funo crypt(). Atualmente
alguns sistemas utilizam o algoritmo has MD5.
Pluggable Autentication
Module (PAM)
Permite a autenticao dos usurios de forma
transparente independentemente da forma como
a informao est armazenada.
Quando um programa necessita autenticar um
usurio o PAM disponibiliza bibliotecas com
funes para realizara tal tarefa.
Os arquivos de configurao do PAM esto
localizados no diretrio /etc/pam.d e as
bibliotecas no diretrio /lib/security.
A sintaxe dos arquivos de configurao do PAM :
tipocontrolepath_do_mduloargumentos
tipo
Sinaliza para o PAM o tipo de autenticao que deve
ser usada pelo mdulo. Mdulos do mesmo tipo podem
ser empilhados obrigando ao usurio a satisfazer
mltiplos quesitos para ser autenticado.
Os tipos reconhecidos pelo PAM so:
account: determina quando o usurio pode acessar o servio,
quando a senha expira, etc.;
auth: determina quando o usurio quem ele diz ser,
normalmente pelo uso de senha (biometria);
password: prov um mecanismo para o usurios alterar sua
autenticao;
session: aes que devem ser realizadas antes ou depois do
usurio ser autenticado, como por exemplo: montagem e
desmontagem do home ou restrio/liberao de servios.
controle
Sinaliza so PAM o que deve ser feito em caso de
falha de autenticao do mdulo.
Os controles aceitos so:
requisite: falha na autenticao neste mdulo resulta em
uma imediata falha na autenticao.
required: falha na autenticao deste mdulo implica na
negao de autenticao, embora o PAM ainda chamar os
demais mdulos selecionados para o servio antes de,
finalmente, negar a autenticao do servio.
sufficient: se funcionar a autenticao deste mdulo o PAM
permitir a autenticao mesmo que a autenticao de um
mdulo required tenha falhado.
optional: a falha ou o acerto na autenticao s
significante se for o nico mdulo para este servio.
Observaes
No arquivo de configurao do login existem
diversos controles, dentre eles podemos citar:
A maioriados mdulos required so do tipo
pam_unix.so;
Um mdulo do tipo requisite o pam_securetty.so;
O nico mdulo opcional o pam_lastlog.so.
Arquivos do PAM
servidor:~#cd/etc/pam.d
servidor:/etc/pam.d#ls
chfncommonaccountcommonpasswordcrongdm
kcheckpassloginpasswdsshsudoxdmchsh
commonauthcommonsessioncvsgdmautologin
kscreensaverotherpppsuwebminxscreensaver
login
#
#ThePAMconfigurationfilefortheShadow`login'service
#
#NOTE:Ifyouuseasessionmodule(suchaskerberosorNIS+)thatretains
#persistentcredentials(likekeycaches,etc),youneedtoenablethe
#`CLOSE_SESSIONS'optionin/etc/login.defsinorderforlogintostayaround
#untilafterlogouttocallpam_close_session()andcleanup.
#
#Outputsanissuefilepriortoeachloginprompt(Replacesthe
#ISSUE_FILEoptionfromlogin.defs).Uncommentforuse
#authrequiredpam_issue.soissue=/etc/issue
#Disallowsrootloginsexceptontty'slistedin/etc/securetty
#(Replacesthe`CONSOLE'settingfromlogin.defs)
authrequisitepam_securetty.so
#Disallowsotherthanrootloginswhen/etc/nologinexists
#(Replacesthe`NOLOGINS_FILE'optionfromlogin.defs)
authrequisitepam_nologin.so
#Thismoduleparses/etc/environmentandalsoallowsyoutouseanextended
#configfile/etc/security/pam_env.conf.(Replacesthe`ENVIRON_FILE'setting
#fromlogin.defs)
authrequiredpam_env.so
login
#StandardUn*xauthentication.The"nullok"lineallowspasswordless
#accounts.
@includecommonauth
#Thisallowscertainextragroupstobegrantedtoauserbasedonthings
#liketimeofday,tty,service,anduser.
#Pleaseuncommentandedit/etc/security/group.confifyouwishtousethis.
#(Replacesthe`CONSOLE_GROUPS'optioninlogin.defs)
#authoptionalpam_group.so
#Uncommentandedit/etc/security/time.confifyouneedtosettime
#restrainstonlogins.(Replacesthe`PORTTIME_CHECKS_ENAB'optionfrom
#login.defsaswellas/etc/porttime)
#accountrequisitepam_time.so
#Uncommentandedit/etc/security/access.confifyouneedtosetaccess
#limits.(Replaces/etc/login.accessfile)
#accountrequiredpam_access.so
#StandardUn*xaccountandsession
@includecommonaccount
@includecommonsession
login
#Setsupuserlimits,pleaseuncommentandread/etc/security/limits.conf
#toenablethisfunctionality.
#(Replacestheuseof/etc/limitsinoldlogin)
sessionrequiredpam_limits.so
#Printsthelastlogininfouponsuccesfullogin
#(Replacesthe`LASTLOG_ENAB'optionfromlogin.defs)
sessionoptionalpam_lastlog.so
#Printsthemotduponsuccesfullogin
#(Replacesthe`MOTD_FILE'optioninlogin.defs)
sessionoptionalpam_motd.so
#Printsthestatusoftheuser'smailboxuponsuccesfullogin
#(Replacesthe`MAIL_CHECK_ENAB'optionfromlogin.defs).You
#canalsoenableaMAILenvironmentvariablefromhere,butit
#isbetterhandledby/etc/login.defs,sinceuserdelalsouses
#ittomakesurethatremovingauser,alsoremovestheirmail
#spoolfile.
sessionoptionalpam_mail.sostandardnoenv
@includecommonpassword
Os arquivos common ...
commonaccountcommonauth
servidor:/etc/pam.d#catcommonauth
#
#/etc/pam.d/commonauthauthenticationsettingscommontoallservices
#
#ThisfileisincludedfromotherservicespecificPAMconfigfiles,
#andshouldcontainalistoftheauthenticationmodulesthatdefine
#thecentralauthenticationschemeforuseonthesystem
#(e.g.,/etc/shadow,LDAP,Kerberos,etc.).Thedefaultistousethe
#traditionalUnixauthenticationmechanisms.
#
authrequiredpam_unix.sonullok_secure
servidor:/etc/pam.d#catcommonaccount
#
#/etc/pam.d/commonaccountauthorizationsettingscommontoallservices
#
#ThisfileisincludedfromotherservicespecificPAMconfigfiles,
#andshouldcontainalistoftheauthorizationmodulesthatdefine
#thecentralaccesspolicyforuseonthesystem.Thedefaultisto
#onlydenyservicetouserswhoseaccountsareexpiredin/etc/shadow.
#
accountrequiredpam_unix.so
Os arquivos common ...
servidor:/etc/pam.d#catcommonpassword
#
#/etc/pam.d/commonpasswordpasswordrelatedmodulescommontoallservices
#
#ThisfileisincludedfromotherservicespecificPAMconfigfiles,
#andshouldcontainalistofmodulesthatdefinetheservicestobe
#usedtochangeuserpasswords.Thedefaultispam_unix
#The"nullok"optionallowsuserstochangeanemptypassword,else
#emptypasswordsaretreatedaslockedaccounts.
#(Add`md5'afterthemodulenametoenableMD5passwords)
#The"obscure"optionreplacestheold`OBSCURE_CHECKS_ENAB'optionin
#login.defs.Alsothe"min"and"max"optionsenforcethelengthofthe
#newpassword.
passwordrequiredpam_unix.sonullokobscuremin=4max=8md5
#Alternatestrengthcheckingforpassword.Notethatthis
#requiresthelibpamcracklibpackagetobeinstalled.
#Youwillneedtocommentoutthepasswordlineaboveand
#uncommentthenexttwoinordertousethis.
#(Replacesthe`OBSCURE_CHECKS_ENAB',`CRACKLIB_DICTPATH')
#
#passwordrequiredpam_cracklib.soretry=3minlen=6difok=3
#passwordrequiredpam_unix.souse_authtoknullokmd5
Os arquivos common ...
servidor:/etc/pam.d#catcommonsession
#
#/etc/pam.d/commonsessionsessionrelatedmodulescommontoallservices
#
#ThisfileisincludedfromotherservicespecificPAMconfigfiles,
#andshouldcontainalistofmodulesthatdefinetaskstobeperformed
#atthestartandendofsessionsof*any*kind(bothinteractiveand
#noninteractive).Thedefaultispam_unix.
#
sessionrequiredpam_unix.so
login.defs
#QMAIL_DIRMaildir/
MAIL_DIR/var/mail
#MAIL_FILE.mail
FAIL_DELAY3
FAILLOG_ENAByes
LOG_UNKFAIL_ENABno
QUOTAS_ENAByes
SYSLOG_SU_ENAByes
SYSLOG_SG_ENAByes
#SULOG_FILE/var/log/sulog
NOLOGIN_STRNOLOGIN
ENV_SUPATH
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/bin/X11:/usr/local/sbin:/usr/local/bin
ENV_PATHPATH=/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
ERASECHAR0177
KILLCHAR025
UMASK022
#ULIMIT2097152
PASS_MAX_DAYS99999
PASS_MIN_DAYS0
PASS_WARN_AGE7
UID_MIN1000
UID_MAX60000
GID_MIN100
GID_MAX60000
login.defs
LOGIN_RETRIES5
LOGIN_TIMEOUT60
PASS_MAX_LEN8
CHFN_AUTHyes
DEFAULT_HOMEyes
#
#Enablepam_close_session()calling.Whenusingnormal(pam_unix.so)
#sessionhandlingmodules,thisisnotneeded.Howeverwithmodules
#(suchaskerberosorotherpersistentsessionmodels),loginandsu
#needtoforkandwaitfortheshelltoexitsothatsessionscanbe
#cleanedup.
#
CLOSE_SESSIONSno
Aumentando a segurana
O arquivo /etc/pam.d/other contm utilizado
pelos servios que no contm uma arquivo
especfico de configurao.
#
#/etc/pam.d/otherspecifythePAMfallbackbehaviour
#
#Notethatthisfileisusedforanyunspecifiedservice;forexample
#if/etc/pam.d/cronspecifiesnosessionmodulesbutcroncalls
#pam_open_session,thesessionmoduleoutof/etc/pam.d/otheris
#used.Ifyoureallywantnothingtohappenthenusepam_permit.soor
#pam_deny.soasappropriate.
#Wefallbacktothesystemdefaultin/etc/pam.d/common*
#
@includecommonauth
@includecommonaccount
@includecommonpassword
@includecommonsession
Aumentando a segurana
Configurao Configurao mais
paranica: razovel.
192.168.0.1:/home/mnt/homenfsrw00
Network Information
Service
(NIS)
#*:*:passwd.byname:port/mangle
#*:*:passwd.byuid:port/mangle
E comente as linhas:
*:*:shadow.byname:port
*:*:passwd.adjunct.byname:port
*:*:*:none
Configurando o servidor NIS
Edite o arquivo /etc/ypserv.securenets.
Comente a linha:
0.0.0.00.0.0.0
subnet192.168.1.0netmask255.255.255.0{
range192.168.1.10192.168.1.100;
range192.168.1.150192.168.1.200;
}
Configurando o servidor
Pode-se ainda definir endereos IP especficos
baseados nos endereos Ethernet dos clientes,
como por exemplo:
hostconec{
hardwareethernet08:00:2b:4c:59:23;
fixedaddress192.168.1.222;
}
Pode-se, tambm, trabalhar com grupos:
grouplaboratrio{
hostmicro1{
hardwareethernet00:00:00:00:00:00;
fixedaddress192.168.0.9;}
hostmicro1{
hardwareethernet00:00:00:00:00:00;
fixedaddress192.168.0.9;}
}
Configurao do cliente
Para configurar o cliente basta alterar o arquivo
/etc/network/interfaces e alterar a configurao
da interface de rede:
autoeth?
ifaceeth?inetdhcp
Quando o sistema iniciar, automaticamente
solicitar um endereo por meio do DHCP.
Outro comando que pode ser utilizado para
solicitao de endereo IP por meio do DHCP
o dhclient.
IP forward