Buscar

Livros Digitais - Unidade 02 - ebook8

Prévia do material em texto

Grupo SER Educacional | Tecnologias e Linguagens de Banco de Dados 1 
 
 
 
 
TECNOLOGIAS E LINGUAGENS DE 
BANCO DE DADOS 
Tecnologias e Linguagens de 
 Banco de Dados
 
JOÃO DANILO NOGUEIRA 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
SEGURANÇA DA 
INFORMAÇÃO NO 
MYSQL 
 
 
 
 
 
AULA 08 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Diretor Executivo 
DAVID LIRA STEPHEN BARROS 
 
Direção Editorial 
ANDRÉA CÉSAR PEDROSA 
 
Projeto Gráfico 
MANUELA CÉSAR DE ARRUDA 
 
Autor 
JOÃO DANILO NOGUEIRA 
 
 
Desenvolvedor 
CAIO BENTO GOMES DOS SANTOS 
 
 
 
 
 
 
 
O Autor 
 
 
João Danilo Nogueira 
 
Olá. Meu nome é João Danilo. Sou graduado em Ciência da Computação 
pela Faculdade Grande Fortaleza (FGF) e amo programar. Atualmente, o 
foco de minha expertise é na área de gerenciamento de projetos, teoria 
dos números, RSA e criptografia. Vai ser um prazer enorme ajudar VOCÊ a 
se tornar um excelente desenvolvedor de software ou administrador de 
banco de dados. Conte comigo para lhe ajudar nessa trajetória rumo ao 
seu desenvolvimento profissional! Muito sucesso para você. 
 
 
 
JOÃO DANILO NOGUEIRA 
 
“ 
 
 
Iconográficos 
Olá. Meu nome é Manuela César de Arruda. Sou o responsável pelo 
projeto gráfico de seu material. Esses ícones irão aparecer em sua trilha 
de aprendizagem toda vez que: 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
INTRODUÇÃO 
para o início do 
desenvolvimento de 
uma nova 
competência; 
DEFINIÇÃO 
houver necessidade de 
se apresentar um novo 
conceito; 
NOTA 
quando forem 
necessários 
observações ou 
complementações 
para o seu 
conhecimento; 
IMPORTANTE 
as observações 
escritas tiveram 
que ser priorizadas 
para você; 
EXPLICANDO 
MELHOR 
algo precisa ser 
melhor explicado ou 
detalhado; 
VOCÊ SABIA? 
curiosidades e 
indagações lúdicas 
sobre o tema em 
estudo, se forem 
necessárias; 
SAIBA MAIS 
textos, referências 
bibliográficas e links 
para aprofundamento 
do seu conhecimento; 
REFLITA 
se houver a necessidade 
de chamar a atenção 
sobre algo a ser refletido 
ou discutido sobre; 
ACESSE 
se for preciso acessar 
um ou mais sites 
para fazer download, 
assistir vídeos, ler 
textos, ouvir podcast; 
 
RESUMINDO 
quando for preciso se 
fazer um resumo 
acumulativo das 
últimas abordagens; 
ATIVIDADES 
quando alguma 
atividade de 
autoaprendizagem for 
aplicada; 
TESTANDO 
quando o 
desenvolvimento de 
uma competência for 
concluído e questões 
forem explicadas; 
 
 
Sumário 
1 SEGURANÇA DA INFORMAÇÃO NO MYSQL .............................................................. 6 
1.1 Criando novos usuários ......................................................................................... 6 
1.2 Editando privilégios de usuários .......................................................................... 11 
Considerações Finais ................................................................................................ 13 
Atividades de Autoaprendizagem .............................................................................. 13 
Questionário Avaliativo ............................................................................................ 13 
Bibliografia .............................................................................................................. 14 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Tecnologias e Linguagens de Banco de Dados | Danilo Nogueira | 6 
 
 
1 Segurança da Informação no MySQL 
INTRODUÇÃO: 
Em um sistema gerenciador de banco de dados, a segurança da 
informação se dá em dois níveis: interno e externo. No nível externo, a 
proteção dos dados é exercida pelos mecanismos de segurança de rede, 
providos pelo sistema operacional e outras ferramentas acopladas, como 
firewall, antivírus, entre outros. Já no nível interno, a segurança é 
exercida pelo próprio SGBD, no que diz respeito aos níveis de acesso aos 
dados, que são concedidos por meio da linguagem DCL. Com essa 
linguagem, é possível definir quem tem permissão de visualizar ou 
atualizar cada coluna de cada tabela criada no âmbito de um ba nco de 
dados. Cabe ao administrador de dados, também conhecido como DBA, 
definir esses níveis de permissão, e não ao programador, que estará 
limitado a esses níveis de permissão. 
 
 
1.1 Criando novos usuários 
 
