Proporcionar aos alunos um entendimento teórico e prático dos servidores de bases de dados, considerando a instalação, a configuração, a
monitorização e a aplicação de uma política de segurança, que possibilitam a interacção remota entre aplicações.
Princípios básicos da arquitectura Cliente/Servidor
Vantagens e desvantagens da arquitectura Cliente/Servidor
Instalação e configuração do servidor (ex: SQL server, MySQL, etc) Definição de políticas de segurança
Administração de servidor de dados Ficheiros de monitorização (log files) Estratégias de cópias de segurança
Ligações a um servidor de dados remoto
Transacções (start transaction, commit, rollback) Stored procedures
Funcionamento:
O utilizador do sistema, através do processo de software cliente, envia o pedido de requisição ao processo de software servidor, que por sua vez
devolve ao cliente os resultados solicitados. Todos os processos de software funcionam sob o controlo do Sistema Operativo que coordena todos os
recursos do sistema Informático utilizado.
Processo Cliente Serviços do Sistema Hardware Processo Servidor Serviços do sistema Hardware Pedido Resposta CLIENTE SERVIDOR UTILIZADOR
Cliente: entidade que solicita recursos à rede (ex: estação de trabalho,
impressora, …)
Servidor: fornece recursos ao cliente. Máquina bastante potente que corre
software que controla e mantém toda a rede – “sistema operativo de rede” – ex: Microsoft Windows Server.
Os servidores, frequentemente, são especializados para executar determinada tarefa.
Alguns exemplos de Servidores dedicados:
File server – armazena e distribui ficheiros
Print server – controla e gere uma ou mais impressoras para a rede Proxy server – servidor intermediário entre a LAN e a Internet
assegurando que toda a transmissão de dados entre o utilizador e a Internet esteja autorizada
Application server – aloja aplicações de rede
Web server – guarda e fornece páginas ou outros conteúdos de Internet usando o protocolo HTTP - Hypertext Transfer Protocol
Dois aspectos comuns a todos os servidores:
Capacidade de suportar elevado nº de clientes ligados – máquina mais potente, mais complexa e mais cara do que um PC
Opção de salvaguarda de dados em caso de avaria ou acidente – Software e Hardware backups
WWW consiste num sistema de hipertexto e hipermédia à escala planetária.
A informação apresentada neste sistema reside em documentos
escritos na linguagem específica: HTML – Hipertext Markup Language Transferência de informação: Servidores (web servers) – Clientes (web
browsers) e o protocolo que assegura a transferência HTTP – Hypertext
Transfer Protocol (funcionando sobre os protocolos de base da Internet – TCP/IP)
Página web estática – documento em HTML que se limita a apresentar determinados conteúdos fixos e s– documento em HTML que, para
além de conteúdos fixos, empre iguais.
Página web dinâmica exibe também elementos que se modificam (animação, vídeo, etc.) e, eventualmente, formas de interacção com o utilizador.
Interacção (do lado do cliente=ex: rato passa por cima de botão e acontece algo; do lado do servidor: eX: acesso a Base de Dados)
Programação destinada a ser processada do lado do cliente, opções:
JavaScript
Applets de Java
VBScript
Componentes Activex
Programação destinada a ser processada do lado do servidor, opções:
CGI (Common Gateway Interface) com scripts em C, Perl, etc.
Servlets de Java
JSP – Java Server Pages
ASP – Active Server Pages – scripts em VBScript e outras linguagens
Bases de Dados
Sistema de Gestão de Base de Dados:
MySQL, Oracle, etc. Cliente www, Web browser, IE, … Interpretador De PHP Servidor www Web Server Apache, IIS, … Página Web Interactiva
Resposta Pedido Activação de um Programa, acesso A uma Base de Dados, etc. Resposta ao pedido Apache: http://httpd.apache.org MySQL: http://www.mysql.com PHP: http://php.net
As duas arquitecturas mais comuns: Cliente/Servidor e Peer-to-Peer. (A forma de partilharem os recursos depende da arquitectura do sistema operativo de rede)
Arquitectura Cliente/Servidor
Clientes e servidor são PCs com a mesma arquitectura básica, mas configurações de hardware e software muito distintas.
Serviços de rede e de bases de dados estão localizados num computador dedicado: o servidor.
Cliente solicita serviços e recursos ao servidor.
Cliente Cliente Cliente Cliente
Arquitectura Ponto a Ponto ou peer-to-peer
Os computadores actuam como iguais (clientes e servidores)
Utilizador controla os seus próprios recursos (pode partilhar ou exigir a utilização de password)
Não existe ponto central de controlo e administração da rede
Sistema operativo dos PCs permite configurações de rede em cada computador
Utilizador controla os seus recursos – não há administradores dedicados redes com 10 ou menos computadores ligados
PC PC
PC
Vantagens:
Concentração de recursos como ficheiros, impressoras e aplicações em servidores faz com que os dados gerados possam ser mais facilmente salvaguardados e administrados – acesso mais facilitado.
Servidor é uma máquina potente que serve centenas de clientes.
Desvantagens:
Servidor mais potente e complexo – mais caro Sistema Operativo mais potente – mais caro Distribuição de funções – custos elevados
Ponto de falha única – sem o servidor operacional a rede não funciona necessário um administrador experiente
Segurança
aspecto muito discutido no âmbito da administração de sistemas, proteger informações valiosas (sigilo e confidencialidade),
manter um rígido controlo sobre as permissões de acesso às informações.
Utilizador: root (administrador)
Utilizado apenas para tarefas administrativas
Comandos GRANT, REVOKE para criação de outros utilizadores com determinados privilégios
Objectivo de implementação de uma política de segurança:
centralizar as medidas, os procedimentos e tecnologias em torno de um modelo que atenda todas as áreas de um sistema de segurança desde a camada física até à lógica assegurando as condições necessárias para o bom funcionamento do sistema.
Segurança eficaz
Apoio da direcção da organização Treino e capacidade dos funcionários Política de consciencialização
Início da definição da política de segurança
Definir níveis de acesso de cada utilizador, grupos, restrições, direitos e responsabilidades
Recolher informações: filosofia da empresa, classificação das informações, determinação da segurança de acordo com a confidencialidade dos dados
Etapas de um projecto de políticas de segurança:
1. Controlo de acesso À informação 2. Senhas
3. Segurança dos dados
4. Confidencialidade das informações 5. Auditabilidade
6. Comunicações 7. Disponibilidade
8. Segurança Física – Controlo de Acesso 9. Consciencialização
1. Controlo de acesso à informação
Definir quais as informações que podem ser acedidas e por quais funcionários
Fornecer os métodos de autenticação para disponibilizar as informações definidas para cada utilizador
2. Senhas
Definir um padrão de senha a ser utilizado e a consciencialização dos utilizadores da sua responsabilidade no uso e manutenção das suas senhas (Administradores do sistema, principalmente, porque actuam com configuração e manutenção dos serviços de rede)
3. Segurança dos dados
Bom procedimento de segurança – backup regular dos dados armazenados
Restrição do uso de backups somente por pessoas autorizadas previamente
4. Confidencialidade das informações
Protecção de dados feita com métodos de encriptação no
manuseamento e principalmente na transmissão da informação 5. Auditabilidade
Meios de registo e leitura dos acessos e eventos do sistema, de modo a garantir um estudo aprofundado de todos os eventos ocorridos para verificar falhas e tentativas não-autorizadas de acesso.
6. Comunicações
Definir que recursos utilizar na Intranet e na Internet:
Transferências de arquivos
Sistema de correio electrónico
Chat
Videoconferência
Navegação 7. Disponibilidade
Elaborar estratégia de recuperação rápida e íntegra das informações provenientes de backup – ex: reposição de peças de hardware
Haver procedimento a ser feito o mais cedo possível para minimizar maiores prejuízos
8. Segurança física – controlo de acesso
Controlar acesso de pessoas aos equipamentos críticos (servidores, infra-estrutura de suporte (UPS’s, e sistemas de refrigeração)
Utilizar dispositivos electrónicos automáticos 9. Consciencialização
Um dos pontos cruciais e abrange todos os funcionários
Formar os utilizador na utilização correcta dos dispositivos de segurança disponíveis e actuantes na sua área
Consciencializar sobre responsabilidades diante dos dispositivos e suas implicações legais – leis aplicáveis, regulamentos, licenças, princípios éticos da organização
Ter consciência da importância da preservação da informação como um património da organização
10. Administração da segurança Gerir todas as etapas da política Na administração efectuam-se:
as análises de vulnerabilidades
relatórios de incidentes
verificação e comprometimento do desempenho do sistema
apoio da direcção à política de segurança
Com base nessas análises, são tomadas medidas de correcção de falhas no sistema
Principais ferramentas gráficas para a manipulação do sistema de gestão de base de dados MySQL:
DBDesigner:
É uma ferramenta de modelação de dados que apresenta todos os recursos compatíveis com o MySQL.
Engenharia reversa e sincronização do modelo com a base de dados. O DBDesigner está disponível para o Microsoft Windows e Linux no site oficial:
MySQL Administrator:
É uma ferramenta visual de administração, que permite controlar de forma simplificada o seu ambiente MySQL, e obter informações
importantes acerca de como a sua base de dados está a operar
permitindo integrar a administração e manutenção da base de dados numa única ferramenta com interface extremamente intuitiva e
amigável.
O MySQL Administrator está disponível no site:
MySQL Query Browser:
Fornece aos utilizadores da base de dados mecanismos simplificados e visuais para uma fácil construção de consultas SQL. Esta ferramenta possui recursos avançados de edição de comandos SQL.
O MySQL Administrator está disponível no site:
MySQL Migration ToolKit:
É uma ferramenta que permite a migração de outras bases de dados para MySQL
O MySQL Migration ToolKit está disponível no site:
MySQL Workbench:
É uma ferramenta gráfica para modelar dados, que pretende ser uma evolução do já famoso DBDesigner4.
InnoDB Hot Backup:
Realiza backup on line em tabelas InnoDB no MySQL, permitindo efectuar um backup numa base InnoDB activa, sem qualquer lock ou distúrbio no processamento da base de dados. Pode-se fazer uma cópia consistente dos dados, como se a cópia fosse feita num momento preciso no tempo.
CONECTORES:
O conector é uma forma de aceder à base de dados por uma linguagem de programação
De forma a gerir eficazmente um servidor web, é
necessário obter feedback sobre a actividade e performance do servidor e também os problemas que possam ocorrer.
http://httpd.apache.org/docs/1.3/logs.html
Log analysis tool: