quinta-feira, 29 de fevereiro de 2024

Intro to Storage (Introdução ao Armazenamento)

https://aws.amazon.com/pt/products/storage/ 

https://docs.aws.amazon.com/en_us/wellarchitected/latest/framework/perf-03.html 

https://aws.amazon.com/pt/solutions/case-studies/?customer-references-cards






















1. what is the definition of object-based storage?
- object storage is a method of storing data based on a hierarchical structure of directories and subdirectories (wrong).
- object storage is a method of storing files based on folders and subfolders.
- object storage is a method of storing files in individual blocks located on a hard drive.
- (x) object storage is a method of storing files based on attributes and metadata. (correct)

2. Which storage class is for raw storage of data in fixed-sized chunks, each with a unique identifier?
- (x) block (correct)
- file
- object
- gateway

3. which option is a typical use case for Amazon S3?
- File storage for multiple Amazon EC2 instanges
- Block storage for an Amazon EC2 instance
- (x) Object storage for media hosting (corret)
- Object storage for a boot drive

4. An employee at a healthcare facility must store 7 years of patient information that is rarely acccessed. Which Amazon S3 storage tier is the best choice?
- Amazon S3 Standard-Infrequent Access
- Amazon S3 Intelligent-Tiering
- (x) Amazon S3 Glacier Deep Archive (correct)
- Amazon S3 Standard

5. Which of the following items are types of cloud storage available in AWS? (Select THREE)
- (x) Block
- Endpoint
- (x) Object
- Distributed
- Referential
- (x) File

6. Which types of data does Amazon S3 offer encryption for? (Select TWO).
- Data in transit (x)
- Data at rest (x)
- Data at the edge
- Data in archive
- Data from endpoints

7. When naming an Amazon S3 bucket, a developer must choose something that is unique. For which portions of AWS must the bucket name be unique?
- Globally across

8. When a developer creates an Amazon S3 bucket, they can set access permissions. Suppose that they leave the defaults and make no changes to the settings. Who can view objects in the bucket?
- Only the developer

9. Which storage service is recommended if a customer needs a storage layer for a database attached to an Amazon EC2 instance?
- Amazon Elastic Block Store (EBS)

10. Amazon S3 is priced based on the storage class and features that the user chooses. Which items is the user charged for? (Select THREE).
- GB storage per month
- Transfers OUT to other Regions or the internet
- PUT, COPY, POST, LIST, and GET requests

11. A developer can use Amazon S3 to configure Cross-Region Replication of objects. What is one benefit of enabling Cross-Region Replication?
- minimizes latency

12. A gaming company has data access patterns that are often unpredictable. Which storage class could they use to help minimize costs?
- Amazon S3 Intelligent-Tiering

13. Lifecycle rules define the actions that Amazon S4 can apply to a group of objects to store them cost effectively. Which two types of actions can lifecycle rules apply to an object? (Select TWO).
- transition actions
- expiration actions

segunda-feira, 26 de fevereiro de 2024

Tutorial: Tentando Simplificar o Django ao máximo (passo-a-passo) (testado apenas no Linux Mint Mate)

A melhor forma de aprender DJANGO...

Olá esta postagem busca simplifcar o uso do django ao máximo para aprendizado e a elaboração de uma trilha segura e um passo-a-passo que são requisitos essenciais para executar e entender corretamente o django...

Uma vez que DJANGO é um framework que está constantemente sendo "melhorado" (e modificado), por exemplo a versão atual (na data que escrevo esta publicação) é a versão 5, a maioria dos tutoriais gratuitos (e até mesmo pagos) na internet são da versão 3 ou 4!

Por que isso acontece? Por que ainda continuam por ai? Porque a compatibilidade é praticamente a mesma, contudo uma coisinha aqui ou ali podem não funcionar. Então qual a solução?!

O python (a mesma linguagem do framework django) tem uma simples solução:
AMBIENTE VIRTUAL!

Basta criar o(a) famoso(a) "virtualenv" ou "venv" e seu arquivo: "requirements.txt" e correr pro abraço pra ser feliz e conseguir realizar tutoriais e implementá-los sem risco de erros! 

"Ah mas eu quero realizar meus projetos dos tutoriais na versão mais atualizada! "

Simples, realize tudo na versão onde foi concebido dentro do "virtualenv" e depois tente reproduzir tudo em outro "venv"! E hoje podemos utlizar as ias para nos ajudar a corrigir inconsistências e os diversos foruns pela internet! Portanto aprenda e busque atualizar, porque pode inclusive te ajudar a ganhar experiência e propostas de trabalhos lucrativos!

