blob: 287203510aec162989f48d2cc35d9a4879fa2cad (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
6. Segurança e privacidade
==========================
6.1 - Segurança começa no desenvolvimento
-----------------------------------------
* Criptografia é só uma parte das práticas seguras.
* Modelagem de ameaças e testes de penetração: inverta os papéis: e se você fosse o/a atacante?
* A dificuldade de se encontrar vulnerabilidades.
* Segurança por isolamento.
6.2 - Use bibliotecas criptográficas consolidadas!
--------------------------------------------------
* Erros de implementação são grandes fontes de brechas de segurança.
* Caso você precise implementar primitivas criptográficas no seu código, use bibliotecas existentes!
* Encapsule as conexões das suas aplicações em canais criptografados.
* TLS é o protocolo mais consolidado e adequado, apesar de não ser perfeito.
6.3 - Princípio das permissões mínimas
--------------------------------------
* Exemplo básico.
* Permissões de arquivos são propriedades no sistema de arquivo!
* Elas não são necessariamente preservadas com a cópia de arquivos entre sistemas!
Roteiro do screencast:
::
# Vendo as permissões e a posse de arquivos e pastas
ls -l projetos
# Mudando as permissões de um arquivo
touch cofrinho
chmod 000 cofrinho
chmod 600 cofrinho
# Mudando a posse de arquivos e pastas
chown
6.4 - Criptografia básica
-------------------------
* Assinaturas digitais.
* Comunicação cifrada.
* Checagem de integridade de código no git e em geral.
6.5 - Certificados x509 para SSL/TLS/HTTPS
------------------------------------------
* `Let's Encrypt <https://letsencrypt.org>`_.
|