Antes de falarmos em segurança da informação em um banco de dados, 
precisamos ter um elenco de usuários ativos para gerenciar seus acessos 
e privilégios quanto ao banco de dados em tela. 
 Para ter acesso ao formulário de criação de novos usuários, bem como a 
configuração de seus acessos, abra o PhpMyAdmin, clique no banco de 
dados desejado (“EscolaPrime”, por exemplo), e acione a aba “Privileges”. 
 
 
OBJETIVO: 
Ao término desta aula você será capaz de gerenciar a segurança e o 
compartilhamento de dados no SGBD. 
 
Tecnologias e Linguagens de Banco de Dados | Danilo Nogueira | 7 
 
 
 
Figura 1 - Formulário de criação de usuários e configuração de seus privilégios. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Para adicionar uma nova conta de usuário, siga este passo a passo: 
 Clique no link “Add user acount” (adicione conta de usuário) e observe a 
formação de uma página contendo um formulário de usuários: 
 
Figura 2 - Campos cadastrais do novo usuário que está sendo criado. 
Por default, o usuário “root”, que é criado 
automaticamente no ato da instalação do MySQL, recebe 
todos os privilégios possíveis para acesso aos bancos de 
dados criados. 
NOTA 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Tecnologias e Linguagens de Banco de Dados | Danilo Nogueira | 8 
 
 
 Na sequência, pelo menos, preencha o nome do usuário e clique por 
sobre o botão “Generate” para que uma nova senha seja 
automaticamente gerada pelo PhpMyAdmin. Caso queira de fato gerar 
uma senha manualmente, basta preencher os demais campos antes 
deste botão. 
 Rolando a página um pouco para baixo, vemos que ainda há campos a 
serem preenchidos neste formulário. O próximo conjunto de campos se 
refere às permissões de acesso deste usuário que está sendo criado. 
Veja, na figura abaixo, que podemos estabelecer exatamente que 
comandos esse usuário pode executar neste banco de dados. 
 
Figura 3 - Continuação do formulário anterior. 
 
 
 
 
 
Observe que o PhpMyAdmin divide os comandos em três 
grupos. O da esquerda engloba os comandos DML. Na 
parte central, ele concentra os comandos DDL e, por fim, 
os comandos DCL e demais comandos de administração 
do banco de dados, mais à direita. 
NOTA 
Tecnologias e Linguagens de Banco de Dados | Danilo Nogueira | 9 
 
 
 
 
 Rolando um pouco mais para baixo (ou mais à direita, dependendo da 
responsividade de seu navegador), vemos mais um conjunto de campos a 
serem preenchidos. Este grupo de campos se refere a eventuais limites 
de acessos por parte do usuário que está sendo criado. Como podemos 
observar na figura abaixo, o PhpMyAdmin permite estabelecer limites de 
consultas (“queries”), atualizações (“updates”), e conexões 
(“connections”) por hora, além do número máximo de conexões 
simultâneas (“max user connections”). 
 
 
Figura 4 - Continuação do formulário anterior. 
 
 
 
 
 
 
 
 
 Por fim, role a página até o fim e perceba que o PhpMyAdmin ainda 
oferece a oportunidade de estabelecermos alguns requisitos de 
segurança para o banco de dados. A primeira opção (vide figura a seguir) 
suprime qualquer requisito de segurança adicional. As outras opções, 
porém, forçam que o programa ou comando que i rá interagir com o banco 
O valor “zero”, quando informado em quaisquer desses 
campos, remove o limite dos respectivos requisitos. 
NOTATecnologias e Linguagens de Banco de Dados | Danilo Nogueira | 10 
 
 
de dados forneça um dos protocolos especificados, inclusive outro 
protocolo a ser informado nos três últimos campos de texto. Dependendo 
do tipo de banco de dados que se esteja definindo, este requisito pode 
ser fundamental, como é o caso dos bancos de dados que lidam com 
cartões de crédito e contas bancárias. 
 
Figura 5 – Continuação do formulário anterior. 
 
 Finalmente, chegamos ao término da definição de segurança deste 
banco de dados. Para executar todos os parâmetros informados neste 
formulário, basta clicar no botão “Go”, como ilustrado na figura acima. 
 Considerando que 