Vamos lá?!

Sem mais delongas... vamos ao que interessa:

1. Crie uma pasta na qual vai colocar seu proejto.

2. Na pasta execute o terminal ou o vscode e o terminal dele.

3. criando um ambiente virtual python (vc precisa ter o python e o pip instalado para dar continuidade a este tutorial), no terminal dentro da pasta digite (sem aspas):

  • "virtualenv venv"
3.1. Tutorial completo para instalar e executar o "virtualenv" e a diferença do "venv": https://venelouis.blogspot.com/2024/02/a-melhor-forma-de-criar-um-ambiente.html

4. ativando e entrando neste ambiente, novamente no terminal digite e execute:

  • "source venv/bin/activate"

5. Agora vc deve estar dentro do ambiente virtual (venv), então vamos criar o arquivo "requirements.txt", abra o arquivo e dentro digite: "Django" (para instalar a versão mais atual, se quiser uma versão específica do django para o seu projeto basta digitar por exemplo: "Django==3.2.3") e salvar.

6. execute o comando: "pip install -r requirements.txt" para instalar o Django (dentro do (venv) ambiente virtual).

*Se quiser criar o arquivo: "requirements.txt" a partir das configurações atuais da sua venv basta executar no terminal: 

  • "pip freeze > requirements.txt"

*talvez seja necessário instalar o pacote "pip", para verificar se é necessário, basta saber se o pip já está instalado no seu computador ou não com o comando no terminal (sem aspas):
"pip --version" se aparecer a versão voce pode apenas atualizar se estiver desatualizada: "python -m pip install --upgrade pip" (no linux, talvez precise digitar tbm: "python3".) No windows: C:> py -m pip install --upgrade pip . Para instalar se não houver: "python -m ensurepip --upgrade" (linux). Windows: "C:> py -m ensurepip --upgrade".

7. criando o projeto, digite no terminal (sempre sem as aspas):

"django-admin startproject projeto ."

Explicação: esse comando diz que você  será um "administrador-django" e vai "começar um projeto" chamado: "projeto".

7.1. Apenas a título de curiosidade, com o comando: "python manage.py help" você poderá ver a lista de subcomandos existentes.

8. Executando o exemplo do projeto: por padrão o django tem uma configuração de boas-vindas ao seu próprio projeto criado, para iniciar o seu projeto e ver isso, digite no terminal:

"python manage.py runserver"

9. Após executar, o terminal vai te devolver o seu endereço local onde o projeto está "sendo rodado" que é algo do tipo:  "http://127.0.0.1:8000/" vc pode clicar ou digitar no seu navegador e verá algo como um site django. Volte ao terminal e com as teclas "Crtl+c" vc desliga o servidor django e volta ao terminal "executável".

10. Agora vamos criar o nosso primeiro aplicativo do nosso projeto, para isso, novamente no terminal: 

"python manage.py startapp primeiroapp"

11. Agora precisamos registrar esse aplicativo em nosso projeto, na pasta: "projeto", abra o arquivo "settings.py" e na seção "INSTALLED_APPS" adicione o seu "primeiroapp" da seguinte forma:

INSTALLED_APPS = [

    'django.contrib.admin',

    'django.contrib.auth',

    'django.contrib.contenttypes',

    'django.contrib.sessions',

    'django.contrib.messages',

    'django.contrib.staticfiles',

    'primeiroapp.apps.PrimeiroAppConfig',

]    

E salve tudo.

12. Criando a vizualização do seu "PrimeiroApp" no seu "projeto", dentro da pasta: "primeiroapp" abra o arquivo: "views.py" e adicione o seguinte:

from django.shortcuts import render
from django.http import HttpResponse

def index(request):
    return HttpResponse("Hello, Primeiro APP")

E salve.

13. Agora que temos: 1 projeto, 1app, 1vizualização(view), precisamos criar uma "Localizador Uniforme de Recursos", o famoso: "url". Na pasta "primeiroapp" vamos criar um novo arquivo chamado: "urls.py" e dentro dele vamos colocar:

from django.urls import path
from . import views

urlpatterns = [
    path('', views.index, name='index'),
]

E salvar.

