Any achievable decrease, either in time or prices, searching for a personalized software development policy that increases company productivity can be critical to maintaining productivity and improving customer support. The system will offer the functions of the software WEBTOOLS and will add new methods of functionality, such as the web interface and multi-user access. The system allows creation, edition, exclusion and lists of domains registered on the web server, as well as user access control.
The system is intended for users with little knowledge of the processes involved in configuring a domain in a web server and for small and medium-sized companies that need agility and control in their tasks.
INTRODUÇÃO
OBJETIVOS
- Objetivo Geral
- Objetivos Específicos
O objetivo geral deste trabalho de conclusão de curso é o desenvolvimento de um sistema de gerenciamento de domínio (configuração DNS) em um servidor Linux utilizando uma interface web. Esta gestão pode ser realizada a partir de qualquer ponto com acesso à Internet através de um navegador, que possui uma interface amigável. O sistema de gerenciamento de domínio terá regras de segurança baseadas em Role Based Access Control (RBAC) para que as operações possam ser realizadas por diferentes usuários e permissões e não prejudiquem outros serviços utilizados pelo servidor.
METODOLOGIA
- Etapas
ESTRUTURA DO TRABALHO
FUNDAMENTAÇÃO TEÓRICA
SEGURANÇA DE COMPUTADORES
- Ameaças, vulnerabilidades e ataques
- Políticas e mecanismos de segurança
Os mecanismos de segurança são elementos responsáveis pela implementação de uma política de segurança específica. Por exemplo, uma política de segurança pode exigir que todos os utilizadores de um sistema sejam identificados de forma única para efeitos contabilísticos; Os mecanismos para fazer cumprir esta política incluem o uso de senhas, cartões magnéticos e dispositivos de reconhecimento de impressões digitais. Um dos mecanismos de segurança mais antigos e cada vez mais utilizados atualmente é a criptografia.
Este profissional é definido pela RFC 2828 (SHIREY, 2000) como sendo a pessoa responsável por aplicar ou gerenciar a política de segurança aplicada ao sistema.
CONTROLE DE ACESSO BASEADO EM PAPÉIS
- Modelo RBAC core
- Modelo RBAC hierárquico
- Modelo RBAC com restrições
Este esquema permite que um usuário seja membro de múltiplas funções, e uma função pode ter vários usuários. Este componente inclui a atribuição de papéis a um usuário e a atribuição de permissões a um papel, que são características fundamentais do modelo RBAC, como pode ser visto na figura 5. O conflito de interesses em um sistema baseado em papéis pode gerar consequências para um usuário que recebe autorização para permissões associadas a funções não atribuídas a ele.
A separação dinâmica de funções (SDT), relativa ao SET, limita as permissões disponíveis para um usuário.
SOFTWARE LIVRE
- Propriedade intelectual
- Licenças de software
Nesta abordagem, os usuários podem ser associados a papéis que representem conflito de interesses apenas quando ativados simultaneamente, ou seja, é perfeitamente possível e seguro que um usuário ative mais de um papel no conjunto, desde que essa ativação não seja simultâneo (FERRAIOLO, 2001). Um usuário pode, por exemplo. são atribuídas as funções de Escriturador e Gerente de Contas, onde o Gerente de Contas lança lançamentos contábeis e o Gerente de Contas pode fazer correções em lotes de lançamentos que ainda não foram consolidados. Se um usuário se passando por contador tentasse ativar a função de gerente de contas, ele primeiro teria que desabilitar a função de gerente de contas, o que força a consolidação das postagens antes que a pessoa assumisse a função de gerente de contas.
Qualquer produto de software é derivado de atividade intelectual e, como tal, é protegido por um conjunto de leis que tratam de propriedade intelectual ou direitos autorais. É comum usar licenças de software para determinar mais especificamente como o software pode ser usado. A licença é um documento (não necessariamente registrado ou validado em qualquer agência ou organização) que é transferido com o software e que determina as condições sob as quais ele pode ser utilizado.
Debian A Licença Debian é parte de um contrato social entre o Debian e a comunidade de software livre, chamado de Diretrizes de Software Livre Debian (DFSG). BSD A licença BSD cobre distribuições de software da Berkeley Software Distribution, bem como outros programas. Esta é uma licença considerada “permissiva” porque impõe poucas restrições sobre como o software licenciado pode ser usado, modificado e redistribuído.
O Software pode ser vendido e não há obrigação de incluir código-fonte que possa estar incluído no Software Proprietário. A maior parte do software comercial é proprietário, mas existe software livre que é comercial e existe software não-livre e não-comercial.
SISTEMA OPERACIONAL LINUX
- Composição e serviços
- DNS
- FTP
- HTTP
- Apache
O kernel de um sistema operacional, apesar de ser o programa principal de um computador, não caracteriza um sistema operacional completo (FSF, 2005). À medida que o número de hosts na Internet crescia, também crescia o tráfego gerado pelo processo de atualização, bem como o tamanho do arquivo de hosts, o que levou à necessidade de um novo sistema que fornecesse recursos como escalabilidade em combinação com fornecimento descentralizado. administração. Um conjunto de servidores de nomes mantém o banco de dados de nomes e endereços de máquinas conectadas à Internet.
Para encontrar seu endereço na Internet, você pode precisar de acesso a até quatro servidores de nomes. O serviço FTP (File Transfer Protocol) é o serviço padrão da Internet para transferência de arquivos entre computadores. O usuário pode consultar a estrutura de arquivos do dispositivo remoto antes de transferir esses arquivos (POSTEL e REYNOLDS, 1985).
O uso mais comum do serviço FTP na Internet é para obter programas ou informações de servidores de domínio público ou comercial, serviço conhecido como FTP Anônimo. O protocolo data de 1971, antes da popularização da Internet, mas ainda é muito utilizado e considerado o padrão da Internet para transferência de arquivos. Um documento HTML ou outra informação reside na WWW através de um identificador conhecido como URL (Universal Resource Location).
Para obter um documento HTML ou outro tipo de informação, o cliente WWW comunica com o servidor WWW do equipamento onde reside a informação através do protocolo HTTP. O Apache é o servidor web mais utilizado no mundo em ambiente Linux, originado de um projeto desenvolvido em 1995 pelo NCSA (National Center for Supercomputing Applications) da Universidade de Illinois.
FERRAMENTAS DE ADMINISTRAÇÃO DE SERVIDORES
- Webmin
- Cpanel
- Webtools
- Comparação entre as ferramentas
- Trabalhos científicos relacionados
Webmin é um software de administração de servidores, com todas as suas funções voltadas para administração remota, utilizando um navegador como interface. Esse controle é possível por meio de senhas e definição de áreas de acesso dos usuários, que permitem ver estatísticas do site, criar subdomínios (http://subdominio.seusite.com.br), criar domínios adicionais, gerenciar arquivos, gerar backup e instalar pronto -criados (CPANEL, 2005). Lá você pode acessar os dados FTP do usuário, como senhas, pastas e espaço utilizado.
Por ser um software para usuários em geral e administradores, sua interface é bem desenhada e de fácil acesso. O Webtools não possui pacote de instalação, mas é fácil de instalar, pois só precisa executar quatro comandos. Com base nas análises realizadas às ferramentas existentes, podem ser tiradas algumas conclusões sobre os seus pontos fortes e fracos.
A sua utilização requer algum conhecimento e tem uma cobertura quase completa dos serviços em execução no servidor. O Webtools é uma ferramenta de uso não comercial, simples e fácil de customizar, mas não possui sistema com interface de gerenciamento. Depois de estudar todos os fundamentos relacionados à segurança informática, mecanismos de controle de acesso, sistemas Linux e serviços relacionados, pode-se compreender o complexo funcionamento das ferramentas de administração de servidores existentes no mercado.
Por serem escassas e difíceis de desenvolver, as ferramentas existentes tentam satisfazer todas as necessidades dos utilizadores em todo o mundo, o que por vezes as torna complexas e coloca problemas de segurança. Porém, nem sempre estas ferramentas personalizadas serão desenvolvidas de acordo com os princípios de controle e segurança desejados pelo usuário.
PROJETO
A EMPRESA GRUPOW
Para acessar o servidor, o administrador precisa de um nome de usuário e senha válidos do superusuário do servidor. Uma vez logado no servidor, o administrador deve saber onde estão localizados os arquivos de configuração do domínio e estar ciente do que precisa ser alterado. Se uma pessoa desconhecida alterar um arquivo por engano, isso pode até fazer com que todos os serviços do servidor sejam bloqueados.
SISTEMA DE GERENCIAMENTO DE DOMÍNIOS VIA WEB
O administrador se comunica com o sistema até o terceiro nível (nível de configuração dos arquivos de configuração de serviço). Uma vez no servidor, o administrador deve executar os scripts, que executam as tarefas desejadas de gerenciamento de domínio. Depois de executados, os scripts retornam mensagens de erro ou confirmação de que a tarefa desejada foi concluída.
Após estudo do funcionamento atual do Webtools e da rotina de trabalho do Grupow, foram definidos os requisitos necessários para a criação da ferramenta web SGD.Definindo um ambiente multiusuário com controle de acesso baseado na função que o usuário possui no Grupow. (administrador, programador, estagiário); O administrador do servidor gerencia os usuários do sistema (fornece login e senha), atribui funções e permissões (usando o modelo de controle de acesso RBAC).
Todas as informações de gerenciamento, permissões e controle de acesso são gerenciadas através de um banco de dados.
TECNOLOGIAS UTILIZADAS
COLDFUSION
As vantagens são muitas e conhecidas por todos que têm ou tiveram necessidade de utilizar aplicações neste formato: é possível escrever uma aplicação que funcione sem diferença em computadores completamente diferentes, desde processador até uso de memória e métodos de armazenamento. Diversas aplicações em servidores nacionais rodam código CFML, e um dos exemplos mais conhecidos é o site dos Correios.
MYSQL
O processo de manipulação de dados MySQL através de um programa cliente ocorre em quatro etapas: (1) o programa cliente se conecta ao banco de dados; (2) o programa cliente envia uma consulta para consultar ou atualizar o banco de dados; (3) o servidor de banco de dados analisa a consulta, verifica regras e dependências. Caso ocorra um erro, o banco de dados retorna um código de erro ao programa cliente, caso contrário retorna o resultado da consulta; (4) o programa cliente fecha a conexão com o banco de dados.
SHELL
DESENVOLVIMENTO
- MODELAGEM
- Diagrama de Use-Case
- Dicionário de dados
- TELAS DO SISTEMA
- INTEGRAÇÃO WEBTOOLS E SGD WEB
- SEGURANÇA
- Autenticação
- Validação
- Sudo (Linux)
- Compilação
- Components
- Sessão
- SSL (Secure Socket Layer)
- RBAC
- TESTES E RESULTADOS
Ao criar um novo usuário é necessária a identificação do usuário no sistema (Login - único no sistema), senha e confirmação. Para manter o controle sobre todas as operações realizadas no sistema, as ações realizadas pelos usuários são registradas em um banco de dados. A função “hex_sha1” foi utilizada para gerar um hash da senha e a função interna “encrypt”, nativa do Macromedia ColdFusion, foi utilizada para gerar a criptografia da senha do usuário, que será cadastrada no banco de dados.
Como toda chamada para uma página, este arquivo é executado antes de executar o código da página, é seguro verificar os direitos de acesso do usuário e também renovar sua sessão no Application.cfm, que é a abordagem utilizada neste projeto. UDFs lidam com tudo, desde validação/formatação de data e hora até verificação de direitos de acesso e revalidação da sessão do usuário. As tabelas do banco de dados criadas seguiram o modelo RBAC Core, onde um usuário é associado a uma função que possui permissões no sistema.
Assim, em tempo de execução, o sistema valida as permissões do usuário utilizando as funções (Temdireito e Tempermissão) ANEXO I. Na implementação SGD Web, essas operações são implementadas através de programação web e através da estrutura do banco de dados (usuário, user_role, operação, role, role_permission_set ).
CONCLUSÕES
The public information regarding Internet domain name registration services Disponível em:
Exemplo da estrutura RBAC no código implementado