Cristiano Batista Veronez Implementação do Login Individual, como

Propaganda
PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS
SISTEMAS DE INFORMAÇÃO – NÚCLEO UNIV. BETIM
Implementação do Login Individual, como
Política de Segurança, na rede acadêmica
da PUC Minas utilizando o
Active Directory
Cristiano Batista Veronez
Betim, Novembro de 2004.
Cristiano Batista Veronez
Implementação do Login Individual, como
Política de Segurança, na rede acadêmica
da PUC Minas utilizando o
Active Directory
Trabalho de Monografia apresentado
na Pontifícia Universidade Católica de
Minas Gerais, Núcleo Universitário de
Betim.
Orientador: Prof. Nesley Daher
Betim
Agradecimentos
Agradeço a Deus onde encontrei forças para fazer este projeto.
À minha mãe, meu irmão e meus avós pelo amor, carinho e força na minha
formação acadêmica.
Ao coordenador de Sistemas de Informação da PUC Minas Contagem José Wilson,
que me deu oportunidade de desenvolver este projeto na PUC.
Aos meus colegas de trabalho que me ajudaram na correção desta monografia e ao
técnico Leonardo que me ajudou no desenvolvimento do projeto.
Ao Prof. Nesley Daher por sua orientação e total apoio no desenvolvimento deste
projeto ficam meus sinceros agradecimentos.
Cristiano Batista Veronez
Implementação do Login Individual como Política de Segurança, na
rede acadêmica da PUC Minas, utilizando Active Directory
Trabalho de Monografia apresentado na Pontifícia Universidade Católica
de Minas Gerais, Núcleo Universitário de Betim.
________________________________________________
Nesley Daher (Orientador) – PUC Minas
________________________________________________
João Medrado – PUC Minas
________________________________________________
Márcio Campos – PUC Minas
Resumo
O objetivo do presente trabalho é apontar a ferramenta desenvolvida para
implantar o Login Individual na PUC Minas utilizando como base o Active Directory
do Windows Server 2003 e demonstração das tecnologias utilizadas. Este sistema
será implantado na rede acadêmica da PUC Minas e a justificativa para a utilização
desta ferramenta, é, principalmente, a segurança da rede e acesso de pessoas que
não são do meio acadêmico da PUC. Serão abordadas questões sobre segurança
da rede acadêmica e como o Login se aplicará à mesma. O sistema desenvolvido
tem uma interação direta com Active Directory utilizando API do Windows Server
2003 através de linhas de comando. Será apresentado também como o sistema foi
desenvolvido até o momento da instalação, detalhando todas as funcionalidades do
mesmo.
Abstract
The purpose of that work is to present the tool developed to implant Individual
Login in the Catholic University of Minas Gerais using the Active Directory of
Windows Server 2003. This system will be implanted in PUC Minas academic net
and the justification for the use of this tool is, mainly, to protect the academic net for
unauthorized users. It also gives the opportunity of controlling what users do in the
net, allowing the administrator to know if it is being used in an inappropriate way. The
developed system has a direct interaction with Active Directory using the API of
Windows Server 2003 through command lines. We will also show how the system
was developed until the moment of the installation, detailing all the functionalities of
the same.
Lista de figuras
Figura 1................................................................................................................ 23
Figura 2................................................................................................................ 23
Figura 3................................................................................................................ 30
Figura 4................................................................................................................ 31
Figura 5................................................................................................................ 34
Figura 6................................................................................................................ 35
Figura 7................................................................................................................ 36
Figura 8................................................................................................................ 37
Figura 9................................................................................................................ 37
Figura 10.............................................................................................................. 38
Abreviaturas
DHCP – Dynamic Host Configuration Protocol
DNS – Domain Name Services
IIS – Internet Information Services
WAN – World Area Network
UML – Unified Modeling Language
GPMC – Group Policy Manager Console
ADMT – Active Directory Migration Tools
Sumário
1 – Introdução .............................................................................................................1
2 – Revisão Bibliográfica .............................................................................................2
2.1 - Tecnologia Windows NT ..................................................................................2
2.2 - Windows 2000..................................................................................................3
2.3 - Windows Server 2003 ......................................................................................4
2.4 - Active Directory ................................................................................................7
2.4.1 - Group Policy utilizando Active Directory...................................................11
2.4.2 - Sites e Replicação do Active Directory.....................................................11
2.5 - Comparando Windows 2000 Server e Windows Server 2003........................12
2.6 - Segurança Corporativa ..................................................................................16
2.7 - Auditoria .........................................................................................................21
2.8 - Login Individual ..............................................................................................24
3 – Rede Acadêmica da PUC Minas .........................................................................26
3.1 - Rede acadêmica da PUC Minas ....................................................................26
3.2 - Login Individual aplicado a rede acadêmica...................................................27
3.3 - Segurança na rede acadêmica ......................................................................28
4 – Apresentação do Sistema ...................................................................................30
4.1 - Instalador .......................................................................................................30
4.2 - Características ...............................................................................................32
4.3 - Cadastro de Usuários.....................................................................................33
4.4 - Impressão de Instruções e Alteração de Senha.............................................35
4.5 - Cadastro de Configurações............................................................................36
4.6 - Cadastro de Unidades e Cursos ....................................................................37
4.7 - Alteração de Senha........................................................................................38
5 – Conclusão ...........................................................................................................39
Referências ...............................................................................................................40
Anexos ......................................................................................................................41
1 – Introdução
A proposta deste trabalho é abordar o sistema de login individual, que está
em implantação, como política de segurança, para gerar um nível melhor de controle
na rede acadêmica da PUC Minas. Para a implementação deste sistema será
utilizado a linguagem Delphi e o banco de dados MySQL. Ele será desenvolvido
para funcionar sobre plataforma Windows Server 2003 podendo ser executado em
outras plataformas Windows, apesar de não apresentar todas funcionalidades ativas.
Existe a necessidade do desenvolvimento deste sistema porque será
necessário criar usuário no domínio1 para cada aluno da PUC Minas, o que é
praticamente impossível criar cada um manualmente. A partir dos recursos do
Windows Server 2003, foi desenvolvida a ferramenta de login individual que a partir
de uma base de dados de alunos, propícia a criação de todos os usuários no Active
Directory.
Serão abordadas no capítulo 2, questões sobre Tecnologia NT e plataformas
Windows 2000 Server e Windows Server 2003. Também no capítulo 2 serão
abordadas questões sobre Active Directory envolvendo aplicação de diretivas de
segurança, definição de sites e replicação. No capítulo 3 serão abordadas questões
sobre a Rede Acadêmica da PUC Minas, de que forma o sistema de Login Individual
será aplicado nela e as políticas de segurança da rede. No capítulo 4 será
apresentado o sistema de Login Individual, da forma que o mesmo foi implementado,
as características de sua instalação e explicação de suas funcionalidades. Por fim,
na conclusão do projeto abordando os benefícios do sistema Login Individual na
política de segurança da Rede Acadêmica da PUC Minas.
1
Organização lógica de usuários e máquinas de uma rede
1
2 – Revisão Bibliográfica
2.1 - Tecnologia Windows NT
A proposta de utilização da Tecnologia NT está alinhada com o trabalho, haja
visto que, o mesmo foi implementado a partir da base dos sistemas operacionais,
Windows Server 2003 e Windows 2000 Server.
Segundo a Microsoft [Microsoft, 1999], a tecnologia utilizada no sistema
operacional Windows NT possui excelentes funcionalidades de segurança para uma
rede corporativa. Um único acesso ao domínio Windows NT permite acesso a
recursos em qualquer lugar da rede corporativa. O Windows NT possui ferramentas
administrativas de fácil uso tanto para política de segurança quanto gerenciamento
de usuários, isto faz com que sua implantação tenha um custo reduzido.
O NT possui um modelo de segurança que proporciona um plataforma sólida
para implantação de sistemas cliente/servidor para a rede corporativa. Esta
tecnologia em questões de segurança corporativa foi levada para a família Windows
2000 e Windows Server 2003. No entanto, nas novas versões servidoras de
Windows, esta tecnologia teve melhoras em questão de gerenciamento e segurança.
As novidades que vieram com o Windows 2000 simplificaram a administração de
domínios onde gerenciam os usuários e computadores além de aumentar a
segurança de autenticação baseada em criptografia de chave pública. Uma das
novidades é a inclusão do Active Directory em substituição ao gerenciamento de
usuários e computadores que o Windows NT trás. Também veio junto o protocolo de
autenticação Kérberos2 na versão 5.
2
Protocolo de autenticação de rede que é um padrão de segurança internet
2
2.2 - Windows 2000
O sistema operacional Windows 2000, é baseado na tecnologia NT. Porém,
foi lançado no mercado com várias novidades em relação ao Windows NT, seu
precursor de 1993. Segundo Campos [Campos, 2003] o Windows 2000 chegou de
fato ao ambiente corporativo e com ele seria possível suprir todas as necessidades
das redes dos clientes. Como família, o Windows 2000 foi apresentado nas
seguintes edições:
•
Microsoft Windows 2000 Server Family
•
Microsoft Windows 2000 Advanced Server
•
Microsoft Windows 2000 DataCenter Server
•
Microsoft Windows 2000 Professional.
Segundo a Microsoft [Microsoft, 1999], a segurança do Windows 2000 foi
implementado para adaptar as diversas situações com o objetivo de suportar
empresas que tenham seus serviços baseados em internet. Algumas dessas
mudanças refletem avanços no suporte a grandes organizações, através do uso do
Active Directory hierárquico do Windows 2000. Com o Windows 2000, teve também
alterações no gerenciamento dos serviços de DHCP3 e DNS4, estas alterações
facilitaram muito o serviço do administrador de Rede uma vez que ficou mais fácil
configurar e gerenciar estes serviços.
3
4
Serviço de distribuição automático de IP configurados em servidores de domínio.
Serviço de resolução de nomes da rede em endereços IP.
3
2.3 - Windows Server 2003
O Windows Server 2003 lançado no final de Abril de 2003, segundo Hara,
[Hara, 2003], surge no mercado com a promessa de oferecer melhorias e suporte
para futuras tecnologias. O Windows Server 2003 chega com quatro versões:
Standard Edition, Datacenter Edition, Enterprise Edition e Web Server Edition. Uma
nova versão Web Server Edition é novidade no mercado. Ela atende apenas para
aplicações Web utilizando o IIS5 6.0 com suporte a ASP.NET. Com ela não é
possível utiliza-la para controlador de domínio. Esta versão dá suporte a servidores
de até 2 processadores e 2 GB de memória RAM. Existem também as versões para
servidores de 64Bits, elas são: Datacenter Edition e a Enterprise Edition.
Segundo Hara [Hara, 2003], controladores de domínio6 Windows Server 2003
vem habilitado por padrão requerimentos de assinatura SMB7. Isto impede estações
que tenham sistema operacional Windows 95 e DOS de se autenticar na rede. Com
isto, para a implantação de um Domain Controller Windows Server 2003 em nossa
rede, deve ser revisto o parque de máquinas da empresa. Estações com sistema
operacional Windows 98, NT, 2000 e XP conseguem autenticação no Windows
Server 2003 sem problemas.
As novidades que o Windows Server 2003 trouxe em seu pacote, segundo
Hara [Hara, 2003] é um novo Active Directory, novas políticas de segurança, novos
serviços de Cluster e Rede. Alguns destes serviços já vieram no Windows XP e
estão nas versões de Windows Server 2003.
5
Ferramentas de gerenciamento de informações para serviço de rede Intranet e Internet
São servidores responsáveis par ao gerenciamento do domínio da rede
7
Protocolo de compartilhamento de recursos suportado pela maioria dos Sistemas operacionais Microsoft
6
4
O Active Directory trouxe novidades no gerenciamento, uma das novidades está no
processo de replicação entre Domains Controllers que no Windows 2000 consumia
muita CPU e memória pelo fato dos pacotes que seriam trafegados na replicação
eram comprimidos. Na nova versão de Active Directory é possível desabilitar esta
funcionalidade liberando CPU e memória para outros processos.
Outras novidades referentes ao Active Directory serão tratadas no próximo
tópico. Mais uma novidade do Windows Server 2003 segundo Hara, [Hara, 2003],
são 100 novas políticas de segurança no Group Policy. Group Policy é a ferramenta
onde são definidas as políticas de grupo que serão aplicadas a um parque de
máquinas da rede. Uma outra ferramenta que pode ser instalada no Windows Server
2003 após a instalação do sistema operacional é a GPMC (Group Policy
Management Console). Ela permite um gerenciamento mais fácil de políticas
aplicadas no Active Directory. Ao executa-la, a ferramenta traz a estrutura do Active
Directory para que o administrador possa visualizar onde as políticas são aplicadas.
Pode-se criar novas políticas ou criar um vínculo de uma política já existente para
uma unidade organizacional do Active Directory.
As novidades que o Windows Server 2003 trás em relação à rede são alguns
serviços e ferramentas que no Windows 2000 não existia. Uma das novidades é a
inclusão de um Firewall8 no adaptador de rede permite que seu servidor esteja
protegido de ataques. Esta ferramenta pode ser uma solução para pequenas
empresas que tenham poucos computadores. Uma restrição que o Windows Server
2003 trás, em relação à rede, é não deixar que o administrador da rede exclua o
protocolo TCP/IP,
8
Serviço de filtro de pacotes de rede
5
pois ele é indispensável para o funcionamento de vários serviços do Windows Server
2003 como por exemplo o DHCP e DNS que trabalham utilizando este protocolo.
Segundo Hara [Hara, 2004], o Windows Server 2003 também trás novas
ferramentas que permitem facilitar tarefas que antes eram consideradas trabalhosas
pelos administradores de rede. Além de todas serem de fácil execução, elas
possuem textos explicativos e fáceis de entender. Estas ferramentas são executadas
no prompt de comando e que podem automatizar algumas tarefas. Entre elas tem
vários comandos que trabalham diretamente com o Active Directory e estes
comandos nos permitem fazer criação, alteração, exclusão, movimentação e busca
de objetos dentro do Active Directory. Ainda é possível fazer operações com
usuários, grupos, computadores e unidades organizacionais9. É possível a criação
de scripts e ou aplicações externas para trabalhar com o Active Directory. É com
estes comandos que está sendo desenvolvido o sistema que gerencia o Login
Individual implantado na PUC Minas.
9
Unidades Organizacionais são pastas ou containers do Active Directory para possibilitar a organização de
usuários, grupos e computadores.
6
2.4 - Active Directory
Segundo a Microsoft [Microsoft, 1999], o serviço Active Directory fornece
recursos de logon único e um repositório central para informações de toda a infraestrutura, simplificando o gerenciamento de usuários e de computadores e
garantindo o acesso aos recursos em rede, ou seja, é um banco de dados que é
responsável por armazenar, gerenciar e organizar os objetos da rede. Nele é
possível gerenciar as contas dos usuários, grupos de usuários, computadores e
controladores de domínio.
Segundo Battisti [Battisti, 2003], o Active Directory foi sem dúvida a grande
novidade do Windows 2000 em relação ao Windows NT 4.0. No Windows Server
2003, o Active Directory também é o elemento central e fundamental para uma infraestrutura de rede planejada, ou seja, o Active Directory chegou no Windows 2000
tomando lugar do Gerenciador de Usuários e Gerenciador de Computadores
existente no Windows NT, melhorando todo gerenciamento em uma só ferramenta.
O Active Directory é instalado em computadores que serão controladores de
domínio. Promovendo um servidor a controlador de domínio, todas as máquinas da
rede deverão se ingressar neste domínio através de configuração local em cada
estação da rede. Em uma rede você pode ter vários controladores de domínio
interligados, permitindo que sua rede tenha um balanceamento de carga na
autenticação dos usuários. Depois do domínio já criado os próximos servidores que
entrarem na rede, terão que ingressar ao domínio já existente. No momento que o
novo servidor tiver entrando no domínio, automaticamente o Active Directory já irá
replicar todas as informações para o segundo servidor. Quando existe mais de um
servidor controlador de domínio na rede, eles replicarão informações do Active
7
Directory em um tempo configurado de acordo com a necessidade do administrador
da rede. Isto possibilita que os servidores estejam sempre iguais para o bom
funcionamento da rede.
Para que o Active Directory funcione perfeitamente é necessário à instalação
de um servidor DNS na rede, de preferência que seja em ambiente Windows. O DNS
é necessário porque o domínio do Active Directory utiliza a nomenclatura DNS na
rede. Quando uma máquina da rede quer fazer qualquer tipo de acesso ao Active
Directory, ele consulta o DNS para obter o endereço da máquina que contém o
serviço procurado. Para que isto funcione, todas as máquinas da rede deverão ter
configurado em seu adaptador de rede, o endereço DNS correspondente ao DNS
utilizado pelo Active Directory.
O Active Directory trabalha com uma estrutura hierárquica muito parecida com
estrutura de um disco rígido. Os diretórios que o Active Directory possui são
chamados de “Organizational Units” (OU), traduzindo, Unidades Organizacionais.
Estas OUs são utilizadas para organizar os objetos dentro do Active Directory. Ao
instalar, o Active Directory terá apenas a OU Domain Controllers criada. As outras
pastas não são OU e já vem por padrão. Elas são: Users, Computers, Builtin dentre
outras.
Para Battisti [Battisti, 2003], o projeto do Active Directory é bem mais
ambicioso do que ser simplesmente um diretório para conter informações dos
elementos de uma rede baseada em Windows Server 2003. Ele foi projetado para
tornar-se, com o tempo, o único diretório necessário na rede da empresa com a idéia
de criar o tão sonhado logon único. Ou seja, a idéia é utilizar o Active Directory para
ser o servidor de usuários para todas as aplicações utilizadas nas empresas
8
integradas esta ferramenta. Se não tivermos uma base única, toda alteração deverá
ser feita em cada base individualmente.
Segundo Battisti [Battisti, 2003], árvore de domínio é um agrupamento de
vários domínios do Windows Server 2003, os quais compartilham um espaço de
nome. Compartilhar um espaço de nome quer dizer que, quando se tem uma árvore
de domínios, e o nome inicial do domínio que no caso da PUC, é pucmg.net, cada
domínio da árvore irá compartilhar um espaço de nome deste domínio. No caso da
PUC, a rede acadêmica, que irei falar sobre ela no próximo capítulo, terá uma árvore
de domínio e cada unidade será um membro desta árvore com uma nomenclatura
de domínio utilizando o pucmg.net. Na unidade de Contagem, quando tiver na árvore
de domínio terá o nome contagem.pucmg.net. Árvore de domínio é utilizada para
melhor organização do mesmo, separando a rede por localidades o que facilita o
gerenciamento.
Quando fala-se de segurança da rede implementando o Active Directory não
se pode esquecer de mencionar as relações de confiança. Segundo Battisti [Battisti,
2003], é através do uso de relações de confiança entre domínios que é possível que
um usuário de um domínio possa fazer o logon com sua conta de usuário e senha,
mesmo utilizando um computador de outro domínio. Esta relação de confiança
funciona da seguinte forma: os servidores controladores de domínio serão
configurados para que os domínios se comuniquem. Quando um usuário do domínio
A, por exemplo, tentar se autenticar no domínio B, o domínio A, tendo uma relação
de confiança com o domínio B, pergunta ao domínio B se aquele usuário é
pertencente ao domínio dele e se a senha e usuários estão corretos. Segundo
Battisti [Battisti, 2003] na época do Windows NT 4.0 as relações de confiança no NT
Server eram definidas por três características: são unilaterais, ou seja, se o domínio
9
A confia no domínio B não quer dizer que o B também confia no A. Para isto teria
que fazer a relação de B para A também; não são transitivas, ou seja, se o domínio
A confia no domínio B e o domínio B confia no domínio C, não quer dizer que o
domínio A confie também no domínio C, para que isto seja possível deveria ser
criado uma relação de confiança entre os domínios A e C e que devem ser criadas
manualmente pelo administrador que é um processo muito trabalhoso. Segundo
Battisti [Battisti, 2003], no Windows Server 2003 as relações de confiança são
criadas automaticamente entre os domínios de uma árvore de domínios. Ou seja,
todos os domínios que estiverem na árvore do domínio terá relação de confiança
entre eles. As relações no Windows 2003 são bidirecionais, todos os domínios
confiam entre si nesta árvore de domínios.
Um outro conceito a ser tratado é o de Global Catalog. Segundo Battisti
[Battisti, 2003]; Global Catalog é uma base de dados que o Active Directory mantém
com algumas informações sobre objetos de todos os domínios da rede. Esta base
está centrada nos controladores de domínio que são configurados para atuar como
servidores de Global Catalog. Numa rede onde se tem mais de um controlador de
domínio, não é necessário que tenha mais de um Global Catalog mas, em domínios
de apenas um controlador de domínio é obrigatório que este seja também um
servidor
de
Global
Catalog.
Quando
um
domínio
é
instalado
na
rede,
automaticamente aquele primeiro servidor passa a ser também um servidor Global
Catalog e os próximos controladores de domínio não terão esta função. Mas se for
de interesse do administrador, isto pode ser configurado após a instalação. A função
dele é armazenar informações de todos os objetos do Active Directory
proporcionando uma melhor performance na pesquisa de objetos. Quando o usuário
solicita uma pesquisa de objetos para o Active Directory, esta pesquisa é feita no
10
servidor Global Catalog mais próximo do usuário e a pesquisa podem englobar todos
os domínios de uma floresta.
2.4.1 - Group Policy e Active Directory
O Group Policy é uma console10 onde se configura todas as políticas de
segurança de estações, usuários e servidores. Para Battisti [Battisti, 2003], este
recurso é de “enorme” utilidade para o administrador de rede uma vez que ela
permite que configure até a página inicial do navegador da estação, por exemplo.
Podem-se criar políticas de Group Policy para a rede local através dos servidores de
domínio, para isso os mesmo devem ser Windows 2000 Server ou Server 2003 com
o Active Directory configurado. Cria-se políticas para o domínio e as máquinas
ligadas à ele sendo estações com sistema operacional Windows 2000/XP/2003,
receberão estas políticas do domínio. Para criação destas políticas pode-se utilizar a
ferramenta GPMC, já mencionada anteriormente e que será detalhada no tópico 2.5
deste capítulo, para facilitar a criação e aplicação destas políticas na árvore do
Active Directory.
2.4.2 - Sites e Replicação do Active Directory
Para Battisti [Battisti, 2003], o conceito de site no ambiente do Active Directory
é uma ferramenta para o qual é utilizado, representar a divisão física da rede e é
muito importante para a implementação de um sistema de replicação das
informações do Active Directory entre Domains Controllers.
10
Janela que é usada para abrir ferramentas de configurações do Windows
11
Em um domínio onde existem vários Domains Controllers que se replicam, é
necessário a configuração dos sites para que a rede não tenha problemas com a
replicação. Cada site criado no Active Directory irá representar uma estrutura física
da rede e através destes sites criados, podem-se criar os vínculos de replicação.
Este vínculo diz, por exemplo, que o Domain Controller A terá uma conexão com o
Domain Controller B.
Mas os sites não são apenas para replicação. São utilizados também para
autenticação de usuários. Como que isto funciona? Quando um usuário de um
determinado site irá se autenticar na rede, ele procura os Domains Controllers
pertencentes àquele site. Isto evita tráfego desnecessário numa rede onde elas são
ligadas utilizando um link WAN. Na console de configuração de sites, pode-se
colocar um Domain Controller interligados a vários outros Domains Controllers. Por
exemplo, olhando para o Ambiente da Rede acadêmica da PUC Minas, as unidades
são interligadas utilizando um link WAN para cada uma. Quando tivermos os
controladores de domínio interligados com relação de confiança configurada, podese criar vínculos entre os controladores de localidades diferentes. Estes vínculos que
definirão com qual outro controlador de domínio serão feitos a replicação. Utilizamos
estes vínculos para ligar um controlador onde o link WAN é lento com um
controlador onde o link WAN é rápido. Com isto conseguimos um desempenho
melhor na replicação.
2.5 - Comparando Windows 2000 Server e Windows Server 2003
Segundo Campos [Campos, 2003], o Windows 2000 já entrou no mercado
com muitas facilidades que antes eram exclusivas do Unix. Mas agora com o
12
lançamento do Windows Server 2003 a Microsoft atacam um ponto muito criticado
pelos usuários, ou seja, a questão de segurança que para a Microsoft virou
prioridade.
Campos [Campos, 2003] ainda fala que este tema de segurança esteve
presente até na revisão do desempenho das linhas de código e isto tem sido um
diferencial do Windows Server 2003. A Microsoft lançou também junto com o
Windows Server 2003 a ferramenta chamada SUS11. Esta ferramenta não vem
instalada no Windows Server 2003, mas pode ser baixada gratuitamente no site da
Microsoft. O SUS é uma ferramenta que atualiza as estações que possuam SO
Windows 2000 Service Pack 3 e Windows XP. Após instalada e configurada o SUS
faz uma sincronização com Windows Update da Microsoft fazendo com que todas as
atualizações de um idioma definido nas configurações, estejam em sua rede fazendo
com que suas estações não tenham que sair para a internet e atualizar o Windows.
Para que as estações atualizem automaticamente pelo SUS é necessário a
configuração na estação. Esta configuração pode ser feita localmente em cada
máquina ou definida pelas diretivas de grupo do Windows. Nestas configurações
informa-se para a estação qual será o servidor que tem o SUS instalado, qual (is)
o(s) dia(s) e horário que a estação irá procurar por atualização.
Na configuração do SUS é possível informar o idioma das atualizações que
serão baixadas, qual o intervalo de tempo que o SUS irá sincronizar com o Windows
Update, se a sincronização será feita a partir do Windows Update ou de um outro
SUS já existente na rede, qual o nome do servidor na rede que as máquinas irão
enxergar e outras configurações básicas do funcionamento do SUS.
11
Software Update Services
13
Agora com a chegada do Windows Server 2003, existem duas versões de
Active directory. Segundo Allen [Allen, 2003], esta nova versão que o chega com o
Windows Server 2003 traz um grande numero de atualizações e novas
características que o Active Directory do Windows 2000 não tinha. Ou seja,
melhorias para ganhar o mercado. Segundo a Microsoft, o Active Directory do
Windows Server 2003 trouxe os seguintes aperfeiçoamentos:
•
Mais segurança;
•
Implantação e gerenciamento fáceis;
•
Melhoria do desempenho e confiabilidade.
A Microsoft melhorou o gerenciamento das relações de confiança entre florestas no
Active Directory permitindo maior facilidade de configuração para o administrador.
Foram criadas novas políticas que, configuradas pelo administrador, restringe a
instalação de softwares não autorizados nos computadores. Com estas regras de
restrição de software é possível bloquear instalação de softwares não confiáveis e
devem ser criadas as regras para os softwares específicos. Dentro do pacote de
segurança existe agora a autenticação entre florestas. Esta autenticação é utilizada
no caso de um usuário da floresta A acessar o computador da floresta B, neste caso
acontece à autenticação entre florestas para permitir o acesso do usuário àquele
computador.
Em questão de implantação e gerenciamento fácil, a Microsoft traz uma nova
versão para a ferramenta de migração do Active Directory que se chama ADMT12,
versão 2.0. Ela permite a migração de usuários e senhas que estejam no Windows
NT 4.0 para Windows Server 2003 ou Windows 2000 Server para Windows Server
2003. Uma outra novidade que veio em questão de flexibilidade do Active Directory é
12
Active Directory Migration Tools
14
que agora é possível renomear um domínio DNS e NETBIOS. Com isto se o projeto
de implantação do Active Directory na rede for alterado, é possível alterar o domínio
sem ter que “matar” o domínio já existente. Outra ferramenta que é novidade no
Windows Server 2003 é a GPMC já mencionada anteriormente. Esta ferramenta é
uma console de gerenciamento de políticas já existentes para extensões do Active
Directory. Quando se executa a aplicação, ele traz toda a estrutura do Active
Directory para aplicação sendo possível visualizar quais OUs do Active Directory já
possui alguma política. Através dele também se pode:
•
Criar novas políticas vinculadas a alguma OU desejada;
•
Criar/Remover um “link” de uma política já existente para uma OU;
•
Visualizar/Editar/Excluir todas as políticas já existentes no domínio;
Esta ferramenta não se aplica a apenas OUs do Active Directory, ele também pode
ser aplicado para Sites criados em seu domínio. Esta ferramenta não vem instalada
por padrão no Windows Server 2003, mas pode ser baixada no site da Microsoft
gratuitamente. No caso dela não estar instalada, o modo de configuração das Group
Policy é modo normal via Active Directory.
Em questões de desempenho, a Microsoft melhorou a questão de replicação
e sincronização das informações do Active Directory. Agora o administrador da rede
pode escolher o que vai ser replicado e ao contrário de antes eram replicadas todas
as informações, agora são replicadas apenas as alterações. Outro recurso criado é
no caso da instalação de um novo Domain Controller na rede, caso ele pertença a
um domínio já existente, a replicação pode ser feita utilizando uma mídia como, por
exemplo, uma fita DAT. Com isto o administrador aumenta o desempenho da rede.
Em questão de confiabilidade, os novos recursos que vieram no Active Directory do
15
Windows 2003 é a monitoração da integridade da replicação entre os Domains
Controllers.
2.6 - Segurança Corporativa
Segurança corporativa é a segurança que se deve ter dentro de uma empresa
ou corporação. Esta segurança está ligada a várias áreas e uma delas é a área de
informática que pode ser dividida em 2 partes:
•
Segurança Física
•
Segurança Lógica
O que é segurança física? É quando se tem de fazer a segurança física do
computador, segurança do hardware. E deve ter esta segurança sempre que se
possuem dados importantes que tem muito valor para a corporação.
Um bom exemplo onde deve ter uma segurança física eficiente são no CPD13
de bancos, universidades, empresas de planos de saúde e etc. Estas corporações
trabalham com dados muito importantes para ela. Não que as outras pequenas
corporações não trabalhem com dados importantes, mas estas citadas acima devem
ter um cuidado maior ainda.
Como deve ser esta segurança? Deve-se tomar cuidado com quem acessa
fisicamente os servidores. O acesso aos servidores deve ser feito mediante
informado uma senha de acesso onde poucos poderão ter acesso. Citando um
exemplo, o DATAPUC é o departamento responsável pelo processamento de dados
da PUC Minas. Para entrar no departamento é necessário toda uma identificação do
funcionário. A cada área que for acessar lá dentro, é necessário informar uma senha
13
Centro de Processamento de Dados
16
de acesso. Os servidores estão numa sala onde quase ninguém entra, pois ela fica
trancada e só liberada mediante digitação de senha. O backup dos dados destes
servidores é feito através de um Robô programado para fazer os backups
automaticamente. Não existe contato humano com as fitas DATs de backup. Isto
também é uma forma de segurança física, ou seja, ela é a segurança dos
equipamentos onde armazena-se informações importantes. No caso de um servidor
de banco, imagine o que aconteceria se fosse roubado ou furtado um servidor
contendo os dados dos clientes daquela agência com saldos, senhas e tudo mais.
Seria um caos para o banco e o prejuízo seria muito grande.
E a segurança lógica, o que ela é? A segurança lógica é dividida em 2 outras
partes que seria: a segurança relativa à proteção da rede de computadores e a
segurança na implementação de linhas de código. A segurança numa rede de
computadores seria a implementação de um bom firewall no servidor de internet, um
bom antivírus em todas as estações da rede, configurar apenas os serviços
necessários e sempre manter o sistema operacional atualizado, pois a cada dia que
passa uma nova “brecha” é descoberta. Se não ficar atento, o administrador pode
ser surpreendido a qualquer momento. A implementação de um firewall, em
principio, é o primeiro passo a tomar na configuração de segurança da rede. Ele
deve apenas liberar o acesso externo → interno necessário. No caso de
universidades e bancos, geralmente o que deve ser acessado externamente é o site
da corporação. Raramente é necessário liberação de outro serviço no firewall.
Quanto mais portas forem liberadas no firewall, as chances de invasão na sua rede
aumentam.
Após a configuração do firewall, é importante implementar um bom antivírus
que sempre esteja atualizado e que todas as máquinas tenham instalado. Hoje em
17
dia existem na internet os programas que ficam rodando escondidos na máquina e
que, na maioria das vezes, não se percebe a existência deles. Eles são os
Spywares14. Estes programas são instalados sem que o usuário perceba e quando
se percebe já é tarde. Já existem ferramentas que instala no computador para retirar
estes Spywares e alguns são eficientes o suficiente para deixar a máquina sem
estes programas.
Segundo a Symantec [Symantec, 2002], hoje para as corporações existem
duas alternativas para o gerenciamento de segurança. Eles são:
•
Gerenciamento interno de segurança
•
Gerenciamento terceirizado de segurança
As corporações sempre se questionam quando ela decide terceirizar, se é
possível ter este gerenciamento terceirizado sem ter altos custos. É uma difícil tarefa
avaliar isto. Deve ser analisado os riscos que se corre e os benefícios que se ganha
terceirizando um serviço de segurança.
Segundo a Symantec [Symantec, 2002], são item que devem ser
considerados com muita cautela na contratação de um serviço de segurança
terceirizado.
•
Manutenção do controle da empresa
•
Experiência dos profissionais de segurança
•
Variedade e flexibilidade dos serviços
•
Custo dos benefícios
•
Filosofia e cultura do programa de segurança
•
Compromisso com o contrato de serviços
14
Software de dupla personalidade sendo sua segunda, utilizada para recolher informações habituais de um
usuário e enviadas ao fabricante do spyware.
18
•
Tecnologia suportada
•
Disponibilidade de instalações para operações de segurança
Dos fatores citados acima, para a Symantec [Symantec, 2002], o mais difícil
pode ser a avaliação do custo de terceirização, isto porque a maioria das empresas
tem dificuldades para estimar o impacto financeiro de tal decisão. Em um estudo da
InfoWorld [Dinley, 2001], de 100 profissionais que tem os serviços de segurança
terceirizados, 61% não sabe o quanto eles economizariam nos 12 meses após a
terceirização das funções de Tecnologia da Informação (TI). Os profissionais
parecem não estar preparados para esta terceirização, pois a pesquisa mostra que
apenas 39% estão por dentro dos custos da terceirização de funções de TI. Para se
ter um gerenciamento de segurança é necessário ter recurso humano, hardware de
suporte, equipamentos e softwares para gerenciar toda a segurança. Para a
Symantec [Symantec, 2002], quando uma empresa considera a terceirização dos
serviços de segurança gerenciados, deve estimar também algumas variáveis
durante o período do contrato:
•
Capital e custos operacionais relevantes
•
Custo de supervisão do provedor de serviços de gerenciamento de segurança
•
Custo da transição, alteração na direção e nível de recursos e modificações
no contrato.
Os custos de hardware e software são determinados pela empresa para que ela
tenha um bom programa de gerenciamento de segurança. Estes custos englobam
servidores, estações de trabalho, softwares de segurança como antivírus e firewall.
Todos os softwares, na maioria das vezes terão um custo de licenciamento, e este
licenciamento deve ser calculado incluindo os patches de atualizações que no ciclo
de vida do software acaba se tornando necessário. Manutenção também deve ter
19
seu custo embutido no custo total de propriedade. Segundo a Symantec [Symantec,
2002], a manutenção do software representa normalmente entre 15 e 25 porcento do
custo anual do software. No contrato de manutenção, deve-se ficar atento à
cobertura e suporte da manutenção. Algumas empresas cobrem 24 horas do dia e
outras somente no horário comercial. Dependendo do foco da empresa, no caso de
ser uma empresa que não pode parar, é interessante que o contrato de manutenção
seja de disponibilidade 24 horas. Em questão de pessoal, a equipe de segurança
deve ser formada por profissionais experientes e, hoje em dia, é difícil ter esta base
e conseguir mantê-la, além do alto custo. Estes custos com pessoal não engloba
somente o salário, mas os adicionais como bônus, horas extras e treinamentos.
Esse treinamento deve ser constante para estes profissionais de segurança, pois a
cada dia que passa, existem novas formas de ataques e também novas formas de
defesas. Segundo a Symantec [Symantec, 2002], estes custos devem incluir:
•
Treinamento no produto ou tecnologia
•
Treinamento na conscientização geral de segurança
•
Classes para preparação da certificação
•
Custos de certificação
•
Participação nas principais conferencias e encontros de segurança
•
Assinaturas de livros e revistas para manter profissionais de segurança
atualizados com as novas tecnologias, dicas, técnicas, ameaças e proteção.
Esse treinamento é importante para que as empresas sempre estejam com
profissionais qualificados a atender a segurança necessária uma vez que aparece
mais e mais vulnerabilidades. Os custos de instalações devem contabilizar
equipamentos, redundância, eletricidade, refrigeração e sistemas contra incêndios.
Às vezes a construção de um centro de operações de segurança é inviável para
20
muitas empresas, pois o curso pode passar de U$ 100.000.000 segundo a
Symantec [Symantec, 2002]. Pode-se achar que seria melhor existir um
gerenciamento interno de segurança ao ter um gerenciamento terceirizado, mas
talvez, pode-se estar enganados em certo ponto. O serviço terceirizado já possui
toda
experiência
de
segurança,
assim
o
risco
de
ameaças
diminui
consideravelmente.
O tempo de implantação de um gerenciamento terceirizado também é um
fator importante. No caso de um gerenciamento de segurança interno este tempo
pode ser muito alto. No caso de um gerenciamento terceirizado, a empresa
contratada para prover os serviços estará disponibilizando uma equipe de
profissionais experientes, fornecerá todos os recursos para proteger a empresa 24
horas por dia. Se fosse criar um sistema de gerenciamento interno, é necessário
contratação de profissionais, treinamento para eles, contratação de recursos e os
riscos seriam todos assumidos pela empresa.
Contudo, calculando no decorrer de 2 anos aproximadamente, pode ser mais
lucrativo e mais seguro para a empresa a contratação de serviços de gerenciamento
de segurança, pois para uma empresa começar isto internamente ela pode pagar
caro pela falta de experiência.
2.7 - Auditoria
Em uma rede corporativa sempre é necessário à utilização de um sistema de
auditoria e o Windows Server 2003 trabalha muito bem com isto. Segundo Battisti
[Battisti, 2003], auditoria é um processo de acompanhamento das ações que são
executadas nos servidores de domínio através da rede, tanto ações do próprio
21
sistema operacional, como por exemplo, inicialização, mas principalmente ações de
usuário, como um logon ou um acesso a arquivos de uma pasta compartilhada.
Todos os serviços que o Windows inicializa, quando um usuário efetua o
logon na rede, automaticamente gera um registro desta ação do usuário ou serviço.
O processo de auditoria consiste em analisar estes registros de sistema e identificar
possíveis problemas. Porém pode-se configurar os servidores e ou estações de
trabalho para gerar registro de outras ações. Uma destas ações, por exemplo, é
acesso a objetos de um computador, auditoria local de logon em cada estação, uso
de privilégios, controle de processos e etc. Todas estas ações podem ser
configuradas para ser auditadas. Porém quanto mais ações forem configuradas para
serem auditadas, as estações ou servidores terão que gastar mais processador e
memória para as auditorias. Com isto também, as máquinas deverão ter mais
espaço em disco, pois estes registros gerados ocuparão espaço no disco da
máquina.
A visualização destes registros é feito através da ferramenta Event Viewer
(Visualizar Eventos) que no, Windows Server 2003, são classificados em registros
de aplicação, segurança, sistema, Active Directory, Servidor DNS e serviço de
replicação. No Windows 2000, o Event Viewer gerencia apenas registros de
aplicativo, segurança e sistema como mostra a Figura 1.
22
Figura 1: Tela da ferramenta de Visualizar Eventos
Para configurar estas auditorias utiliza-se a ferramenta de Diretiva de Grupo
que encontra-se no Painel de Controle. A Figura 2 abaixo mostra esta ferramenta.
Figura 2: Tela de configurações de Diretiva de Grupo
No ambiente da rede acadêmica da PUC Minas, será utilizado muito estas
ferramentas, principalmente os registros de segurança a partir dos quais serão
gerados relatórios de utilização dos laboratórios. Este registro de segurança, além
de ser útil para emissão de relatórios, poderá ser utilizado também para identificar
usuários que estejam violando as regras dos laboratórios como acesso a sites
23
impróprios, execução e instalação de jogos dentre outros que será relatado nos
próximos capítulos.
2.8 - Login Individual
O Login individual é um sistema que foi desenvolvido no intuito de gerar um
usuário para cada aluno da PUC Minas, na rede acadêmica. A criação deste login
individual veio devido a vários problemas que eram enfrentados pelos técnicos
acadêmicos, um deles a questão de segurança. Antes da implantação do Login, não
era possível identificar os alunos que violavam as regras dos laboratórios porque era
um utilizado um único usuário para os alunos. Cada aluno tendo seu usuário e
adotando auditoria de políticas de segurança, é possível identificar os alunos
infratores. Outro motivo que levou à criação do login foi o fato de que os laboratórios
estavam sendo usados por pessoas que não são do meio acadêmico da PUC Minas.
Desta forma os laboratórios ficavam lotados e os alunos que possuem o benefício,
não podiam utilizar. Com a implantação do login, os laboratórios foi racionalizado
privilegiando os alunos.
O sistema foi modelado utilizando a metodologia UML15 e desenvolvido na
linguagem Delphi com banco de dados MySQL. A função do sistema será de gerar
os usuários dos alunos da PUC Minas nos controladores de domínio da rede
acadêmica. Através de configurações criadas no sistema, os usuários, que são mais
30 mil ao todo, serão criados dentro de seus respectivos cursos e unidades. A
estrutura de Unidades e Cursos será criada no Active Directory automaticamente na
execução do sistema pela primeira vez. O banco de dados do sistema já traz as
15
Unified Modeling Language, traduzindo Linguagem de Modelagem Unificada
24
unidades e cursos atuais da PUC Minas, o que permite a criação da estrutura no
Active Directory.
Os alunos são cadastrados no sistema através de arquivo de texto fornecido
pelo DATAPUC ou individualmente mediante apresentação de comprovante de
matrícula na PUC Minas. Este arquivo que tem um formato específico é gerado com
todos os alunos de cada unidade e enviado para as mesmas. Cada unidade é
responsável pelo processamento deste arquivo no sistema de login individual. Este
arquivo deve ser processado todo início de semestre após o término das matrículas.
Cada aluno é uma linha do arquivo que traz informações como matrícula, nome,
curso, período, turno e situação. Esta situação é que determina a situação do
usuário na rede e será detalhado estas situações no próximo capítulo.
O sistema de login individual foi desenvolvido para funcionar integrado com o
Windows Server 2003 e Active Directory. Está sendo utilizado o Windows Server
2003 porque além de ser uma nova tecnologia, a nova versão do Active Directory
trouxe novas ferramentas que facilitam a vida do administrador de rede. Estas novas
ferramentas são novos comandos que são utilizados via Prompt que facilmente
podem ser usados. O sistema de login utiliza destes comandos para criar, remover e
alterar objetos no Active Directory. É utilizado apenas 3 comandos para trabalhar
com estes objetos, eles são: DSADD, DSMOD E DSRM Com o comando DSADD
pode-se adicionar qualquer tipo de objeto no Active Directory, estes objetos são
usuários, computadores e OUs. Com o comando DSMOD pode-se fazer quaisquer
modificações no Active Directory, nos usuários é possível mudar qualquer
informação que esteja cadastrado pra ele. O DSRM é utilizado apenas para remover
o usuário, computador ou OU do Active Directory.
25
3 – Rede Acadêmica da PUC Minas
3.1 - Rede acadêmica
A PUC Minas possui duas redes de computadores. Sendo que uma é a rede
administrativa onde ficam ligados os computadores dos setores como Secretaria,
Biblioteca, Apoio Comunitário e etc. Nesta rede os alunos não possuem acesso, pois
os servidores de banco de dados que possuem todos os dados da PUC estão
ligados a ela. Se os alunos tivessem acesso a esta rede, o risco de tentativa de
invasão dos servidores seria muito maior. Para resolver este problema, foi criado a
rede acadêmica, que estão ligados os laboratórios de informática.
A rede acadêmica possui um “link” WAN de internet que chega na PUC
Coração Eucarístico e de lá é repassado para as Unidades através de links WAN
entre elas. Ligado a este link, um servidor Firewall faz a proteção de ataques
externos e que filtra acessos internos. Ligado a este Firewall, cada unidade possui
um Firewall e um Proxy para compartilhamento de internet. Cada unidade possui um
domínio que atualmente se chama pucmg.net, utilizando o Windows Server 2003, e
neste domínio estão os laboratórios de informática que são acessados pelos alunos
da PUC para aulas e desenvolvimentos de trabalhos acadêmicos.
Os domínios não se enxergam atualmente mas é plano para o futuro criar
relação de confiança entre estes domínios para que um aluno de uma unidade
consiga utilizar sua senha em qualquer outra unidade que estiver acessando.
26
3.2 - Login Individual aplicado à rede acadêmica.
O sistema de login individual deve ser instalado em todos os servidores de
domínio da PUC Minas para que os usuários sejam criados corretamente. Se o
sistema for instalado em um sistema operacional que não seja Windows Server
2003, é liberado somente a funcionalidade de consulta e impressão de carta de
instruções.
O ideal é utilizar o sistema de login no servidor apenas para criação de
cursos, unidades, usuários. As demais funcionalidades podem ser utilizadas em
outra estação com qualquer sistema operacional. Com um servidor de domínio,
deve-se ter o maior cuidado pois, se um dia ele parar, sua rede toda estará fora do
ar e, uma rede fora do ar, é muito trabalho para os administradores. Os usuários são
criados sempre no início do semestre, e no seu decorrer, os alunos solicitam sua
senha na sala dos técnicos. As senhas são emitidas de acordo com a demanda dos
alunos e é impressa mediante apresentação da carteira de aluno da PUC, ou
documento de identidade ou comprovante de matrícula. Caso um aluno de uma
unidade A queria utilizar os computadores de uma unidade B, o mesmo deve
solicitar aos técnicos a criação de um usuário para o acesso. Esta criação é feita
mediante a apresentação do comprovante de matrícula. No caso de unidades que
tem acesso ao sistema SGA Administrativo, com a apresentação da carteira de
aluno da PUC ou identidade, o técnico de laboratório pode averiguar a situação
daquele aluno no sistema e criar seu usuário caso o aluno esteja matriculado. Estes
casos de alunos de outras unidades acontecem sempre, uma vez que, estes alunos
costumam fazer matérias fora de sua unidade de origem para ficar regular ou
adiantar o curso. A cada novo semestre, estes usuários de outras unidades são
27
bloqueados, pois eles não estarão no arquivo de dados fornecido pelo DATAPUC.
Caso eles voltem a utilizar os computadores no semestre seguinte, ele apenas
solicita o desbloqueio do usuário apresentando o comprovante de matrícula.
Na rede acadêmica, os usuários possuem um perfil único que chama Perfil
Ambulante. O conceito de perfil, são as configurações do computador que são
carregadas quando ele vai utilizá-lo. Às vezes é necessário à existência de um perfil
na rede e com o login individual, esta questão de perfil é tratada por cursos. Cada
curso pode ter um perfil separado. Também existem os scripts de logon que ficam
nos servidores e estes também são tratados como os perfis, por curso. É possível
também informar no sistema que usuários de um determinado curso irá pertencer a
um grupo criado no Active Directory. Estes cadastros de configurações por curso
serão abordados no próximo capítulo.
3.3 - Segurança na rede acadêmica
A questão de segurança deve ser olhada com atenção pois a rede acadêmica
é acessada por diversos alunos. Hoje é implementado na rede acadêmica um
firewall no servidor gateway16 e software antivírus em todas as estações. Utiliza-se
também um software da Microsoft chamado SUS que já foi citado anteriormente, em
síntese, sua função é baixar as atualizações de segurança do Windows e repassa
elas para as máquinas sem que elas acessem internet, tudo pela rede local. O
software antivírus é instalado a versão Server no controlador de domínio e a versão
Client nas estações, o Server busca automaticamente atualizações de definições de
vírus no site do produto e, automaticamente.
16
Saída da sua rede para a internet
28
Estas definições são repassadas para cada estação da rede no momento que ela é
ligada.
Com é utilizado o Windows Server 2003, é possível bloquear vários recursos
das estações utilizando a ferramenta de Group Policy. Através dela é possível
configurar várias políticas de segurança nas estações, como bloquear acesso a
ferramentas restritas do administrador, ativar auditoria de logon, e etc. Com o
Windows 2000 Server também existe este recurso mas, no Windows Server 2003
existem mais políticas implementadas nesta ferramenta. Outro recurso, que o
Windows Server 2003 trouxe para questão de segurança, é a nova versão para o
protocolo de autenticação chamado Kérberos. Com esta versão, tornar-se mais difícil
quebrar uma senha que esteja armazenada no Active Directory. É importante frisar
que é necessário utilizar uma política de senha complexa fazendo com que os
usuários não utilizem senhas fáceis de quebrar.
Através de uso do Firewall e servidor de Proxy conseguimos bloquear acesso
a vários sites que não são do meio acadêmico, como, por exemplo, sites de hackers,
pornográficos e conteúdo impróprio. Utilizando o firewall, são liberadas apenas as
portas necessárias. Para outras portas, que não devem ser acessadas do laboratório
mas que são necessárias para acessar de outros computadores, é feito um filtro por
IP para que este acesso seja liberado corretamente. Para este serviço de firewall é
utilizado o software iptables17 em ambiente Linux. Utilizando o serviço de proxy
SQUID em ambiente Linux, é bloqueado o acesso aos sites indevidos. Existe uma
largura de banda para uma determinada faixa de IP e regras para liberação de sites
sem passagem pelo proxy como por exemplo sites internos da PUC Minas.
17
Software de firewall para Linux
29
4 – Apresentação do Sistema
4.1 - Instalador
Como já mencionado anteriormente, o sistema de Login Individual foi
desenvolvido para rodar nas plataformas Windows 9x/ME/NT/2000/XP/2003. No
entanto, a utilização completa do sistema está disponível apenas no Windows Server
2003, devido à existência do Active Directory. Para que o sistema de login funcione
corretamente, foi desenvolvido um instalador, personalizado que solicita ao
administrador, parâmetros de conexão com o banco de dados. Além de copiar para
o computador arquivos específicos para o funcionamento do sistema, o instalador
cria na máquina, o Driver ODBC do MySQL configurado com o banco de dados do
sistema de Login Individual. A Figura 3 mostra a solicitação de parâmetros para a
criação do Driver ODBC no sistema operacional.
Figura 3: Parâmetros de banco de dados
30
Na próxima tela é configurado o diretório onde serão armazenado os arquivos
gerados pelo sistema, Script de Logon padrão, Profile padrão, e Domínio. Estes
arquivos contêm os scripts do Windows Server 2003 para a criação, modificação e
remoção de usuários do Active Directory. A Figura 4 mostra esta solicitação de
parâmetros gerais.
Figura 4: Parâmetros Gerais do Instalador
Após a passagem dos parâmetros para o Instalador, este irá copiar os arquivos
necessários para o computador deixando assim o sistema instalado e Driver ODBC
configurado. O banco de dados MySQL, necessário ao sistema, deve ser instalado
separadamente. Depois de instalado o banco de dados, é necessário à execução de
um Script SQL utilizando uma ferramenta de conexão, para a criação do banco de
dados do sistema. Após a instalação do MySQL e do sistema de login, o sistema de
login individual, o sistema já está pronto para funcionamento.
31
4.2 - Características
O sistema é todo baseado nos comandos do Windows Server 2003, dsadd,
dsmod e dsrm. Estes comandos possuem muitos parâmetros que são criados,
modificados ou removidos da estrutura do Active Directory. O sistema, a partir das
informações contidas no banco de dados, gera arquivos de script que serão
executados após execução de comandos do sistema.
Ao executar o sistema de Login no Windows Server 2003 pela primeira vez, o
sistema pergunta para o administrador se ele deseja que seja criado dentro da
estrutura do Active Directory as OUs das Unidades e Cursos da PUC já cadastrados
em banco de dados.
O administrador não criando esta estrutura, a criação de
usuários pode não funcionar corretamente. No caso do administrador instalar o
sistema em um controlador de domínio que já possua esta estrutura, ele vai clicar
em “Não” e prosseguir na utilização do sistema. Executando em outra plataforma
Windows isto não é feito.
O sistema possui as seguintes funcionalidades:
•
Cadastro de usuário individual e por processamento de arquivo de texto
•
Pesquisa de usuário para impressão da carta de instruções e alteração de
senha
•
Cadastro de configurações por curso
•
Cadastro de Unidades e Cursos
•
Alteração de senha do sistema
32
4.3 - Cadastro de Usuários
O cadastro de usuários no sistema pode ser feito de duas formas:
•
Através de arquivo de Texto (todos os alunos de uma vez),
•
Individualmente.
O arquivo de texto deve ser fornecido pelo DATAPUC. Este arquivo possui
em cada linha as informações do aluno como: matrícula, nome, curso, período,
turno, código da carteira de aluno e situação. Esta situação é que defini se o aluno
terá seu usuário criado ou não no servidor Active Directory. As possíveis situações
são:
•
0 – Não matriculado,
•
1 – Matriculado,
•
2 – Trancado,
•
3 – Cancelado,
•
4 – Transferido,
•
5 – Formado,
•
6 – Calouro Desistente,
•
7 – Desligado.
Das situações anteriores, apenas três situações permitem que o usuário
permaneça no Active Directory, e apenas a situação 1, permite que o usuário faça o
logon nos laboratórios. As situações 0 e 2 deixam o usuário bloqueado para o Logon
podendo ser reativado mediante comprovante de matrícula. Nas demais situações, o
usuário é excluído do Active Directory. O processamento do arquivo é feito linha a
linha e assim que um aluno é processado, é gravado no arquivo de script do
Windows Server 2003, qual operação a ser feita com o usuário. Neste script teremos
33
várias linhas ou uma linha no caso de cadastro individual, contendo comandos como
dsadd, dsmod e dsrm. Estes comandos com os parâmetros passados, irão fazer
operações no Active Directory de criação, alteração e remoção de usuários. Uma
vez gravando no arquivo, caso a situação seja diferente de 0, 1 e 2, o registro é
excluído do banco de dados. Na Figura 5, a tela de cadastro de usuário e
processamento de arquivos.
Figura 5: Cadastro de usuário e processamento de
arquivo
34
4.4 - Impressão de Instruções e Alteração de Senha
A funcionalidade de pesquisa de usuário tem como objetivo, localizar o
usuário para a impressão de instruções e alteração de senha. Pode-se fazer esta
pesquisa através do número de matrícula, ou nome do aluno ou utilizando um leitor
de código de barra passando a carteira do aluno com o sistema focando para o
campo Numero da Carteirinha. A pesquisa retorna para o administrador os alunos
cadastrados de acordo com o que foi informado nos campos. Pode-se visualizar na
pesquisa a matricula, nome, situação e se já foi impresso a carta de instruções. Uma
vez encontrado o aluno desejado, clica-se nele e habilita os botões de alteração de
senha e emissão de instruções. Na figura 6 pode-se visualizar como é esta tela do
sistema.
Figura 6: Tela de pesquisa de alunos para impressão
de carta de instruções ou alteração de senha.
35
4.5 - Cadastro de Configurações
Esta funcionalidade do sistema é feita individualmente por curso. Tem como
objetivo diferenciar configurações de Logon Script18, Profile19 e Grupo20 para os
usuários. Se for necessário ter alguma configuração específica por curso, este
cadastro deve ser feito antes do processamento ou cadastro individual de usuários.
Só após poderá efetuar o processamento do arquivo. Uma vez cadastrado estas
configurações, no momento do processamento do arquivo ou criação individual de
usuário, é verificado, para o aluno, se existe uma configuração específica para o
curso que ele está matriculado e, caso não exista, são utilizadas as configurações
padrões definidas na instalação do sistema. Na Figura 7 uma amostra da tela de
cadastro de configurações.
Figura 7: Tela de cadastro de configurações de Profile,
Script de Logon e Grupo
18
Script de usuário que é executado no momento do logon
Perfil utilizado pelo usuário no computador
20
Grupo de usuários definido no Active Directory
19
36
4.6 - Cadastro de Unidades e Cursos
A funcionalidade de cadastro de Unidades e Cursos será utilizada quando a
PUC criar uma nova unidade ou abrir um curso novo na Instituição. O objetivo desta
funcionalidade é manter a organização do Active Directory na criação de usuários.
Cadastrando um curso novo ou uma unidade nova no sistema, automaticamente
será criado no Active Directory as respectivas OUs para organização dos usuários
utilizando os comandos do Windows Server 2003, dsadd ou dsmod. Nas figuras 8 e
9, as telas de cadastro de Unidades e Cursos.
Figura 8: Tela de cadastro de Unidades
Figura 9: Cadastro de Cursos
37
4.7 - Alteração de Senha
A funcionalidade de alteração de senha permite alterar a senha de usuário e o
login do sistema. Foi criada esta funcionalidade para aumentar mais a segurança do
sistema, pois, o mesmo vem com o usuário e senha padrão. Para que esta alteração
seja feita é necessário entrar com a senha atual. Na figura 10 a tela de alteração de
senha.
Figura 10: Tela de alteração de senha de acesso ao
sistema
38
5 – Conclusão
Com a implantação do sistema de login individual, verificamos que os
laboratórios da PUC, como um todo, ficaram mais disponíveis para os alunos, uma
vez que muitas vezes existiam pessoas que não são do meio acadêmico utilizando
os laboratórios. Além disto, obteve-se melhoras com relação à segurança pois, com
a utilização de auditoria na rede e nas máquinas locais, é possível identificar alunos
que estão infringindo as normas do laboratórios, como acesso a sites impróprios,
instalação de jogos nos computadores ou mesmo se efetuar um ataque maia
agressivo à rede. O sistema de login também proporcionou a liberação de
laboratórios exclusivos e um espaço em disco de 15 MegaBytes para alunos do
curso de Sistemas de Informação na unidade da PUC Contagem.
Existem 2 projetos para o sistema de login. O primeiro é o desenvolvimento
de uma interface Web do sistema, para que não seja necessário ir ao servidor para
criação de usuários, alteração de senhas, status do usuário, liberar acesso aos
laboratórios de Sistemas de Informação e etc. O projeto do sistema com o
funcionamento pela Web já está em desenvolvimento utilizando a linguagem o PHP
sobre e o servidor de Apache21. O segundo projeto seria o estudo da plataforma
.NET22 da Microsoft para o desenvolvimento do sistema de login individual com
acesso direto ao Active Directory, sem utilização de linhas de comando. No
desenvolvimento deste projeto, é necessário verificar o desempenho de acesso ao
Active Directory para saber se é mais viável utilizar o sistema compilado na
plataforma .NET.
21
Servidor de páginas Web para plataforma Linux e Windows
22
Maquina virtual desenvolvida pela microsoft que agiliza o desenvolvimento e tornaos sistemas mais portaveis
para diversas plataformas
39
Referências
BATTISTI, Júlio. Windows Server 2003 Curso Completo
Editora Axcel Books,
Rio de Janeiro, 2003.
MICROSOFT. Active Directory. Disponível em:
http://www.microsoft.com/brasil/windowsserver2003/tec_active.mspx
Acesso em: 8 de outubro de 2004
HARA, Fábio. Novas Ferramentas do Windows Server 2003. Disponível em :
http://superdownloads.ubbi.com.br/materias/20040204,227,1.html
Acesso em 9 de outubro de 2004
HARA, Fábio. Windows 2003 Server. Disponível em:
http://superdownloads.ubbi.com.br/materias/20030213,177,1.html
Acesso em 9 de outubro de 2004
CAMPOS, Eduardo. Uma arma chamada Windows 2003.
Revista Network, São Paulo.
Ano 4, N° 51, maio 2003.
SYMANTEC, Gerenciando a Segurança Corporativa. Disponível em:
http://66.90.88.250/downloads/414_seg_corporativa.zip
Acesso em 5 de novembro de 2004
ALLEN, Robbie. Active Directory Cookbook for Windows Server 2003 and Windows
2000.
Editora O’Reilly
DINLEY, D. "Should outsourcing be part of your IT act?"
InfoWorld Outsourcing Study, InfoWorld,
12 de fevereiro de 2001.
40
Anexos
Anexo A – Banco de Dados
Anexo B – Modelo ER
Anexo C – Partes do código fonte da aplicação gerada
41
Anexo A
#
# Table structure for table configuracoes
#
CREATE TABLE `configuracoes` (
`COD_CURSO` int(10) NOT NULL default '0',
`PROFILE` varchar(100) default NULL,
`SCRIPT` varchar(100) default NULL,
`GRUPO` varchar(20) NOT NULL default '',
PRIMARY KEY (`COD_CURSO`),
KEY `COD_CURSO` (`COD_CURSO`)
) TYPE=InnoDB;
#
# Table structure for table cursos
#
CREATE TABLE `cursos` (
`COD_CURSO` int(10) NOT NULL default '0',
`DESCRICAO` varchar(80) NOT NULL default '',
`COD_UNIDADE` varchar(10) NOT NULL default '0',
`OU` varchar(250) default NULL,
`GRADUACAO` char(1) NOT NULL default '',
`LAB_EXCLUSIVO` char(1) default NULL,
PRIMARY KEY (`COD_CURSO`),
KEY `COD_UNIDADE` (`COD_UNIDADE`)
) TYPE=InnoDB;
#
# Table structure for table login
#
CREATE TABLE `login` (
`LOGIN` varchar(20) NOT NULL default '',
`COD_UNIDADE` varchar(10) default NULL,
`DESCRICAO` varchar(50) default NULL,
`SENHA` varchar(16) default NULL,
PRIMARY KEY (`LOGIN`)
) TYPE=InnoDB;
#
# Table structure for table unidades
#
CREATE TABLE `unidades` (
`COD_UNIDADE` varchar(10) NOT NULL default '0',
`DESCRICAO` varchar(50) default NULL,
`NOMEOU` varchar(100) default NULL,
PRIMARY KEY (`COD_UNIDADE`)
) TYPE=InnoDB;
#
# Table structure for table usuarios
#
CREATE TABLE `usuarios` (
`MATRICULA` varchar(15) NOT NULL default '0',
`COD_CURSO` int(5) unsigned NOT NULL default '0',
`TURNO` char(1) NOT NULL default '',
`COD_SITUACAO` int(5) unsigned default NULL,
`NOME` varchar(50) NOT NULL default '',
`PERIODO` char(2) NOT NULL default '0',
`SENHA` varchar(20) NOT NULL default '',
`LAB_EXCLUSIVO` char(1) NOT NULL default '',
`IMPRESSO` char(1) NOT NULL default '0',
`N_CARTEIRA` varchar(25) default NULL,
PRIMARY KEY (`MATRICULA`),
KEY `NOME` (`NOME`),
KEY `MATRICULA` (`MATRICULA`),
KEY `LAB_EXCLUSIVO` (`LAB_EXCLUSIVO`)
) TYPE=InnoDB;
42
Anexo B
Anexo C
Código fonte do processamento de arquivos
if OpenArquivoDialog.Execute then
begin
Linhas := TStringList.Create;
Linhas.LoadFromFile(OpenArquivoDialog.FileName);
TotalLinhas := Linhas.Count-1;
LinhaDupla := Linhas.Strings[TotalLinhas];
Linhas.Insert(Linhas.Count, LinhaDupla);
end
else
begin
end;
SubstituiCaracteres(Linhas);
MessageDlg('Erro ao abrir o arquivo!', mtError, [mbOK], 0);
Exit;
Caminho := NomeArquivo('C_Usuarios');
AssignFile(Usuarios, Caminho);
Rewrite(Usuarios);
ProgressBar.Position := ProgressBar.Position + 2;
for NLinha := 0 to TotalLinhas do
begin
Linha := Linhas.Strings[NLinha];
Tam := Length(Linha);
Indice := 1;
Cont := 0;
i := 1;
for NChar := 0 to Tam do
begin
Caracter := Copy(Linha, i, 1);
if Caracter = ';' then
begin
case Cont of
0 : Dados[1] := Copy(Linha, Indice, i-Indice);
1 : Dados[2] := Copy(Linha, Indice, i-Indice);
43
2
3
4
5
6
:
:
:
:
:
Indice);
Dados[3] := Copy(Linha, Indice, i-Indice);
Dados[4] := Copy(Linha, Indice, i-Indice);
Dados[5] := Copy(Linha, Indice, i-Indice);
Dados[6] := Copy(Linha, Indice, i-Indice);
begin
Dados[7] := Copy(Linha, Indice, iDados[8] := Copy(Linha, i+1, Tam-1);
+ Copy(Linha, i+5, Tam-i);
end;
end;
//
Break;
Inc(Cont);
Indice := i + 1;
end;
i := i + Length(Copy(Linha, Indice, i-Indice));
end;
Inc(i);
Senha := GeraSenha;
Configuracao := Configuracoes(Dados[3], Dados[6]);
OpenSQL('select LAB_EXCLUSIVO from cursos where COD_CURSO =
"'+Dados[3]+'"');
LabExclusivo :=
dtm_Tabelas.qrySelect.FieldByName('LAB_EXCLUSIVO').AsString;
{
Configuracao[1]
Configuracao[2]
Configuracao[3]
Configuracao[4]
Configuracao[5]
Configuracao[6]
Configuracao[7]
}
->
->
->
->
->
->
->
Script
Profile
NomeCurso
NomeUnidade
OUCurso
NomeOU
Grupo
//Grava No MySQL e grava ou apaga no 2003
if not ChavePrimaria('MATRICULA', 'usuarios', Dados[1], False)
then // nao existe no Banco
begin
if (Dados[7] = '1') then
//insere
begin
ExecSQL('insert into usuarios (MATRICULA, COD_CURSO,
TURNO, COD_SITUACAO, NOME, PERIODO, SENHA, LAB_EXCLUSIVO, IMPRESSO,
N_CARTEIRA)
values("'+Dados[1]+'","'+Dados[3]+'","'+Dados[5]+'","'+Dados[7]+'","'+Dados
[2]+'","'+Dados[4]+'","'+Senha+'","'+LabExclusivo+'","0","'+Dados[8]+'")');
LinhaCmd := 'dsadd user
"CN='+Dados[1]+','+Configuracao[5]+',OU=Unidades,DC=pucmg,DC=net" -samid
'+Dados[1]+' -upn '+Dados[1]+'@pucmg.net -display "'+Dados[2]+'" -pwd
'+Senha+' -fn "'+Dados[2]+'" -desc "Curso: '+Configuracao[3]+' Periodo:
'+Dados[4]+' Turno: '+Dados[5]+'" -office "'+Configuracao[4]+'" -profile
'+Configuracao[2]+' -loscr '+Configuracao[1]+' -mustchpwd yes';
if Trim(Configuracao[7]) <> '' then
begin
LinhaCmd := LinhaCmd + ' -memberof CN='+
Configuracao[7]+',CN=Users,DC=pucmg,DC=net';
end;
end
else
Writeln(Usuarios, LinhaCmd);
44
if (Dados[7] = '2') then
//insere desabilitado
begin
ExecSQL('insert into usuarios (MATRICULA, COD_CURSO,
TURNO, COD_SITUACAO, NOME, PERIODO, SENHA, LAB_EXCLUSIVO, IMPRESSO,
N_CARTEIRA)
values("'+Dados[1]+'","'+Dados[3]+'","'+Dados[5]+'","'+Dados[7]+'","'+Dados
[2]+'","'+Dados[4]+'","'+Senha+'","'+LabExclusivo+'","0","'+Dados[8]+'")');
LinhaCmd := 'dsadd user
"CN='+Dados[1]+','+Configuracao[5]+',OU=Unidades,DC=pucmg,DC=net" -samid
'+Dados[1]+' -upn '+Dados[1]+'@pucmg.net -display "'+Dados[2]+'" -pwd
'+Senha+' -fn "'+Dados[2]+'" -desc "Curso: '+Configuracao[3]+' Periodo:
'+Dados[4]+' Turno: '+Dados[5]+'" -office "'+Configuracao[4]+'" -profile
'+Configuracao[2]+' -loscr '+Configuracao[1]+' -mustchpwd yes -disabled
yes';
if Trim(Configuracao[7]) <> '' then
begin
LinhaCmd := LinhaCmd + ' -memberof CN=' +
Configuracao[7]+',CN=Users,DC=pucmg,DC=net';
end;
end
else
begin
end;
Writeln(Usuarios, LinhaCmd);
//ja existe no banco
if (Dados[7] = '1') then
//atualiza
begin
ExecSQL('update usuarios set COD_CURSO="'+Dados[3]+'",
TURNO="'+Dados[5]+'", COD_SITUACAO="'+Dados[7]+'", NOME="'+Dados[2]+'",
PERIODO="'+Dados[4]+'", N_CARTEIRA="'+Dados[8]+'" where
MATRICULA="'+Dados[1]+'"');
//Esta linha deve atualizar com dsmod SEM mexer com
disable
LinhaCmd := 'dsmod user
"CN='+Dados[1]+','+Configuracao[5]+',OU=Unidades,DC=pucmg,DC=net" -upn
'+Dados[1]+'@pucmg.net -display "'+Dados[2]+'" -fn "'+Dados[2]+'" -desc
"Curso: '+Configuracao[3]+' Periodo: '+Dados[4]+' Turno: '+Dados[5]+'" office "'+Configuracao[4]+'" -profile '+Configuracao[2]+' -loscr
'+Configuracao[1] + ' -disabled no';
if Trim(Configuracao[7]) <> '' then
begin
LinhaCmd := LinhaCmd + ' -memberof CN=' +
Configuracao[7]+',CN=Users,DC=pucmg,DC=net';
end;
desabilitado
Writeln(Usuarios, LinhaCmd);
end
else
if (Dados[7] = '0') or (Dados[7] = '2') then
//atualiza
begin
ExecSQL('update usuarios set COD_CURSO="'+Dados[3]+'",
TURNO="'+Dados[5]+'", COD_SITUACAO="'+Dados[7]+'", NOME="'+Dados[2]+'",
PERIODO="'+Dados[4]+'", N_CARTEIRA="'+Dados[8]+'" where
MATRICULA="'+Dados[1]+'"');
LinhaCmd := 'dsmod user
"CN='+Dados[1]+','+Configuracao[5]+',OU=Unidades,DC=pucmg,DC=net" -disabled
yes';
if Trim(Configuracao[7]) <> '' then
begin
LinhaCmd := LinhaCmd + ' -memberof CN=' +
Configuracao[7]+',CN=Users,DC=pucmg,DC=net';
end;
45
end
else
begin
Writeln(Usuarios, LinhaCmd);
//remove
ExecSQL('delete from usuarios where
MATRICULA="'+Dados[1]+'"');
LinhaCmd := 'dsrm
"CN='+Dados[1]+','+Configuracao[5]+',OU=Unidades,DC=pucmg,DC=net" noprompt';
end;
end;
end;
Writeln(Usuarios, LinhaCmd);
ProgressBar.Position := ProgressBar.Position + 1;
CloseFile(Usuarios);
try
WinExec(PChar(Caminho), SW_MINIMIZE);
except
MessageDlg('Erro ao atualizar cadastro de usuários no Active
Directory!'#13'Você deverá executar "'+Caminho+'" manualmente.',
mtInformation, [mbOK], 0);
end;
Exit;
Linhas.Free;
MessageDlg('Arquivo processado com sucesso! Aguarde a criação dos
usuários...', mtInformation, [mbOK], 0);
Código fonte da função de alteração de senha de usuário
btnInstrucoes.Enabled := False;
btnAltSenha.Enabled := False;
if Trim(dtm_Tabelas.qryUsuarios.SQL.Text) = '' then
Exit;
Matricula :=
dtm_Tabelas.qryUsuarios.FieldByName('MATRICULA').AsString;
OUCurso := dtm_Tabelas.qryUsuarios.FieldByName('OU').AsString;
if not (dtm_Tabelas.qryUsuarios.RecordCount = 0) then
begin
if dtm_Tabelas.qryUsuarios.FieldByName('COD_SITUACAO').AsString =
'Trancado' then
begin
Exit;
end
else
if dtm_Tabelas.qryUsuarios.FieldByName('IMPRESSO').AsString =
'SIM' then
begin
ExecSQL('update usuarios set SENHA = "1234" where MATRICULA
= "'+Matricula+'"');
if not ExecComando('A_' + Matricula, 'dsmod user
"CN='+Matricula+','+OUCurso+',OU=Unidades,DC=pucmg,DC=net" -pwd 1234 mustchpwd yes') then
begin
MessageDlg('Erro ao alterar a senha do usuário!',
mtInformation, [mbOK], 0);
Exit;
46
end
else
end;
end;
Exit;
btnInstrucoes.Enabled := False;
btnAltSenha.Enabled := False;
47
Código da geração de OU do Active Directory
procedure TfrmLogin.VerificaOU;
var JaCriouOU, CodCurso : ShortString;
NomeCurso, OU, NomeOU, Caminho : String;
Parametros : TRegistry;
CriaOU : TextFile;
i : Integer;
begin
try
with Parametros do
begin
Parametros := TRegistry.Create(KEY_ALL_ACCESS);
Parametros.RootKey := HKEY_LOCAL_MACHINE;
CloseKey;
OpenKey('Software\LoginIndividual', False);
JaCriouOU := ReadString('OU');
end;
except
MessageDlg('Erro ao ler dados do Registro! A reinstalação do
sistema pode resolver o problema', mtError, [mbOK], 0);
Application.Terminate;
Exit;
end;
if JaCriouOU = '0' then
begin
if MessageDlg('Existem OU''s que ainda não foram criadas no
Active Directory do Windows 2003. Deseja criá-las? Obs.: Não será possível
criar usuários sem que essas OU''s sejam criadas.', mtConfirmation,
[mbYes,mbNo], 0) <> mrYes then
Exit;
Caminho := NomeArquivo('CriaOU');
AssignFile(CriaOU, Caminho);
Rewrite(CriaOU);
OpenSQL('select COD_UNIDADE, NOMEOU from unidades');
for i:=0 to dtm_Tabelas.qrySelect.RecordCount-1 do
begin
NomeOU :=
dtm_Tabelas.qrySelect.FieldByName('NOMEOU').AsString;
OU := 'dsadd ou "OU='+NomeOU+',OU=Unidades,DC=pucmg,DC=net"
-desc "'+NomeOU+'"';
Writeln(CriaOu, OU);
OU := 'dsadd ou
"OU=Usuarios,OU='+NomeOU+',OU=Unidades,DC=pucmg,DC=net" -desc
"'+NomeOU+'"';
Writeln(CriaOu, OU);
end;
dtm_Tabelas.qrySelect.Next;
OpenSQL('select COD_CURSO, cursos.DESCRICAO as DESCRICAO, NOMEOU
from cursos, unidades where unidades.COD_UNIDADE = cursos.COD_UNIDADE');
for i:=0 to dtm_Tabelas.qrySelect.RecordCount-1 do
begin
NomeCurso :=
dtm_Tabelas.qrySelect.FieldByName('DESCRICAO').AsString;
48
CodCurso :=
dtm_Tabelas.qrySelect.FieldByName('COD_CURSO').AsString;
NomeOU :=
dtm_Tabelas.qrySelect.FieldByName('NOMEOU').AsString;
OU := 'dsadd ou
"OU='+NomeCurso+',OU=Usuarios,OU='+NomeOU+',OU=Unidades,DC=pucmg,DC=net" desc "'+NomeCurso+'"';
Writeln(CriaOu, OU);
ExecSQL('update cursos set OU =
"OU='+NomeCurso+',OU=Usuarios,OU='+NomeOU+'" where COD_CURSO = '+CodCurso);
end;
dtm_Tabelas.qrySelect.Next;
Parametros.WriteString('OU', '1');
CloseFile(CriaOU);
try
WinExec(PChar(Caminho), SW_MINIMIZE);
except
MessageDlg('Erro ao criar OU!! O cadastro de usuários no
Windows 2003 não será executado automaticamente.', mtInformation, [mbOK],
0);
end;
end;
end;
49
Download