14. Por fim, para poder executar nosso aplicativo (primeiroapp) dentro do nosso projeto precisamos indicá-lo dentro do nosso projeto, portanto dentro da pasta "projeto" vamos abrir o arquivo "urls.py" possívelmente seu código após os comentários que ensinam como incluir o caminho, vai estar assim:

from django.contrib import admin
from django.urls import path

urlpatterns = [
path('admin/', admin.site.urls),
]

Vamos adicionar o "include" ao lado do: "import path" utilizando um virgula e dentro de "urlpatterns" vamos "incluir" o "caminho" da url do nosso "primeiroapp", da seguinte maneira:

from django.contrib import admin
from django.urls import path, include

urlpatterns = [
path('admin/', admin.site.urls),
path('', include('primeiroapp.urls')),
]

15. Pronto! Vamos executar nosso "primeiroapp", no terminal vamos executar o seguinte comando novamente:

"python manage.py runserver"

Abra a URL no navegador de sua preferência:

http://localhost:8000/

Este foi o "fim do começo" em criar:
1. projeto
1. app
1. view
1. url

E configurá-los para serem exibidos corretamente através do Django!

16. Continua...?


terça-feira, 20 de fevereiro de 2024

O único jeito certo de instalar o Packet Tracer no Ubuntu (2024)

Depois de fazer o download do Packet Tracer do site da Cisco, vc precisa abrir o terminal no local do arquivo, e digitar o comando:
  • sudo dpkg -i + (nome do arquivo baixado)
vai dar um erro, mas ai você executa outro comando e ai é só ser feliz depois disso:
  • sudo apt -f install
Vai abrir no próprio terminal umas opções para você aceitar os termos de usário e etc...

Quando abrir o Packet Tracer vai pedir seu usuário e senha da conta na Cisco, e pronto é só colocar e iniciar o programa.

Um detalhe no Ubuntu é que ele não dá a opção de criar um atalho clicando com o botão direito do mouse no icone, então o jeito é ir na pasta do aplicativo e copiar o arquivo de execução, que no caso é: 

"computer/usr/share/applications" 

nessa pasta o aquivo que você precisa copiar é: 
"cisco-pt821.desktop"

Mas isso não se limita ao Packet Tracer, você pode perceber que todos os aplicativos do seu pc estão nessa pasta e você pode copiar e colar na área de trabalho (ou desktop) para criar os icones de atalhos.



domingo, 18 de fevereiro de 2024

Iniciando a linguagem de programação GO (golang) no Linux