demos total privilégio 
ao João Marcelo, o 
PhpMyAdmin executou 
o seguinte comando 
DCL: 
CREATE USER 'João 
Marcelo Lyra'@'%' 
IDENTIFIED WITH 
mysql_native_pass
word AS 
'***';GRANT 
SELECT, SHOW 
DATABASES, CREATE 
VIEW, SHOW VIEW 
Figura 6 - Página de feedback da criação do usuário. 
http://localhost/phpmyadmin/url.php?url=https://dev.mysql.com/doc/refman/5.5/en/information-functions.html#function_user
Tecnologias e Linguagens de Banco de Dados | Danilo Nogueira | 11 
 
 
ON *.* TO 'João Marcelo Lyra'@'%' REQUIRE NONE WITH 
MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 
MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;GRANT 
ALL PRIVILEGES ON `escolaprime`.* TO 'João Marcelo 
Lyra'@'%'; 
Você pode ainda editar os privilégios concedidos no formulário seguinte, 
como podemos visualizar ao lado. 
 
1.2 Editando privilégios de usuários 
 
Experimente editar as permissões, desmarcando todas as caixas de 
verificação dos comandos das colunas do meio e da direita, deixando 
apenas as permissões para os comandos DML. Depois de clicar no botão 
“Go”, você deverá visualizar a seguinte página, contendo os comandos 
REVOKE e GRANT. 
 
Figura 7 - Desmarcando as permissões para comandos de estrutura ( Structure) e administração 
(Administration). 
 
Na prática, o PhpMyAdmin executou dois comandos DCL: 
REVOKE ALL PRIVILEGES ON `escolaprime`.* FROM 'João 
Marcelo Lyra'@'%'; 
GRANT SELECT, INSERT, UPDATE, DELETE ON 
`escolaprime`.* TO 'João Marcelo Lyra'@'%'; 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Tecnologias e Linguagens de Banco de Dados | Danilo Nogueira | 12 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Figura 8 - Painel de privilégios dos usuários. 
Agora é com você. Exercite o comando REVOKE, DENY e 
GRANT experimentando editar os privilégios desse usuário. 
Use o painel de privilégios ilustrado abaixo. 
ATIVIDADES 
Tecnologias e Linguagens de Banco de Dados | Danilo Nogueira | 13 
 
 
Considerações Finais 
SAIBA MAIS: 
 Continue se aprofundando no tema “Segurança da Informação” 
usando bancos de dados MySQL. Para isto, recomendamos a leitura 
deste link de consulta e aprofundamento sobre essa questão: 
Artigo: “Segurança no MySQL – vulnerabilidades ou pontos fortes?”, 
acessível pelo link: https://imasters.com.br/infra/seguranca/seguranca-
no-mysql-vulnerabilidades-ou-pontos-fortes/?trace=1519021197 (Acesso 
em 03/12/2017). 
 
 
 
Atividades de Autoaprendizagem 
ATIVIDADES: 
Pronto para consolidar seus conhecimentos? Leia atentamente o 
enunciado de sua atividade de autoaprendizagem proposta para esta 
aula. Se você está fazendo o seu curso presencialmente, é só abrir o 
seu caderno de atividades. Se você estiver cursando na moda lidade de 
EAD (Educação a Distância), acesse a sua trilha de aprendizagem no seu 
ambiente virtual e realize a atividade de modo online. Você pode 
desenvolver esta atividade sozinho ou em parceria com seus colegas de 
turma. Dificuldades? Poste suas dúvidas no fórum de discussões em seu 
ambiente virtual de aprendizagem. Concluiu a sua atividade? Submeta o 
resultado em uma postagem diretamente em seu ambiente virtual de 
aprendizagem e boa sorte! 
 
 
Questionário Avaliativo 
TESTANDO: 
Chegou a hora de você provar que aprendeu tudo o que foi abordado ao 
longo desta aula. Para isto, leia e resolva atentamente as questões do 
seu caderno de atividades. Se você estiver fazendo este curso a 
distância, acesse o QUIZ (Banco de Questões) em seu ambiente virtual 
de aprendizagem. 
 
 
https://imasters.com.br/infra/seguranca/seguranca-no-mysql-vulnerabilidades-ou-pontos-fortes/?trace=1519021197
https://imasters.com.br/infra/seguranca/seguranca-no-mysql-vulnerabilidades-ou-pontos-fortes/?trace=1519021197
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Tecnologias e Linguagens de Banco de Dados | Danilo Nogueira | 14 
 
 
Bibliografia 
 
BREM, M. (9 de Set de 2015). Segurança no MySQL – vulnerabilidades ou pontos 
fortes? iMasters. Acesso em 3 de Dez de 2017, disponível em 
https://imasters.com.br/infra/seguranca/seguranca-no-mysql-
vulnerabilidades-ou-pontos-fortes/?trace=1519021197 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Tecnologias e Linguagens de Banco de Dados | Danilo Nogueira | 15

Continue navegando