Linux e ferramentas de desenvolvimento
Bash básico para trabalho de segurança
Aprenda pipes, redirecionamento, variáveis, laços, códigos de saída e set -euo pipefail, e use isso para contar logins falhos e gerar hashes.
Crie uma conta e um primeiro repositório no GitHub pelo navegador, adicione um README e um segundo commit, e mantenha segredos fora dele.
Um repositório no GitHub é uma pasta que o Git acompanha. Cada mudança nos arquivos é salva como um commit, então você pode ler o histórico depois e ver o que mudou. Esta aula mostra como criar a conta, montar um repositório e fazer dois commits, tudo pelo navegador. Você não precisa de experiência com programação nem de ferramentas de segurança.
Acesse github.com e siga o cadastro indicado no site. Use uma senha exclusiva, de preferência guardada em um gerenciador de senhas. Depois, ative a autenticação em dois fatores nas configurações de segurança da conta. O guia oficial de 2FA lista os métodos disponíveis. O SMS só é oferecido em alguns países.
A interface do GitHub muda com o tempo. Se algum rótulo abaixo não bater com a sua tela, use o guia Hello World como referência.
Abra o menu de criação no canto superior direito e escolha New repository. O guia oficial descreve estes campos:
., - e _..gitignore e licença, todos opcionais.Use o nome security-learning-notes, adicione uma descrição curta e escolha Private enquanto estiver aprendendo. Marque a opção de adicionar um README e crie o repositório.
A visibilidade privada limita quem pode ver o repositório. Isso não o torna um lugar seguro para senhas ou chaves, como explica a seção 6.
Abra o README.md e clique no ícone de lápis para editar no navegador. Substitua o conteúdo por algo específico:
# My Security Learning Notes
This repository contains exercises I created while learning cybersecurity.
## Topics
- How DNS works
- Encoding versus encryption
## Scope
All exercises use local labs or systems I own.Escreva uma mensagem curta descrevendo a mudança, como Document learning goals, e faça o commit. Um commit é uma mudança salva com mensagem e data. O GitHub guarda isso como parte do histórico do repositório.
Escolha Add file e depois Create new file. Digite notes/first-lesson.md no campo de nome. A barra cria uma pasta. No corpo, escreva um parágrafo explicando a diferença entre hash de senha e criptografia. Um hash é uma impressão digital de mão única, usada para conferir um valor sem guardá-lo. A criptografia pode ser revertida por quem tiver a chave. Faça o commit desse arquivo com mensagem própria, como Add first lesson notes.
Commits separados deixam o histórico mais fácil de ler. Cada commit deve descrever uma ideia.
Abra o histórico de commits do repositório. Você deve ver pelo menos dois commits com mensagens que consiga entender. Saber explicar o que mudou e por quê importa mais do que a quantidade de commits.
Se o Git estiver instalado no seu computador, o mesmo histórico aparece na linha de comando. Rodei isto em um repositório de teste com um commit com a mesma mensagem:
git log --onelineSaída dessa execução:
03c208a Document learning goalsO seu hash será diferente. No Windows, o Git pode mostrar um aviso sobre fim de linha no primeiro commit. O aviso não muda o commit.
Antes de enviar qualquer arquivo, verifique se há arquivos .env, tokens de acesso, dados de clientes, credenciais de nuvem e logs privados. Um .gitignore faz o Git ignorar os arquivos que batem com os padrões, o que ajuda a evitar acidentes. Ele não remove um segredo que já foi commitado, porque o commit antigo continua no histórico.
Um exemplo de .gitignore para um projeto de estudo:
.env
*.pem
*.logSe você commitar um segredo por engano, revogue ou troque o segredo primeiro. Com o segredo revogado ou trocado, o valor antigo não dá mais acesso, e reescrever o histórico pode não valer o esforço. O guia do GitHub sobre remoção de dados sensíveis cobre os dois passos, inclusive os efeitos colaterais de uma reescrita.
Um repositório na web ajuda a entender a estrutura e o histórico. O próximo passo é aprender o que o Git faz na sua própria máquina e como o git clone cria uma cópia local do repositório para você trabalhar com segurança.
Guarde neste repositório apenas notas e exercícios que você não teria problema em mostrar a qualquer pessoa.
Linux e ferramentas de desenvolvimento
Aprenda pipes, redirecionamento, variáveis, laços, códigos de saída e set -euo pipefail, e use isso para contar logins falhos e gerar hashes.
Linux e ferramentas de desenvolvimento
Donos, grupos, bits rwx, chmod, umask e setuid no Linux, com laboratório que testa o acesso de outro usuário e procura modos arriscados.
Linux e ferramentas de desenvolvimento
Como funcionam as chaves SSH de host e de usuário, por que Ed25519 com senha de proteção é o padrão e como proteger o login em uma VM de laboratório.