Escolar Documentos
Profissional Documentos
Cultura Documentos
27 de junho de 2016
RESUMO
O presente artigo apresenta um estudo de caso em que se identifica a necessidade de
desenvolvimento de aplicativo que incremente a segurana de informaes armazenadas em computadores
locais, ameaadas pelas vias de acesso remoto utilizando-se redes de dados e registre tais acessos para
posterior auditoria se necessria. Para o desenvolvimento do aplicativo pesquisou-se sobre segurana de
dados, protocolos de comunicao de redes, aplicativos de acesso remoto e de identificao de acesso j
existentes. A linguagem de programao Delphi Embarcadero foi escolhida para a codificao do
aplicativo, SQLite para armazenar os registros das conexes. Foram pesquisados outros aplicativos que
tenham como finalidade identificar conexes remotas com caractersticas de usabilidade semelhantes s do
aplicativo proposto neste trabalho. Se concluiu que os aplicativos existentes encontrados e estudados at a
presente data no atendem aos requisitos propostos pela empresa, reforando a necessidade de
desenvolvimento de uma ferramenta especfica para a funo de monitoramento de acessos remotos.
Palavras-chave: Monitoramento; Acesso; Remoto; Ethernet; Segurana; Privacidade.
ABSTRACT
TITLE: TCP/IP CONNECTIONS MONITOR SYSTEM
This article presents a case study that identifies the need for application development that increases the
security of information stored on local computers, threatened by remote access routes using data networks
and record such access to subsequent audit if necessary . For application development it was searched on
data security, network communication protocols, remote access applications and existing access
identification. Delphi Embarcadero programming language was chosen for the application encoding,
SQLite to store the records of connections. They searched other applications that are intended to identify
remote connections with usability features similar to the proposed application in this work. It was concluded
that the existing applications found and studied currently not meets the requirements proposed by company,
reinforcing the need for development of a specific tool for monitoring of remote access function.
Key-words: Monitoring; Access; Remote; Ethernet; Security; Privacy.
1 INTRODUO
De acordo com Laudon (2010, p.41) Durante os ltimos 50 anos, cada vez mais as
informaes organizacionais e o fluxo delas entre os principais atores dos negcios foram
computadorizados.
Esta migrao de informaes do papel para meios digitais, dificultou o controle de acesso s
informaes armazenadas. Se no passado uma gaveta trancada era suficiente para manter informaes
sigilosas em segurana, hoje devido a informatizao dos processos os prprios funcionrios
representam problemas srios de segurana. Eles tm acesso a informaes privilegiadas e, na
presena de procedimentos de segurana internos frouxos, muitas vezes podem perambular por todos
os sistemas da organizao sem deixar vestgios (LAUDON, 2010, p.226).
2 CONCEITOS
O desenvolvimento do aplicativo proposto neste Trabalho de Concluso implica na
compreenso dos mecanismos de conexo entre computadores utilizando redes de dados e o protocolo
TCP/IP, para tanto faz-se necessria abordagem pontual das tecnologias envolvidas no processo e suas
caractersticas.
De acordo com Mendes (2007, p.31), Uma rede existe quando feita a interligao de
computadores de forma local ou remota. Para fazer essa interligao, so necessrios os componentes
que formam a rede, tais como placas, cabos, conectores e outros aparelhos, ou seja, sempre que
houverem dois ou mais computadores interligados por qualquer via e compartilhando recursos ou
dados, est formada uma rede de dados.
2https://tools.ietf.org/html/rfc1594
3https://tools.ietf.org/html/rfc791
4https://tools.ietf.org/html/rfc2460
5http://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml
6https://tools.ietf.org/html/rfc6335
Quadro 1 - Exemplos de utilizao de portas de comunicao.
Porta/Protocolo Descrio
20/TCP FTP (File Transfer protocol)(Protocolo de transferncia de arquivo) - data port
22/TCP,UDP SSH (Secure Shell) (Shell seguro) - usada para logins seguros, transferncia de arquivos e
redirecionamento de porta
23/TCP,UDP Telnet protocol - comunicao de texto sem encriptao
25/TCP,UDP SMTP (Simple Mail Transfer Protocol) (Protocolo simples de envio de e-mail) - usada
para roteamento de e-mail entre servidores (por questes de segurana, conforme o
Comit Gestor da Internet no Brasil CGI.br, atualmente usado a porta 587)
43/TCP WHOIS protocolo de consulta de informaes de contato e DNSprotocol
80/TCP (HyperText Transfer Protocol)(Procolo de transferncia de HiperTexto) - usada para
transferir pginas WWW
110/TCP (Post Office Protocol version 3): Protocolo de Correio Eletrnico, verso 3 - usada para
recebimento de e-mail
137/TCP,UDP NetBIOS NetBIOS Name Service
443/TCP HTTP Protocol over TLS/SSL (transmisso segura)(Camada de transporte seguro)
1433/TCP Microsoft SQL database system
1863/TCP Windows Live Messenger
Fonte: IANA-Service Name and Transport Protocol Port Number Registry
Fonte: A Pesquisa
O segundo o acesso utilizando o protocolo Remote Framebuffer (RFB)7 utilizado em Virtual
Network Computing (VNC) que permite que o acessante veja e interaja, se desejar, com a interface do
usurio acessado como se estivesse em frente ao equipamento acessado.
A Figura 2 ilustra um acesso via VNC onde se observa que o acessante v o contedo da tela
do acessado como se estivesse fisicamente diante do equipamento.
Figura 2 Exemplo de acesso via VNC.
Fonte: A Pesquisa
7https://tools.ietf.org/html/rfc6143
Em ambos casos, o usurio acessado pode ou no ter cincia do evento, sendo este acesso
consentido ou no, e neste caso configurando uma potencial falha de segurana, o que define o
principal objetivo deste trabalho, ou seja, o controle de acessos as informaes armazenadas no
equipamento acessado.
3.1 NetStat
O monitoramento de conexes ativas no computador uma tarefa relativamente simples, para
qual o prprio sistema operacional normalmente dispe de ferramentas para executar. No caso dos
sistemas operacionais Windows, Linux e OSX a ferramenta mais conhecida o aplicativo
NETSTAT cujo funcionamento difere pouco entre os sistemas operacionais.
O NETSTAT executado no prompt de comando do sistema operacional. A Figura 3 ilustra a
execuo do comando no sistema operacional Windows, onde se observa o resultado da consulta
disposto em quatro colunas:
Proto, o indicativo do protocolo em que ou ser feita a conexo;
Endereo Local, o identificador IP do equipamento local, seguido de dois pontos e do
nmero da porta lgica que est aberta para conexes.
Endereo Externo, o identificador IP do equipamento conectado, seguido de dois pontos e
do nmero da porta lgica que est aberta para conexes.
Estado, a situao atual da porta no par de IPs referenciados (Local e Externo).
Fonte: A Pesquisa
Porm possvel passar argumentos para o NETSTAT para que ele retorne informaes
especficas ou em formatos diferentes. Os parmetros na p TCP, informam para aplicao que
desejamos que nos mostre apenas conexes do protocolo TCP, exibindo endereos e portas no formato
numrico e exibindo tambm todas as conexes e portas no modo de escuta, mesmo as que no
estiverem sendo utilizadas no momento.A Figura 4 demonstra a sada do comando NETSTAT
utilizando-se os parmetros na p TCP.
Figura 4 Exemplo de utilizao do NETSTAT com argumentos.
Fonte: A Pesquisa
Cabem alguns esclarecimentos, como mencionado anteriormente, cada equipamento
integrante de uma rede possui um ou mais identificadores que so seus nmeros IP, no entanto
observa-se que tanto na coluna Endereo Local quanto na coluna Endereo externo existem endereos
zerados (0.0.0.0) e/ou portas com nmero 0 (zero), isto deve ser entendido como qualquer. Para
melhor compreenso vide Figura 5.
Figura 5 Informaes sobre conexo.
Proto Endereo local Endereo externo Estado
TCP 0.0.0.0:135 0.0.0.0:0 LISTENING
L-se: Usando o protocolo TCP, qualquer endereo local atende (LISTENING) a porta 135
para qualquer endereo externo em qualquer porta. Outro exemplo de estado de conexo
apresentado na Figura 6:
Figura 6 Estado de uma conexo.
Proto Endereo local Endereo externo Estado
TCP 10.0.0.165:49996 216.58.222.14:443 ESTABLISHED
L-se: Usando o protocolo TCP, o endereo local 10.0.0.165 utilizando a porta 49996 est
conectado (ESTABLISHED) com o endereo externo 216.58.222.14 em sua porta 443.
Conforme a RFC 79313 (IETF) os estados possveis para as conexes so:
LISTEN, (ouvir), representa a espera por um pedido de conexo de qualquer TCP e porta.
SYN_SEND, (sincronizao enviada), representa a espera pela confirmao de aceite de
conexo aps um pedido de conexo ter sido enviado.
SYN_RECEIVED, (sincronizao recebida), representa espera por uma conexo aps
ambos terem confirmado pedido de conexo.
ESTABLISHED, (estabelecido), representa uma conexo aberta, em que dados podem ser
entregues ao utilizador. o estado normal para a fase de transferncia de dados da
conexo.
FIN_WAIT_1, (aguarda finalizao 1), representa a espera ou um reconhecimento de
confirmao de uma solicitao de finalizao de conexo enviada anteriormente
FIN_WAIT_2, (aguarda finalizao 2), representa a espera pela finalizao da conexo.
CLOSING, (fechando), representa a espera do encerramento solicitado.
LAST_ACK, (ltima confirmao), representa espera pela confirmao de um pedido de
finalizao enviada anteriormente ao TCP remoto.
TIME_WAIT, (tempo de espera), estado de espera para certificar-se que a conexo foi
encerrada aps a confirmao do pedido de encerramento.
CLOSED, (encerrada), indica que a conexo foi encerrada com sucesso.
Para efeito de monitoramento de conexes, so relevantes os estados ESTABLISHED e
LISTENING, que correspondem a indicao de conexo estabelecida ou porta livre respectivamente,
j que os demais estados so transies entre estes.
O NETSTAT embora comum, eficiente e gratuito (normalmente fornecido j instalado no
sistema operacional) pouco utilizado por usurios no familiarizados com as reas de Informtica e
Processamento de Dados, pois sua execuo ocorre via linha de comando (prompt) no possuindo
interface grfica. Tambm no opera automaticamente, devendo ser acionado toda vez que se queira
verificar as conexes existentes no equipamento.
3.2 TcpView
O TcpView um aplicativo para o sistema operacional Windows da Microsoft integrante
da sute Sysinternals disponibilizada gratuitamente pela Microsfot em seu site 14. Exibe informaes
semelhantes as apresentadas pelo NETSTAT de forma grfica juntamente com algumas mtricas de
trfego de dados, tais como quantidade de dados recebida ou transferida, nmero de conexes em
cada estado, entre outras. A Figura 7 ilustra a interface do aplicativo TcpView.
13https://tools.ietf.org/html/rfc793#page-30
14https://technet.microsoft.com/en-us/sysinternals/bb842062.
Figura 7 Aplicativo TcpView.
Fonte: A Pesquisa
Fonte: A Pesquisa
15https://support.apple.com/en-us/HT202790
4.1 Caractersticas do Monitor
So premissas deste projeto que o software a ser desenvolvido no interfira significativamente
no desempenho do equipamento em que estiver instalado, tenha uma interface simples, apresentando
informaes claras e objetivas direcionadas principalmente aos usurios menos familiarizados com
ambientes de tecnologia da informao. Para tanto, no se prev desenvolvimento de ferramentas de
anlise de pacotes de dados ou qualquer tipo de inferncia na conexo identificada, pois para estes
fins j existem ferramentas, tais como firewalls e antivrus, mais apropriados.
Cada computador integrante da rede ter o aplicativo instalado localmente, executando-o
minimizado ou em segundo plano, monitorando automaticamente em intervalos pr-determinados a
situao das portas de comunicao do protocolo TCP/IP. O aplicativo no influenciar na conexo de
forma alguma, limitando-se a registrar e, quando necessrio, notificar o usurio sobre o evento.
O intervalo padro de atualizao da tabela de conexes ser de 20 (vinte) segundos, podendo
ser alterado. Supe-se que este intervalo seja adequado pelos seguintes motivos:
tempo limitado para que o usurio execute alguma ao relevante entre uma leitura e outra
que impea o monitor de registrar o evento.
No onera o processamento, tal como faria um sistema que ficasse constantemente lendo a
tabela de conexes.
O monitoramento se dar atravs da obteno da relao de portas de comunicao abertas e
seus respectivos estados. Estes dados, tomados automaticamente em intervalos regulares, sero
comparados com os registros da leitura imediatamente anterior, identificando quais portas sofreram
alterao de estado.
importante ressaltar que o Sistema Monitor proposto no um antivrus, tampouco um
firewall. Tambm no intermedia, intercepta ou analisa os dados da conexo. A conexo em si,
independente qual for, no depende, no sofre influncia e no influencia o funcionamento do sistema
Monitor.
A comunicao entre Monitores, registro das informaes, envio para unidade centralizadora,
atualizao da tabela de conexes, e todas as demais atividades de monitoramento so automticas e o
usurio s toma cincia de que o Monitor est instalado em seu equipamento se este identificar uma
conexo remota que no esteja na lista de excees ou se alguma porta for aberta.
A interface apresentada aos usurios, acessado e acessante, ser idntica. O diferencial ser o
momento em que esta interface ser apresentada. No caso do acessado, aparecer no incio da
conexo, no fim e aps o recebimento da justificativa. J para o usurio acessante, s aparecer no
fim, solicitando a justificativa para o acesso.
Fonte: A Pesquisa
O aviso de abertura de porta exibido sempre que o sistema identifica uma nova porta aberta
na lista do NETSTAT que no constava na lista imediatamente anterior. Ao receber o aviso o usurio
dever avaliar se aciona ou no medidas de segurana conforme tenha sido previamente orientado
pela equipe de informtica. A Figura 10 ilustra o prottipo para o aviso.
Figura 10 - Alerta de porta aberta.
Fonte: A Pesquisa
As telas de configurao do sistema (Figura 11) normalmente no sero visveis ao usurio
padro. O cadastro de excees dever conter Ips e/ou portas que no sero monitoradas.
Normalmente sero includos Ips de impressoras, scheelites, servidores de rede ou outros
equipamentos que, embora conectados ao computador local, no devem ser avisados. Estes
equipamentos tm como caracterstica principal o fato de poderem ser desligados, ressetados e
religados durante o dia, perdendo e refazendo conexes de rede, sem com isso apresentar risco que
merea ateno do usurio. A Figura 11 ilustra o prottipo da tela de Configurao de Excees onde
se observa a possibilidade de indicar um intervalo de Ips, uma porta especfica e indicar de que lado,
(acessante ou acessado) ela deve estar para que constitua uma exceo, e uma observao para
orientar o usurio sobre o motivo pelo qual determinada configurao constitui uma exceo.
Figura 11 - Cadastro de excees.
Fonte: A Pesquisa
5 MODELAGEM
Conforme se observa na Figura 12, os casos de uso do aplicativo proposto so relativamente
poucos o que demonstra que o foco dever estar bem determinado, mantendo a proposta de
simplicidade operacional e baixa interferncia no desempenho do equipamento em que estiver
instalado. O detalhamento de requisitos dos casos de uso pode ser verificado no Apndice A.
Os atores no precisam necessariamente agir em pares, sendo que se apenas um dos lados,
acessante ou acessado, tiver o aplicativo em execuo, este realizar as aes condizentes com sua
condio, sem dependncia da outra parte.
Figura 12 - Casos de uso.
Fonte: A Pesquisa
Basicamente as aes so decorrentes de eventos ou mudanas de estado ocorridas nas portas
de comunicao ou da atividade de sockets de comunicao utilizados para troca de informaes entre
as partes.
Em uma operao padro a ordem dos eventos seria aproximadamente a seguinte:
1. Acessante inicia conexo.
2. Aplicativo na mquina do acessante identifica incio de conexo e registra na tabela de
atividades (CDSPortas) e na tabela de conexes (NETCNX).
3. Aplicativo na mquina do acessado identifica incio de conexo e registra na tabela de
atividades (CDSPortas), na tabela de conexes (NETCNX) e avisa usurio do incio do
acesso.
4. Acessante finaliza acesso.
5. Aplicativo na mquina do acessante identifica trmino de conexo e exclui da tabela de
atividades (CDSPortas), atualiza tabela de conexes (NETCNX) e apresenta tela
solicitando motivo para o acesso. A seguir, atualiza a tabela de conexes (NETCNX) com
o motivo do acesso e envio a justificativa para o acessado.
6. Aplicativo na mquina do acessado identifica trmino de conexo e exclui da tabela de
atividades (CDSPortas) , atualiza tabela de conexes (NETCNX) e avisa usurio.
7. Aplicativo na mquina do acessado recebe a justificativa do acessante, atualiza tabela de
conexes (NETCNX) com o motivo informado e apresenta para o usurio.
Com relao ao Diagrama de Atividades (Figura 13), este prev trs tipos de atividades
principais. As que so comuns para ambos lados da conexo, as que so executadas apenas no lado
acessante e as executadas somente no lado acessado.
Constituem atividades comuns a obteno da lista NETSTAT, a comparao dos estados das
conexes atuais com as registradas e o tratamento das variaes de estado. Neste tratamento, incluem-
se os avisos exibidos aos usurios e, quando da parte acessada, o pedido de identificao do acessado
ao acessante.
Figura 13 - Diagrama de Atividades.
Fonte: A Pesquisa
No sistema proposto no h relao entre as tabelas de dados, havendo apenas uma estrutura
que armazenar o histrico de conexes, uma para as excees e uma de carcter temporrio, utilizada
unicamente enquanto o software estiver em execuo. A estrutura e funcionalidade das principais
tabelas de dados pode ser verificada no Apndice B.
Como a proposta saber quem acessou quem, quando e porqu, e ambos lados podem ter
identificaes, Ips e usurios diferentes mesmo em circunstncias semelhantes, no faz sentido criar
tabelas associando equipamentos a usurios ou estes a endereos IP. Cada ocorrncia tratada como
nica.
6 CRONOGRAMA
Para prover um mecanismo de acompanhamento e validao das etapas de desenvolvimento,
testes e implementao do aplicativo alm da documentao relativa a segunda parte deste Trabalho
de Concluso, apresentado um cronograma estimado no Quadro 2.
Quadro 2. Cronograma
Atividade Agosto Setembro Outubro Novembro Dezembro
Prototipagem
Implementao do NETSTAT
Implementao dos sockets.
Testes de comunicao sockets
Tabela de Excees
Testes de regras e sockets
Validao da interface
Relatrios de consultas
Implementao em produo
Avaliao de desempenho
Elaborao do Banner
Elaborao do artigo final
Entrega do Banner
Entrega do artigo final
Defesa do Trabalho
Entrega do artigo final corrigido
O cronograma pode sofrer alteraes para se adequar s datas das entregas oficiais e a prpria
evoluo do desenvolvimento do aplicativo.
7 CONSIDERAES FINAIS
A utilizao de ferramentas de acesso remoto no consiste em si uma falha de segurana ou
m gesto, seno quando utilizadas indevidamente. Prtica bastante comum, economiza tempo e
recursos ao permitir que se preste suporte aos usurios e equipamentos sem estar fisicamente presente
onde estes se encontram.
Todavia, preciso admitir a m utilizao do recurso e antecipar aes, criar mtodos de
controle e verificao e documentar as atividades para que, se necessrio, possam ser tomadas as
medidas corretivas adequadas.
A pesquisa por softwares existentes, semelhantes ao aplicativo proposto neste trabalho,
demonstrou que a preocupao com o monitoramento de conexes algo relevante e que existem
vrias abordagens para o tema, onde o aplicativo Monitor mais uma, porm com sua prpria
abordagem e definies, focado principalmente na documentao das conexes que por suas
caractersticas sejam previamente consideradas importantes para o usurio, evitando sobrecarregar o
utilizador com informaes irrelevantes.
O aplicativo Monitor proposto neste trabalho no se pressupe a soluo definitiva de
segurana de dados, de outra forma, intenciona contribuir para uma maior controle dos acessos
efetuados no equipamento em que estiver instalado.
A proposta ora apresentada carece de constante evoluo para que se adapte as novas ou
outras tecnologias (como por exemplo o IPv6, outros sistemas operacionais, etc) conforme forem
surgindo ou se mostrando relevantes no controle de conexes.
8 REFERNCIAS
APPLE, Disponvel em http://www.apple.com/br/osx/ Acessado em 15 de abr. de 2016.
FORD, Jerry Lee. Manual Completo de Firewalls Pessoais-Tudo o Qu Voc Precisa Saber para
Proteger o Seu Computador - So Paulo: Pearson Education do Brasil, 2002
INTERNET ASSIGNED NUMBERS AUTHORITY (IANA). Disponvel em: http://www.iana.org/.
Acesso em 09 de abr. de 2016.
KUROSE, James F., KEITH W. Ross. Redes de Computadores e a Internet: uma abordagem top-
down - 6 ed. - So Paulo: Pearson Education do Brasil, 2013.
LATIN AMERICA AND CARIBBEAN NETWORK INFORMATION CENTRE (LACNIC).
Disponvel em: http://www.lacnic.net/. Acesso em 09 de abr. de 2016.
LAUDON, Kenneth. Sistemas de Informaes Gerenciais, 9 Ed.- So Paulo: Pearson Prentice Hall,
2010.
LINUX, Disponvel em https://www.linux.com/ Acessado em 15 de abr. de 2016.
MENDES, Douglas Rocha. Redes de Computadores - 1 Edio - So Paulo: Novatec Editora,
2007.
MICROSOFT, Disponvel em https://www.microsoft.com/pt-BR Acessado em 15 de abr. 2016.
TANENBAUM, Andrew S. Sistemas Operacionais Modernos. - So Paulo: Pearson Prentice Hall,
2009.
THE INTERNET ENGINEERING TASK FORCE (IETF). Disponvel em: https://www.ietf.org/.
Acesso em 08 de abr. de 2016.
APNDICE A
DETALHAMENTO DO DIAGRAMA DE CASOS DE USO
UC 1 Ser avisado sobre abertura de porta
Objetivo Ser avisado sobre abertura de porta.
Atores Acessante. Acessado.
Pr-condies Aplicativo em execuo. Porta local aberta e no cadastrada na tabela de atividade
(CDSPORTAS). Estado da porta diferente de ESTABLISHED. Porta no est na
lista de excees.
Ps-Condies Nenhuma.
Ativao Ativado pelo timer principal do aplicativo disparado automaticamente a cada 20
segundos.
Fluxo de Eventos 1.inclui na tabela de atividades (CDSPORTAS)
2.avisa usurio porta aberta
Requisitos Nenhum.
Diagramas Associados Nenhum.
GUI Figura 10. Alerta de porta aberta.
UC 2 Iniciar conexo.
Objetivo Iniciar conexo.
Atores Acessante.
Pr-condies Aplicativo em execuo. Porta local em estado ESTABLISHED. Conexo tipo
ativa. Conexo ainda no registrada na tabela de conexes. IP e/ou porta no est
na lista de excees.
Ps-Condies Nenhuma.
Ativao Ativado pelo timer principal do aplicativo disparado automaticamente a cada 20
segundos.
Fluxo de Eventos 1.inclui na tabela de conexes (NETCNX)
2.inclui na tabela de atividades (CDSPORTAS)
Requisitos Nenhum.
Diagramas Associados Nenhum.
GUI Nenhum.
UC 3 - Ser avisado de nova conexo e pedir identificao do acessante.
Objetivo Ser avisado de nova conexo e pedir identificao do acessante.
Atores Acessado.
Pr-condies Aplicativo em execuo. Porta local em estado ESTABLISHED. Conexo tipo
passiva. Conexo ainda no registrada na tabela de conexes. IP e/ou porta no
est na lista de excees.
Ps-Condies Nenhuma.
Ativao Ativado pelo timer principal do aplicativo disparado automaticamente a cada 20
segundos.
Fluxo de Eventos 1.Inclui na tabela de conexes (NETCNX)
2.Atualiza tabela de atividade (CDSPORTAS)
3.Envia pedido de identificao
4.Envia identificao
5.Recebe identificao
6.Atualiza tabela de conexes (NETCNX)
7.Avisa usurio.
Requisitos Nenhum.
Diagramas Associados Nenhum.
GUI Figura 9. Tela de alerta de conexo e pedido de justificativa.
UC 6 - Enviar justificativa.
Objetivo Enviar justificativa.
Atores Acessante
Pr-condies Aplicativo em execuo. Conexo registrada na tabela de conexes. Porta local em
estado diferente de ESTABLISHED para a qual j havia conexo estabelecida
anteriormente OU registro da conexo no est presente na lista de conexes
ativas do sistema operacional. Conexo tipo passiva. IP e/ou porta no est na lista
de excees.
Ps-Condies No
Ativao Ativado pelo timer principal do aplicativo disparado automaticamente a cada 20
segundos.
Fluxo de Eventos 1.Exclui registro de conexo da tabela de atividade.(CDSPORTAS)
2.Atualiza tabela de conexes (NETCNX) com data e hora do fim da conexo.
3.Pede justificativa para o acesso.
4.Atualiza tabela de conexes (NETCNX) com justificativa do acesso.
5.Envia justificativa do acesso para acessado via socket
Requisitos Nenhum.
Diagramas Associados Nenhum.
GUI Figura 9. Tela de alerta de conexo e pedido de justificativa.
UC 7 - Mostrar justificativa.
Objetivo Mostrar justificativa.
Atores Acessado
Pr-condies Aplicativo em execuo. Conexo registrada na tabela de conexes. Conexo tipo
passiva. Conexo encerrada.
Ps-Condies Nenhuma.
Ativao Recebimento de justificativa do acessante via socket.
Fluxo de Eventos 1.Recebe justificativa do acessante via socket com identificador da conexo
justificada.
2.Localiza conexo justificada na tabela de conexes.
3.Atualiza registro de conexo com justificativa recebida.
4.Avisa usurio.
Requisitos Nenhum.
Diagramas Associados Nenhum.
GUI Figura 9. Tela de alerta de conexo e pedido de justificativa.
UC 8 - Emitir relatrios
Objetivo Emitir relatrios
Atores Acessante, Acessado.
Pr-condies Aplicativo em execuo.
Ps-Condies Nenhuma.
Ativao Boto
Fluxo de Eventos 1.Seleciona perodo a relatar (de, at)
2.Filtra perodo na tabela de conexes (NETCNX)
3.Imprime.
Requisitos Nenhum.
Diagramas Associados Nenhum.
GUI Nenhum.
UC 9 - Configurar excees
Objetivo Configurar excees
Atores Acessante, Acessado.
Pr-condies Aplicativo em execuo
Ps-Condies Nenhuma.
Ativao Boto
Fluxo de Eventos 1.Seleo de opes de interao: Incluir, Alterar, Excluir.
2.Grava na tabela de excees (XPTMON)
Requisitos Nenhum.
Diagramas Associados Nenhum
GUI Figura 11. Cadastro de excees.
APNDICE B
ESTRUTURAS DAS TABELAS DE DADOS E SUA UTILIZAO
A tabela NETCNX cuja estrutura se observa na Figura 15, armazena o registro de conexes
encerradas e ativas. As conexes ativas tm como caracterstica o campo FIMCO em branco.
Prevendo a possibilidade de encerramento do software antes que todas as conexes sejam encerradas,
o sistema verifica este campo durante a inicializao, populando com data e hora atuais sempre que o
encontrar em branco, considerando assim todas conexes pendentes como encerradas. O histrico
(campo MOTIV) destas conexes ajustado para que o usurio saiba que o registro foi encerrado
automaticamente pelo sistema. Caso a conexo ainda esteja ativa, ser iniciado novo registro e tratado
de acordo com suas caractersticas.
Figura 15. Estrutura da tabela de conexes encerradas ou ativas.
A tabela de excees cuja estrutura se observa na Figura 17, contm os Ips ou faixas de Ips e
portas que mesmo que tenham atividade de conexo ou desconexo, no devem ser notificadas ao
usurio nem registradas nas tabelas. Ela populada a partir do Cadastro de Excees e armazena os
Ips em dois formatos distintos. Primeiramente no formato tradicional, em 4 grupos de at 3 dgitos e
tambm em um campo do tipo double. Este campo objetiva acelerar o processamento das faixas de Ips
ao permitir verificar se determinado IP pertence ou no a uma determinada faixa de forma rpida.
Figura 17. Estrutura da tabela de excees, Ips e/ou portas no monitorveis.
APNDICE C
PSEUDO CDIGO
O pseudo-cdigo a seguir descreve a funcionalidade principal do aplicativo proposto de forma
que possa ser implementada em outras linguagens de programao. Para melhor entendimento sero
utilizadas as seguintes siglas:
CdsPortas=tabela temporria de atividade das portas. Nesta tabela ficam todas as
portas abertas, em uso ou no.
NetCnx=tabela de conexes (encerradas e ativas). Nesta tabela s ficam conexes
ativas ou encerradas.
XptMon=tabela de excees (Ips e/ou portas no monitorveis)
QUEM=string de comunicao, contm o IP, porta, nome do usurio e do computador
acessado e ID da conexo no lado acessado
INFC=string de comunicao, contm o IP, porta, nome do usurio e do computador
acessante e ID da conexo no lado acessante
JUST=string de comunicao, contm Ids da conexo em ambos lados e justificativa
do acessante.
Figura 18. Pseudo cdigo
Incio
Liga timer
Evento onTimer
Desliga Timer
para todo cdsPortas
// seta todos registros da temporria como no checados
cdsPortas.Checada:=false
fimpara
lstNetStat:=obtemNetstat()
para todo lsNetStat
Se lstNetStat.IP em XptMon OU se lstNetStat.Porta em XptMon
// verifica se IP ou porta na lista de excees
ignora
ouSe lstNetStat.Conexo em cdsPortas
// uma conexo conhecida
Se estado da conexo for ESTABLISHED
// ainda est conectado
cdsPortas.Checada:=True
seno // houve desconexo
NetCnx.FimConex:=time() // marca fim da conexo
cdsPOrtas.DELETE() // remove da lista temporria
exibe tela de alerta do fim da conexo
Se for acessante
questiona motivo da conexo
grava motivo na base local
envia motivo para acessado (ver aes dos sockets mais abaixo)
fimse
fimse
ouse lstNetStat.Conexo NO em cdsPortas
// porta desconhecida, aberta recentemente
se estado ESTABLISHED // j est em uso
Inclui em cdsPortas
Inclui em NetCnx
Sou lado acessado ?
Envia QUEM (ver aes dos sockets mais abaixo)
Se recebe INFC
Atualiza NetCnx com dados do INFC
fimse
Tela de alerta para usurio acessado
fimse
senao // inclui somente na tabela de atividades, no h conexo
Inclui em cdsPortas
cdsPortas.Checada:=True
Se no lPrimeiraLeitura
avisa porta aberta
fimse
fimse
fimse
fimpara
cdsPortas.primeiro
enquanto no cdsPOrtas.FIM()
se no cdsPortas.checada
// porta est na lista de atividade mas no consta no Netstat
cdsPOrtas.DELETE() // remove da lista temporria
exibe tela de alerta do fim da conexo
Se for acessante
questiona motivo da conexo
grava motivo na base local
envia motivo para acessado (ver aes dos sockets mais abaixo)
fimse
fimse
cdsPortas.proximo
fimenquanto
fim envento ontimer