Atualizando...
Decidi iniciar esta publicação pois utilizava o sistema operacional Linux Mint (versão 21.3 Virginia), atualmente meu hd tá meio ruim (já comprei outro, mas enquanto não chega) estou usando Linux Lubuntu (não curti muito não, já tava acostumando com o Mint, mas o próximo que vou aderir vai ser o Ubunto mesmo, ainda mais que descobrir que a versão pro é grátis para uso pessoa (visite o site para mais informações) eu estava tentando utilizar a versão mais recente da linguagem, tentei de diversas maneiras, mas achei difícil pois parece que a própria documentação não ajuda muito: https://go.dev/doc/install (ou sou eu que não manjo muito desse tipo de instalação)

Após rodar o comando (sem aspas): 
  • "go version" e descobrir que o go não está instalado, e o terminal retorna apenas com o "apt" de versões antigas.
Achei uma resposta no StackOverflow que facilita a instalação do go atualizado no linux:

Basta digitar no terminal:

sudo add-apt-repository ppa:longsleep/golang-backports
sudo apt update
sudo apt install golang-go
  • Após a finalização executei novamente o comando: "go version"
Que finalmente me retornou a versão (quase) mais recente de acordo com o próprio site oficial:
"go1.21.7" (atualmente o site oficial disponibiliza a versão 1.22, que a versão posterior de acordo com o link de "releases" (lançamentos): https://go.dev/dl/ mas por enquanto decidi ficar com essa versão já que no básico é praticamente igual, não tem muita diferença, no futuro talvez tenha que buscar outro modo de instalação(veja abaixo) ou talvez esse metodo de instalação quando executado retorne a versão mais atualizada...)

Outro modo de instalação:
Uma pessoa em um fórum de estudos respondeu o seguinte:

A instalação no Linux é um pouquinho mais trabalhosa, caso alguém esteja passando por dificuldades o processo consiste basicamente em:
  1. Baixar os arquivos no site oficial do Go (no Ubuntu eles virão na extensão tar.gz)
  2. Criar um diretório "local" no diretório do seu usuário Linux (cd ~)
  3. Descompactar os arquivos baixados no diretório "local" criado anteriormente
  4. Adicionar a variável de ambiente com o caminho do código fonte do Go:
  • Abrir o terminal
  • Digitar "sudo nano $HOME/.profile"
  • Adicionar a linha "export PATH=$PATH:/usr/local/go/bin" no fim do arquivo
  • Salvar, fechar o terminal e reiniciar o computador
*enfim: eu mesmo não testei se isso funciona, mas esse passo-a-passo parece estar de acordo com a documentação.


Criando o primeiro "Hello World" na linguagem GO:
1. crie uma pasta ("golang" por exemplo)
2. abra o vscode e crie um arquivo: "hello.go" e escreva o código, por exemplo:

package main //pacote principal

import "fmt" //pacote para formatar a saída de dados na tela

func main() { /*função principal*/
    fmt.Println("Hello Word - Olá Mundo!") //imprime na tela e pula uma linha
    fmt.Print("Olá Mundo - Hello Word!")   //imprime na tela sem pular uma linha
    fmt.Println("Hello Word - Olá Mundo!") //imprime na tela e pula uma linha
}

e salve.

3. no terminal (dentro do próprio vscode, para abrir no menu superior esquerdo na opção: "Terminal"->"New Terminal" verifique se vc está dentro da pasta "./golang"
4. agora é só escrever no terminal (sem aspas) o comando: "go run hello.go"
5. se vc executar "go build hello.go" para construir um compilado basta digitar no terminal: ./hello.go


Alguns links para estudo: https://go.dev/learn/



Comandos básicos no Terminal do Linux que você faz quase qualquer coisa!

Assim que o sistema iniciar você pode utilizar o comando:

Ctrl+Alt+F1 

pra entrar numa tela apenas de terminal do linux (terminal-texto). Pra sair é só clicar:

Ctrl+Alt+F2 ou Ctrl+Alt+F7 ou faça o login e digite: "startx"

Comandos Linux  - Manipulação de Arquivos:

  • ls (list - listar)
  • ls -la (lista todos os arquivos, incluindo ocultos e todos os detalhes)
  • (espaço)--help te ajuda a descobrir todas as opções daquele comando por exemplo o "ls -la" utilizando: "ls --help"
  • clear (limpar o terminal)
  • cd (change directory - mudar de diretório, pasta)
  • mkdir (make directory - cria um diretório, pasta): por exemplo: "mkdir Hackers hakers" vai criar 2 pastas, mas se eu escrever no terminal (sempre sem as aspas duplas): "mkdir 'Hackers hackers' " vai criar 1 pasta com 2 nomes.
  • nano (editor de texto): se você digitar no terminal: "nano comandos.txt" no terminal vai ser aberto esse arquivo e o nano, pra sair é só apertar: "ctrl+x"
  • mv (move - mover ou renomear), por exemplo se executarmos: "mv comandos.txt comando.txt" ele vai renomear o arquivo. Para mover usamos o comando: "mv comando.txt /home" vai mover para pasta "home". Ou se você quiser mover para pasta acima basta digitar "mv comando.txt ./pasta_atual" se quiser "subir" mais basta adicionar pontos: "..../pasta_atual".
  • cp (copy - copiar) - por exemplo: cp comando.txt ./pasta_atual
  • rm (remove): arquivos, como: "rm comando.txt" para apagar pastas utilizamos: "rm -r" por exemplo: "rm -r Hackers"
  • pwd (print work directory - imprime o caminho completo da pasta onde eu estou trabalhando)
  • cat (concatenar) exibe o arquivo no terminal. Por exemplo: "cat comando.txt" vai mostrar o que está escrito no documento.
  • sudo (super user do): elevação de privilégios para fazer algo.
  • ip a (ip address - exbibe os endereços de ip)
  • top (gerenciador de tarefas), para sair aperte o "q".
  • btop (gerenciador de tarefas mais "top" rs) (não tem no linux mint, talvez só no linux ubuntu? *atualização: acabei de instalar pela "snap store" a versão mais recente do btop-desktop).
  • "df -h" (sem aspas) lista os discos e informações sobre eles.
  • "| grep"  por exemplo se utilizarmos o comando: "cat /var/log/dmesg" (mensagens de inicialização do sistema) se eu utilizar o mesmo comando mas adicionar o "| grep" no final posso filtrar pelas palavras após o "grep" por exemplo: "cat /var/log/dmesg | grep USB"
  • "touch" modificar (data e hora de acesso/modificação do arquivo) ou criar arquivos vazios.
  • "touch - a" altera apenas a data de último acesso do arquivo
  • "touch -m" altera apenas a data de modificação do arquivo
  • "touch -t [[CC]YY]MMDDhhmm[.ss]: Define a data e hora de modificação do arquivo. Para definir a data de modificação do arquivo arquivo.txt para 1 de janeiro de 2024, às 10:00: "touch -t 202401011000 arquivo.txt"
  • "man" para saber exatamente o um determinado comando faz você pode colocar na frente do comando por exemplo: "man touch"
  • "sudo useradd -m hacker1" cria o usuário "hacker1" e uma pasta para ele.
  • "sudo passwd hacker1" cria uma nova senha para ele
Arquvos interessantes de se visualizar (utilizando nano ou cat):
  • "nano /etc/passwd" (para ver todos os usuários do sistema)
  • "sudo cat /etc/shadow" (para ver as senhas criptografadas dos usuários)
Instalação de programas através de pacotes
  • O mais famoso de todos é o "apt". Digite "apt" (sem aspas) no terminal e veja todas as possibilidades.
  • Sempre excute: "sudo apt update" para atualizar todos os pacotes antes.
Informações de Hardware no terminal:
  • Verifique se você tem o "inxi" utilizando o comando: "inxi -V", senão é só instalar:
  • "apt install inxi" e depois executar: 
  • "inxi -F", para saber outros comandos utilize: "man inxi" e/ou: "inxi -h".
Algumas informações sobre o sistema operacional:
  • neofetch
  • htop


sábado, 17 de fevereiro de 2024

SC-900: Microsoft Security, Compliance and Fundamentals.

Módulo 1:

CIA - Confidencialidade, Integridade e Disponibilidade (Availability) 










MFA (autenticação multi-fatorial)






Módulo 2:
 
 Tipos de identidade do Azure Active Directory:
Identidades externas:

Identidades Hibridas:
Métodos de autenticação:

MFA (Multi-Fatorial Authenticator):
SSPR (Self-Service Password Reset):

RBAC (Role Based Access Control - Controle de acesso baseado em funções):
 
Governança de Identidades:

PIM (Privileged Identity Management):

1.Qual é a licença mínima do Azure AD necessária para usar o Azure AD Privileged Identity Management (PIM)?
- Azure AD Premium P2

2.Que tipo de identidade você deve usar para permitir que as máquinas virtuais do Azure acessem o Armazenamento do Azure sem precisar manipular alterações de senha manualmente?
- Identidade Gerenciada

3.Qual serviço permite que o Azure AD autentique usuários externos usando suas identificações sociais, como IDs do Google ou da Apple?
- Gerenciamento de acesso de identidade do cliente (CIAM) do Azure AD B2C

4.Uma organização está migrando para a nuvem da Microsoft. O plano é usar um modelo de identidade híbrida. O que pode ser usado para sincronizar identidades entre os Serviços de Domínio Active Directory (AD DS) e o Azure AD?
- Azure AD Connect



Módulo 3
 
Proteção DDoS no Azure:
 

Firewall do Azure: 

WAF (Web Application Firewall - Firewall de aplicativos da web):

Redes Virtuais do Azure:

NSG (Network Secure Group):

Azure Bastion:
 

Microsoft Defender for Cloud:
 

Secure Score:
 
Security Benchmark (Referência de Segurança):
 
SIEM (Security Information Event and Management) e SOAR (Security orchestration, automation and response):

Ms Sentinel:
 

Ms 365 Defender:
 

Defender Office 365:
 

Endpoint Defender:


Defender for Identity:


Portal MS 365:


1.Qual recurso do Azure fornece filtragem em nível de aplicativo e terminação SSL?
- Firewall de Aplicativo Web do Azure (WAF)

2.O que você pode usar para se conectar a máquinas virtuais do Azure remotamente por RDP e SSH no portal do Azure?
- Azure Bastion

3.O que você pode usar para gerenciar a segurança de um ambiente de várias nuvens?
- Microsoft Defender for Cloud

4.Quais são os dois tipos de sistemas de segurança que compõem o Microsoft Sentinel? Assinale todas as respostas corretas (cada resposta correta apresenta parte da solução).
- gerenciamento de eventos e informações de segurança (SIEM)
- resposta automatizada de orquestração de segurança (SOAR)

Módulo 4:











 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 






Postagens mais visitadas