archives

O TCPDUMP é uma ferramenta de captura e análise de pacotes usada para fazer troubleshooting de rede. Ele usa a LIBCAP para fazer isso.

A ideia aqui é fazer um crash course dessa ferramenta.

Um Crash Course é um tipo de “curso rápido” sobre um determinado assunto, indo direto ao ponto de forma mais objetiva possível.

Quando devo usar o tcpdump?

Sempre que você precisar verificar alguma coisa em nível de rede, seguem algumas perguntas que o TCPDUMP pode ajudar a responder:

  • A máquina X está chega no servidor Y ?
  • A máquina X está conseguindo resolver DNS ?
  • A máquina X está conseguindo resolver NTP ?
  • Os clientes estã chegando na Máquina X e porta Y ?

Essa são as perguntas mais básicas que o TCPDUMP pode responder para você.

Para quem foi feito esse post?

Aqui o foco está nas pessoas atuando nas posições abaixo:

  • Sysadmin;
  • Cloud Native Engineer;
  • Cloud Engineer;
  • DevOps Engineer;
  • Plataform Engineer;
  • GitOps Engineer.

Momento Merchan :P

Me siga no twitter @gutocarvalho e acompanhe meus posts sobre Cloud Native e CI/CD.

Aproveite e siga a CD Foundation e Cloud Native Foundation no twitter.

Colaboradores

Pessoas que colaboraram com o texto.

  • Julia Lamenza (@jlamenza)
  • João (@P0ssuidao)
  • Rafael Gomex (@gomex)
  • Rafael Silva (@rafaotetra)

TCPDUMP Crash Course

instalando no mac

$ brew install tcpdump

detectando recursos disponíveis no sistema

Listando interfaces

$ tcpdump -D

Listando data-link types suportados no sistema

$ tcpdump -L

capturando pacotes de interfaces

Capturando tráfego de todas as interfaces

$ tcpdump -i any

Capturando tráfego de uma interface específica

$ tcpdump -i en0

Capturando tráfego de uma interface específica sem resolver nomes

$ tcpdump -n -i en0

Capturando tráfego de uma interface específica sem resolver nomes ou fazer checksums TCP

$ tcpdump -n -K -i en0

Capturando tráfego de uma interface específica sem resolver nomes e fazer lookups

$ tcpdump -nn -i en0

Capturando tráfego de uma interface específica mostrando o mac address

$ tcpdump -e -i en0

Capturando tráfego de uma interface específica sem ativar o modo promíscuo, ou seja você apenas verá pacotes PARA ou DE seu computador.

$ tcpdump -p -i en0

trabalhando com arquivos

Capturando tráfego de uma interface específica e jogando saída para um arquivo

$ tcpdump -i eth0 -w tcpdump.txt

Limitando a captura em 10.000 pacotes para não encher seu disco

$ tcpdump -i eth0 -c 10000 -w tcpdump.txt

Lendo pacotes de um arquivo (replay)

$ tcpdump -i eth0 -r tcpdump.txt

capturando pacotes de hosts e redes específicos

Capturando tráfego de um host específico

$ tcpdump host 192.168.222.1

Capturando tráfego de uma rede específica

$ tcpdump net 192.168.222.0/24

capturando pacotes de endereços mac específicos

Capturando pacotes com origem no endereço mac e8:2b:88:ef:55:11

$ tcpdump ether src e8:2b:88:ef:55:11

Capturando pacotes com destino ao endereço mac e8:2b:88:ef:55:11

$ tcpdump ether dst e8:2b:88:ef:55:11

Capturando pacotes enviados ou recebidos pelo mac e8:2b:88:ef:55:11

$ tcpdump ether host e8:2b:88:ef:55:11

capturando pacotes de origem e destino

Capturando tráfego de uma origem específica

$ tcpdump src 200.150.204.87

Capturando tráfego para um destino específico

$ tcpdump dst 200.150.204.87

capturando pacotes de serviços e portas

Capturando tráfego de um serviço específico

$ tcpdump http

Capturando tráfego de uma porta específica

$ tcpdump port 80

Capturando tráfego de um range de portas

$ tcpdump portrange 8001-8009

capturando pacotes de protocolos específicos

Capturando apenas pacotes IPv4

$ tcpdump ip

Capturando apenas pacotes IPv6

$ tcpdump ipv6

Capturando apenas pacotes TCP

$ tcpdump tcp

Capturando apenas pacotes UDP

$ tcpdump udp

Capturando apenas pacotes ICMP

$ tcpdump icmp

Capturando apenas pacotes ARP

$ tcpdump arp

capturando pacotes em quantidades específicas

Capturando os primeiros 100 pacotes TCP

$ tcpdump -c 100 tcp

capturando pacotes de tamanhos específicos

Capturando pacotes maiores do que 200 bytes

$ sudo tcpdump greater 200

Capturando pacotes menores do que 200 bytes

$ sudo tcpdump less 200

capturando pacotes usando expressões lógicas no filtro

Capturando pacotes com origem no IP 192.168.222.1 e destino na porta 8005 (AND)

$ tcpdump -n -i en0 src 192.168.222.1 and dst port 8005

Capturando pacotes da porta 8001 ou 8005 da interface eth0 (OR)

$ tcpdump -n -i en0 port 8001 or port 8005

Capturando pacotes da interface eth0 com exceção da porta 22 (NOT)

$ tcpdump -n -i en0 not port 22

Capturando pacotes de origem a rede 10.10.0.0/24 e destino rede 192.169.100.0/24 (AND)

$ tcpdump src net 10.10.0.0/24 and dst net 192.168.100.0/24

Capturando pacotes de duas redes específicas (AND)

$ tcpdump net 10.10.0.0/24 and net 192.168.100.0/24

Capturando pacotes tcp entre dois hosts específicos (AND)

$ tcpdump tcp and host 10.10.0.1 and host 192.168.100.54

Capturando pacotes maiores ou igual a 32 bytes (GREATER)

$ tcpdump tcp >= 32

Capturando pacotes menores ou igual a 32 bytes (LESS)

$ tcpdump tcp <= 32

quais as expressões lógicas disponíveis?

Negation    : ! or "not" (without the quotes)
Concatanate : && or "and"
Alternate   : || or "or"

quais os operadores disponíveis?

>  : greater
<  : lower
>= : greater or equal
<= : lower or equal
=  : equal
!= : different

veja alguns exemplos de composição lógica múltipla

Essa regra vai casar com tráfego na porta 80 com host 192.168.222.254 ou 192.168.222.200

$ tcpdump '((tcp) and (port 80) and ((dst host 192.168.222.254) or (dst host 192.168.222.200)))'

Essa regra vai casar com qualquer tráfego ICMP envolvendo os destinos 00:01:02:03:04:05.

$ tcpdump '((icmp) and ((ether dst host 00:01:02:03:04:05)))'

Essa regra vai filtrar tráfego para a rede de destino 192.168 com exceção do host 192.168.222.200

$ tcpdump '((tcp) and ((dst net 192.168) and (not dst host 192.168.222.200)))'

capturando flags de pacotes TCP

Isolando apenas flags RST do protocolo TCP

$ tcpdump 'tcp[tcpflags] == tcp-rst'

Isolando apenas flags SYN e ACK do protocolo TCP

$ tcpdump 'tcp[tcpflags] == tcp-syn' and 'tcp[tcpflags] == tcp-ack'

Isolando apenas flags FIN do protocolo TCP

$ tcpdump 'tcp[tcpflags] == tcp-fin'

capturando informações do protocolo HTTP

Essa captura vai mostrar os requests e conteúdos dos pacotes HTTP

$tcpdump -A -i en0 http

Capturando o user agent

$ tcpdump -vvAls0 | grep 'User-Agent:'

Capturando requisições do tipo GET

$ tcpdump -vvAls0 | grep 'GET'

Capturando requisições do tipo POST

$ tcpdump -vvAls0 | grep 'POST'

Capturando HTTP HEADERS

$ tcpdump -vvAls0 | grep 'Host:'

Capturando HTTP COOKIES

$ tcpdump -vvAls0 | grep 'Set-Cookie|Host:|Cookie:'

capturando infos específicas de protocolos diversos

Buscando tráfego SSH independente da porta que estiver rodando

$ tcpdump 'tcp[(tcp[12]>>2):4] = 0x5353482D'

Buscando tráfego de DNS

$ tcpdump -vvAs0 port 53

Buscando tráfego NTP

$ tcpdump -vvAs0 port 123

capturando senhas clear-text

Aqui vamos pegar senhas clear-text em diversos protocolos

$ tcpdump port http or port ftp or port smtp or port imap or port pop3 or port telnet -lA | egrep -i -B5 'pass=|pwd=|log=|login=|user=|username=|pw=|passw=|passwd= |password=|pass:|user:|username:|password:|login:|pass |user '

configurando timestamp da captura de pacotes

Capturando pacotes sem mostrar timestamp

$ tcpdump -i en0 -t

Capturando pacotes com timestamp com nano-resolution

$ tcpdump —time-stamp-precision nano

Capturando pacotes com timestamp em formato unix epoc (seconds since January 1, 1970)

$ tcpdump -tt

Capturando pacotes com timestamp usando horas, minutos, segundos e microsegundos

$ tcpdump -tttt

configurando nível de ruído na captura de pacotes

Mostrando menos detalhes (quite mode)

$ tcpdump -i en0 -q

Modo verboso inicial

$ tcpdump -i en0 -v

Modo um pouco mais verboso

$ tcpdump -i en0 -vv

Modo mais verboso possível no tcpdump

$ tcpdump -i en0 -vvv

configurando os formatos de saída da captura

Definindo a saída em formato ASCII

$ tcpdump -i en0 -A

Definindo a saída em formato HEX

$ tcpdump -i en0 -x

tcpdump colorido, tem como?

Dá para fazer, vamos instalar o CCZE para ajudar

$ brew install ccze

Agora vamos usar ele assim

$ tpcdump -i en0 | ccze -A

Pronto, saída colorida bem fácil de ler!

quer saber mais?

Para saber mais veja o help do comando

$ tcpdump —help

Para ir além acesse a manpage

$ man tcpdump

qual o meu comando do dia a dia?

Use essa combinação para ver uma saída bastante verbosa, sem resolução de nomes ou portas e mostrando timestamp o mais human-readble possível.

$ tcpdump -ttttnnvvS

Amarrando as pontas

Esse post é uma tentativa de dar um norte ou um caminho para fazer um bom troubleshooting de redes usando o tcpdump.

Volte aqui sempre que precisar :)

Aquele abraço!

Mando aquele abraço para o professor MESTRE Ulysses Almeida (@ulyssesalmeida) que me ensinou a usar o TCPDUMP lá no início do século.

Mando aquele abraço pro @gomex e @badtux que via exemplo me fazem contribuir mais e mais e mais :)

Mando aquele abraço para todos que leram, comentaram, revisaram e contribuiram de alguma forma com esse post!


Este post é do tipo #Mindnodes, entenda aqui.

Se gostou manda um alo no twitter @gutocarvalho ou deixa um comentário bacana :)

Refs

[s]
Guto


Gostou do conteúdo?

Você também me encontra nessas redes!

Mastodon

@gutocarvalho@bolha.us

PixelFed

@gutocarvalho@bolha.photos

Lemmy

@gutocarvalho@bolha.forum

WriteFreely

@gutocarvalho@bolha.blog @notamental@bolha.blog @poesias@bolha.blog @contos@bolha.blog

Bookwyrm

@gutocarvalho@bolha.review

Peertube

@gutocarvalho@bolha.tube

Friendica

@gutocarvalho@bolha.network

Quer saber mais sobre mim?

Visite meus sites!

E meus blogs:

Conhece o Coletivo Bolha?

Então vem conhecer o bolha.io ou bolhaverso!

Nós temos muito mais para compartilhar contigo!

Quer apoiar nosso trabalho? Você pode!

Te vejo no mastodon da bolha.us!

[s]

Já pensou em rodar o OSX via Docker e se conectar no ambiente?


Pois é, tem um projeto que oferece isso com performance quase nativa, basta executar a imagem e se conectar via X11-Forwarding.

Conheça!

- https://github.com/sickcodes/Docker-OSX

[s]
Guto


Gostou do conteúdo?

Você também me encontra nessas redes!

Mastodon

@gutocarvalho@bolha.us

PixelFed

@gutocarvalho@bolha.photos

Lemmy

@gutocarvalho@bolha.forum

WriteFreely

@gutocarvalho@bolha.blog @notamental@bolha.blog @poesias@bolha.blog @contos@bolha.blog

Bookwyrm

@gutocarvalho@bolha.review

Peertube

@gutocarvalho@bolha.tube

Friendica

@gutocarvalho@bolha.network

Quer saber mais sobre mim?

Visite meus sites!

E meus blogs:

Conhece o Coletivo Bolha?

Então vem conhecer o bolha.io ou bolhaverso!

Nós temos muito mais para compartilhar contigo!

Quer apoiar nosso trabalho? Você pode!

Te vejo no mastodon da bolha.us!

[s]

Qual o objetivo desse post?

Às vezes lemos em vagas ou ouvimos em palestras que é necessário ter uma base sólida em redes e sistemas operacionais para atuar com Cloud ou DevOps, contudo, isso pode ser vago e sem contexto para a maioria.

Quando falamos de redes estamos falando de um vasto CONTINENTE de conceitos e tecnologias, neste post vamos arranhar – de leve – a superfície desse continente, acredite.

Aqui reunimos quais os conhecimentos de REDE necessários no dia-a-dia, e podemos dizer que eles podem ser considerados uma “BASE SÓLIDA” de alguém que está pronto para atuar em projetos no mercado profissional.

Esperamos que as pessoas possam avaliar se já conhecem os temas, ou o quanto conhecem dos temas ou então, encontrar em que nível de conhecimento estão e caso não conheçam algo, podem colocar o assunto no seu ToDo para estudar.

Neste post nós não devemos entrar em questões e termos de cloud providers, vamos tentar focar no que é comum em todos eles.

A ideia desse post surgiu após o post do GOMEX sobre os primeiros passos para entrar no mundo DevOps.

Nosso desejo é fazer os seguintes posts de forma coletiva:

  • O que é ter uma base sólida em redes;
  • O que é ter uma base sólida em linux;
  • O que é ter uma base sólida em git;
  • O que é ter uma base sólida em shell.

E quem sabe podemos entrar em Python, Ruby e Go. Se tiver gente que manje e queria compartilhar eu ajudo a escrever :)

Se quiser ajudar comenta aí ou me chama no twitter :)

Momento Merchan :P

Me siga no twitter @gutocarvalho e acompanhe meus posts sobre Cloud Native e CI/CD.

Aproveite e siga a CD Foundation e Cloud Native Foundation no twitter.

Para quem foi feito esse post?

Aqui o foco está nas pessoas atuando nas posições abaixo:

  • Sysadmin;
  • Cloud Native Engineer;
  • Cloud Engineer;
  • DevOps Engineer;
  • Plataform Engineer;
  • GitOps Engineer.

Como entender as indicações do texto?

Aqui vamos usar alguns termos simples

  • Conheça, se usado indica uma leitura de alto nível do assunto.
  • Entenda, se usado indica que deve estudar a fundo, instalar e testar, se possível.
  • Aprenda, vai lá e usa de verdade

O que eu vou encontrar aqui?

Vamos falar desde redes, protocolos, modelos, tecnologias, métodos, técnicas, ferramentas e poderemos tocar em alguns aspectos do Sistema Operacional Linux também.

Nosso foco aqui é Open Source, Open Standards e sistemas Linux e Unix Like.

No primeiro momento vamos indicar alguns links para você iniciar seus estudos, os esforços estarão centrados nisso, com o tempo vamos expandir esses links.

Eu já conheço quase tudo, o que isso significa?

De pronto eu posso dizer:

  • Significa que você tem uma base sólida nesta área de redes, significa que você consegue se sair bem reuniões que envolvam o tema, conseguindo falar a mesma língua das pessoas presentes e consegue colaborar com todos;
  • Significa que você consegue construir e desenhar projetos levando em conta aspectos fundamentais de redes;
  • Significa que você consegue fazer troubleshooting de forma efetiva.

E o que mais?

  • Significa também que é hora de ir além :)
  • Significa que pode contribuir com o post, mas só se quiser :P
  • Se você tem todos esses skills, certamente é uma pessoa que eu gostaria de trabalhar junto ;)

Conheça os colaboradores do post

Pessoas que colaboraram com o texto.

  • Rafael Gomex (@gomex)
  • Rafael Silva (@rafaotetra)
  • Saulo Madalozzo (@madalozzo)

Esse documento será atualizado regularmente?

A ideia é essa, acompanhe pelo histórico de revisões.

Histórico de revisões

  • 2022-03-10
    • Atualizada a seção Network
    • Atualizada a seção de CertManager/LetsEncrypt
    • Atualizada a seção Redes Linux
    • Atualizada a seção Interfaces de rede
    • Atualizada a seção Iptables
    • Atualizada a seção NTP
    • Atualizada a seção VPN
    • Atualizada a seção Materiais complementares
    • Atualizada a seção Load Balancer
    • Atualizada a seção Reverse Proxy
    • Links adicionados na parte de Network
    • Links adicionados na parte de modelo OSI
    • Links adicionados na parte de DNS
    • Links adicionados em protocolos de rede
    • Links adicionados em conceitos de rede
    • Links adicionados em DHCP 2022-03-09
    • Primeira versão

Tabela de conteúdo

Entenda o que é network

  • Entendenda redes
    • Entender o que é uma rede e para que serve
    • Entender o que é um IP e para que serve
    • Entender o que é uma máscara de rede e para que serve
    • Entender o que é uma sub-rede e paera que server
      • Entender as classes de rede A, B, C, D, E
      • Entender e conhecer as redes reservadas
      • Entender o que é localhost
    • Conheça a conversao binária para endereços IP
    • Aprender a usar calculadora de redes
  • Conhecer Organizações
    • Conhecer a IETF
    • Conhecer a IRTF
    • Conhecer a IANA
    • Conhecer a EFF
    • Conhecer a ICANN
  • Conhecer padrões de documentação
    • RFC

Definições

Organizações

Documentos

Youtube

Ferramentas

Videos Professor Paulo Kretcheu

Entenda o modelo OSI

  • Entenda o modelo
    • Entenda as camadas
    • Conheça os principais protocolos de cada camada
    • Entenda que é apenas uma referência e nunca foi implementado
    • Entenda que ainda assim é a referência mais utilizada

Definições

Videos Professor Paulo Kretcheu

## Entenda o modelo TCP/IP

  • Entenda o modelo
    • Entenda as camadas
    • Conheça os principais protocolos de cada camada
    • Entença que foi o modelo que se tornou padrão e ganhou o mercado
    • Entenda que toda a internet roda em cima dele :)

Entenda os protocolos de rede mais importantes

  • IP
    • Entenda IPv4
      • Entenda o 3 Way Handshake
    • Entenda IPSEC
    • Entenda IPv6
  • TCP
    • Entenda seus benefícios e drawbacks
    • Entenda IANA e Portas
    • Entenda o processo de handshake
  • UDP
    • Entenda seus benefícios e drawbacks
  • ICMP
    • Entenda seus benefícios e para que serve
  • ARP
    • Entenda para que serve e como funciona

IP

TCP

UDP

ICMP

ARP

Videos Prof. Paulo Kretcheu

Entenda os conceitos de rede mais importantes

Entenda formas de comunicação

  • Entenda o que é unicast
  • Entenda o que é broadcast
  • Entenda o que é multicast
  • Entenda o que é anycast
  • Entenda a diferença entre unicast e multicast

Entenda NAT

  • Entenda o que é para que serve?
  • Entenda o que é PAT e qual a diferença pro nat?

Entenda essa tal de VLAN, 802.1Q (alto nível)

  • Entenda o que é VLAN
  • Entenda para que usamos uma VLAN e sua importância

Videos Prof. Paulo Kretcheu

Entenda DHCP

  • Entenda para que serve o DHCP
  • Entenda como funciona o DHCP
  • Entenda o dhcp process (discovery, offer, request, ack )
  • Entenda o dhcp lease
  • Entenda como configurar um interface de rede para uso de DHCP
    • ambiente debian-like
    • ambiente redhat-like
  • Conheça e veja um arquivo de configuração de algum dhcp server.

Videos Prof. Paulo Kretcheu

Entenda DNS

DNS Fundamentos

  • Entenda para que serve o DNS
  • Entenda como funciona a infraestrutura de DNS
  • Conheça as RFCs 1034 e 1035
  • Entenda a relação da IANA e DNS
  • Entenda a relação da ICANN e DNS

DNS estrutura

  • Entenda uma árvore de DNS
  • Entenda o que são os RootServers
  • Entenda como funciona a DNS Database
  • Entenda o que é um Registrar de DNS

DNS Domínios

  • Entenda o que é um TLDN
  • Entenda o que é um FQDN

DNS como serviço

  • Entenda o que é um servidor de autoridade DNS
  • Entenda o que é um servidor de cache de DNS
  • Entenda o que é pesquisa recursiva e como funciona
  • Entenda o que é uma zonas de DNS
  • Entenda o que é TTL de uma zona
  • Entenda o que são registros de DNS
  • Entenda quais são os tipos de registro de DNS
  • Entenda o que é um DNS Reverso e IP Reverso

DNSSEC

  • Entenda o que faz e como faz

DNS no Brasil

  • Conheça o NIC.Br
  • Entenda o Registro.Br

Principais implementações de serviços de DNS

  • Conheça Projeto BIND
  • Conheça Projeto PowerDNS
  • Conheça Projeto UnBound DNS

Troubleshooting

  • Aprenda a usar DIG para fazer troubleshooting de DNS
  • Aprenda a usar NSLOOKUP para fazer troubleshotting de DNS

Arquivos importantes no SO para lidar com DNS

  • Entenda o arquivo /etc/hosts
  • Entenda o arquivo /etc/resolv.conf
  • Entenda o arquivo /etc/nsswitch.conf

Definições principais

Definições sobre infraestrutura de DNS

Definições sobre domínios

Implementações mais comuns de serviço de DNS

Implementações de DNS para Kubernetes

Entidades que administram DNS no Brasil

RFCs

Videos Prof. Paulo Kretcheu

Entenda os protocolos de serviços para WEB

Entenda e conheça o protocolos para web

  • HTTPv1
    • Conheça os principais códigos de retorno do HTTP
      • 404 not-found
      • 503 service unavailable
      • 200 ok
    • Conheça os grupo de códigos HTTP
      • 500-599 erros do servidor
      • 400-499 erros do cliente
      • 300-399 redirecionamentos
      • 200-299 repostas de sucesso
      • 100-199 repostas de informacao
    • Entenda os principais verbos ou métodos HTTP
      • GET
      • POST
      • PUT
      • DELETE
  • HTTPv2
    • Entenda o que mudou
    • Entenda no que você precisa ficar mais atento
  • HTTPS
    • Entenda Como funciona
    • Entenda por que é importante
    • Entenda como implementar em seu projeto e infra

Entenda Transport Layer Security ou TLS

  • Entenda para que serve
  • Entenda como funciona
  • Entenda a diferença de SSL para TLS

Entenda o que são certificados

  • Entenda para que servem certificados
  • Entenda o que é uma CA
  • Entenda o que é um certificado wildcard
  • Entenda o que é um certificado auto assinado

Aprenda trabalhar com openssl

  • Entenda como criar certificados auto assinados
  • Entenda como ler informações de certificados

Aprenda a trabalhar com letsencrypt e certbot

  • Entenda o projeto letsencrypt
  • Entenda o certbot
    • Entenda como gerar certificados standalone
    • Entenda como gerar um certificado simples
    • Entenda como gerar um certificado wildcard
    • Entenda como gerar um certificado usando DNS
    • Aprenda a usar o plugin CloudFlare
    • Aprenda a usar o plugin Route53
    • Aprenda a usar o plugin GCP
  • Entenda como usar certbot com webservers
    • Aprenda a usar o plugin para NGINX
    • Aprenda a usar o plugin para Apache HTTPd
    • Aprenda a usar o plugin para HAPROXY
  • Entenda como renovar certificados
  • Entenda como automatizar a renovação de certificados
  • Entenda o cert-manager

Implementações de TLS

LetsEncrypt, Certbot e Cert-Manager

Entenda o NTP

  • Entenda o que é o Network time Protocol ou NTP
    • Conheça as principais implementações do NTP server
    • Conheça o timesyncd (parte do projeto systemd)
    • Conheça o chrony (usado em redhat systems)
    • Conheça o ntpd (ntp.org)
    • Conheça o principal cliente NTP, ntpdate
    • Entenda o que é timezone e sua ligação com NTP

Comparações entre implementações NTP

Entenda o network filesystem ou NFS

  • Entenda o que é o NFS
  • Entenda para que serve o NFS
  • Entenda como montar um volume NFS
  • Conheça um servidor NFS e seu arquivo de configuração

Conheça e entenda o protocolo LDAP de autenticação

  • Entenda o que é o LDAP
  • Entenda para que serve o LDAP
  • Entenda como integrar sua ferramenta a um serviço LDAP
  • Entenda como integrar seu Linux com um serviço LDAP

Entenda o protocolo SSH para acesso remoto

  • Entenda o que é SSH e para que ele serve
    • Entenda o funcionamento do SSH Client
    • Conheça um arquivo de config exemplo
    • Entenda o funcionamento do SSH Server
    • Conheça um arquivo de config exemplo
    • Entenda o funcionamento do comando SCP
    • Entenda o funcionamento do SFTP
    • Entendo o funcionamento do RSYNC com SSH
    • Entenda o funcionamento do Tuneling
    • Entenda o funcionamento do Port Forward
    • Entenda o funcionamento do X Forward
    • Entenda o funcionamento do Jump Server
    • Entenda o conceito de Bastion Host

Conheça os protocolos de correio mais comuns

  • Entendo o protocolo de envio ou SMTP
  • Entenda o protocolo de acesso ao correio ou IMAP
  • Entenda o protocolo de download de mensagens de correio ou POP

conheça soluções de segurança para correio eletrônico

  • Entenda a política de proteção de envios SPF
  • Entenda a proteção de domínios DKIM
  • Entenda a proteção DMARC

Protocolos

Segurança no correio

Dicas do Antispam[.]br

Entenda o que é VPN

  • Entenda o que é uma vpn?
  • Entenda para que serve?
  • Entenda os tipos mais comuns
    • Entenda o tipo REMOTE ACCESS
    • Entenda o tipo POINT TO POINT
    • Entenda o tipo IPSEC

Aprenda a trabalhar com openvpn

  • Entenda o uso de um cliente cli openvpn
  • Conheça exemplo de config de servidor openvpn

Aprenda a trabalhar com wireguard

  • Entenda o uso de um cliente cli wireguard
  • Conheça exemplo de config de servidor wireguard

Aprenda a trabalhar com ipsec

  • Entenda o que preciso saber sobre ipsec
  • Conheça os projetos e implementações mais importantes
    • Conheça o projeto openswan
    • Conheça o projeto strongswan
    • Conheça o projeto libreswan

Definição

Protocolos

Projetos de VPN que implementam PPTP e L2TP

Projetos de VPN que implementam IPSEC

Redes no Linux

Entenda configuração de redes no linux

  • Entenda o que são interfaces ethernet
    • Entenda que é mac address
    • Entenda os tipos de configuração de interface
    • Entenda como criar uma interface BOND
    • Entenda como criar uma interface BRIDGE
    • Entenda como criar uma interface VLAN
    • Entenda como criar uma interface VIRTUAL
    • Entenda como criar uma interface LOOPBACK
  • Entenda como configurar interfaces
    • Entenda a configuração em sistemas debian like
    • Entenda a configuração em sistemas redhat like
    • Entenda a configuração usando netplan
  • Entenda como usar ferramentas
    • Aprenda a usar o ifconfig, netstat
    • Aprenda a usar o ip, ss
    • Aprenda a usar o ethtool

Entenda roteamento no Linux

  • IP ROUTE
    • Entenda como funciona
    • Entenda como ver rotas
    • Entenda como criar rotas
    • Entenda como deletar rotas
    • Entenda como ver e criar tabelas e rotas para tabelas
    • Entenda como persistir rotas de forma estática

Entenda filtro de pacotes no linux

  • IPTABLES Packet Filter
    • Entenda para que serve e como funciona
    • Entenda a tabela filter
    • Entenda a cadeia foward
    • Entenda a cadeia ouput
    • Entenda a cadeia input
    • Entenda a tabela nat
    • Entenda cadeia prerouting
    • Entenda cadeia forwarding
    • Entenda cadeia output
    • Entenda cadeia postrouting
    • Aprenda a fazer um DNAT
    • Aprenda a fazer um SNAT
    • Aprenda a fazer um Redirect
    • Aprenda a fazer um Masquerade
    • Entenda tabela Mangle
    • Aprenda a marcar pacotes para roteamento
    • Conheça a tabela RAW
    • Conheça a tabela Security

Docker

  • Entenda a relação entre Iptables e Docker

Básicos

Avançados

Entenda técnicas e ferramentas de troubleshooting

Testando a conectividade

  • Aprenda a usar netcat para testes de conectividade
  • Aprenda a usar telnet para testes de conectividade
  • Aprenda a usar CURL e WGET para interagir com sites
  • Aprenda a usar CURL e WGET para fazer download

Analisando tráfego

  • Aprenda a usar tcpdump
  • Aprenda a usar wireshark e tshark

Redes no Linux

  • Aprenda a ver portas abertas e portas listen
  • Aprenda a ver conexões estabelecidas
  • Aprenda como encontrar processo que abriu uma porta
  • Aprenda a usar o PING
  • Aprenda a usar o Traceroute
  • Aprenda a usar o MTR

Material complementar

Assuntos com conexão direta e indireta com redes

Entenda o que é um Load Balancer

  • Entenda o que faz um Load Balancer?
    • Entenda Load Balancer HTTP (camada 7)
    • Entenda Load Balancer TCP (camada 4)
    • Entenda estratégias de LB
    • Entenda RoudRobin
    • Entenda Weighted Round Robin
    • Entenda Least Connection
    • Entenda IP HASH
    • Entenda o conceiro de Stick Session
  • Qual a diferença entre um LB 4 e 7?

Entenda o que é um Reverse Proxy

  • Entenda o que faz e para que serve?
  • Entenda Qual sua relacao com load balancers?
  • Exemplos
    • Config no NGINX
    • Config no HAPROXY

Entenda o que é High Availbility

  • Entenda o que é HA (high availbility) ?
  • Entenda quando usar

Entenda o que é Escalabilidade

  • Entenda o que significa escalar?
  • Entenda o que é escalabilidade horizontal?
  • Entenda o que é escalabilidade vertical?

Elasticidade

  • Entenda o que significa?

Entenda o que são APIs

  • Entender o que são ENDPOINTS
  • Entender o que é REST
  • Conheça o que é SOAP
  • Usando CURL para consumir uma API

Entenda o que é cloud-init

  • Entenda o que é e para que serve
  • Entenda como funciona
  • Aprenda a usar

Outras coisas que vale a pena ler

  • zeroconf
  • bonjour

Termos comuns para entender

Comuns

  • Bastion host
  • Jump /Jump Server
  • Redirect
  • Nat
  • Masquerede
  • Timezone
  • VPN
  • WebService

Erros e problemas

  • Time Out/Timed out
  • DOS
  • DDOS
  • Outage
  • Unavailable

Não tão comuns

  • MTTR
  • IaC
  • SDN

Termos especiais

  • Gambeta/Gambiarra/Solução Extraordiária Temporária #SQN :P
  • POG

Amarrando as pontas

Esse post é uma tentativa de dar um norte ou um caminho para se tornar uma pessoa sólida em redes, entendendo quais são os aspectos fundamentais e necessários para o dia-a-dia na vida profissional.

Se você conseguir ler, estudar, pesquisar e responder as perguntas, entender, conhecer e aprender os assuntos, estará no caminho certo.

Aquele abraço!

Mando aquele abraço para o professor MESTRE Ulysses Almeida (@ulyssesalmeida) que me ensinou boa parte destes conceitos no início desse século.

Mando aquele abraço para o Pizza (José Pissin) que me apresentou o Software Livre e isso mudou a minha vida.

Mando aquele abraço pro @gomex e @badtux que via exemplo me fazem contribuir mais e mais e mais :)

Mando aquele abraço para todos que leram, comentaram, revisaram e contribuiram de alguma forma com esse post!

[s]
Guto

Este post é do tipo #TLDR, entenda aqui.

Se gostou manda um alo no twitter @gutocarvalho ou deixa um comentário bacana :)


Gostou do conteúdo?

Você também me encontra nessas redes!

Mastodon

@gutocarvalho@bolha.us

PixelFed

@gutocarvalho@bolha.photos

Lemmy

@gutocarvalho@bolha.forum

WriteFreely

@gutocarvalho@bolha.blog @notamental@bolha.blog @poesias@bolha.blog @contos@bolha.blog

Bookwyrm

@gutocarvalho@bolha.review

Peertube

@gutocarvalho@bolha.tube

Friendica

@gutocarvalho@bolha.network

Quer saber mais sobre mim?

Visite meus sites!

E meus blogs:

Conhece o Coletivo Bolha?

Então vem conhecer o bolha.io ou bolhaverso!

Nós temos muito mais para compartilhar contigo!

Quer apoiar nosso trabalho? Você pode!

Te vejo no mastodon da bolha.us!

[s]

Garantindo acesso às comunidades no caso de ficarmos sem Telegram, vem entender!

Gente, eleições estão chegando e o telegram está na mira do TSE, ele mesmo, a rede queridinha das comunidades de TI no Brasil.


Me siga no twitter @gutocarvalho e acompanhe meus posts sobre Cloud Native e CI/CD.

Aproveite e siga a CD Foundation e Cloud Native Foundation e acompanhe o trabalho destas incríveis entidades.


Qual o problema?

O fato é que que o alto comando do Telegram simplesmente não responde nenhuma notificação do governo ou da justiça Brazuca, e estes por sua vez já avisaram que se continuarem assim, é provavel o bloqueio do APP nas redes de nosso país.

Vale lembrar que o core do Telegram, bem como sua criptografia são projetos fechados, dos quais não podemos auditar e verificar.

Juntando isso com a guerra que estourou na Ucrânia e as sanções ao invasor Russo, temos dois fortes motivos para ficar com o pé atrás no caso do Telegram, afinal é um projeto de origem russa, que tem como dono um bilionário Russo com várias coisas obscuras em sua história e trajetória até hoje.

Com receio do cenário atual ter algum reflexo em nossas comunidades, eu fiquei pensando em como preservar os grupos que eu apoio no Telegram e construir um plano B no caso de corte dessa rede que usamos para compartilhar e aprender.

Indo no caminho de uma solução alternativa eu revisitei o projeto Matrix.

O que é o projeto Matrix.org?

O Matrix.org é um projeto que tem como objetivo criar padrões abertos para comunicação em tempo real, sendo descentralizado e tendo em mente segurança com forte criptografia, performance e escalabilidade.

Fundação Matrix

O projeto é mantido pela Matrix Foundation, entidade sem fins lucrativos que além de organizar o desenvolvimento do projeto, roda também a plataforma matrix.org (synapse) como ponto de partida, disponível para federação com outras instâncias matrix/synapse.

Pronto para produção

O projeto está na rua há algum tempo e já saiu do beta em 2019, podendo rodar em produção com segurança.

Ele tem mensagens de texto, áudio, vídeo, voip e criptografia séria, é beeeeem completão, além de ser 100% open-source e tem também recursos de moderação excelentes.

Do ponto de vista de mídias, ele suporta quase todos os tipos de arquivos de imagem, áudio e vídeo conhecidos.

Moderação de alto nível

O projeto em endereça as principais preocupações para fazer a gestão de comunidades tais como:

  • Garantir que moderadores de salas tenham as ferramentas necessárias para fazer o enforce do código de conduta que eles aplicam
  • Garantir que os administradores dos servidores tenham as ferramentas necessárias para fazer o enforce do termo de uso de suas instâncias
  • Garantir que os usuários consigam filtram conteúdo que não desejam ver

Junto a isso a moderação oferece:

  • Remoção de mensagens em canais
  • Gerenciamento de nomes e termos abusivos para salas e tópicos
  • Power Levels, ou poderes granulares para usuários em salas
  • Kick e ban de usuários
  • Ban por IP
  • Bloqueio de usuário
  • Moderação de canal
  • Um moderador de sala pode banir um servidor específico da sala

Dentre muitos outros recursos, entre no link abaixo para saber mais

Segurança moderna

O projeto oferece o que tem de mais moderno em criptografia E2E. O sistema de criptografia do matrix visa garantir que apenas os destinatários de uma mensagem consigam decriptogafar e ler seu conteúdo. O sistema avisa inclusive se outros dispositivos foram adicionados a conversa.

A criptografia do Matrix é baseada no “Double Ratchet Algorithm” popularizada pelo projeto Signal (que é considerado o mais seguro hoje). Ela foi baseada e estendida para que o mesmo nível de criptografia funcione em salas com milhares de dispositivos e usuários. Além disso, a criptografia do Matriz foi auditada de forma independente pelo grupo NCC o que traz uma segunda opnião sobre a qualidade da solução implementada. Vale lembrar que o relatório do grupo NCC é de 2016 e todas as issues apontadas já foram resolvidas.

APIs, Bots e SDK's

O matrix tem um API bem flexível e dá para rodar bots, integrar com seus sistemas fazendo aquele chatops bacana.

Implementações de servidores

Você pode rodar sua própria instância/server do Matrix e se quiser pode integrar/federar com os outros servidores existentes.

Implementações de clientes

Existe o element.io que é um cliente fantástico para mobile, desktop e web, mas ele não é o único, existem diversos projetos de cliente Matrix

Conectando redes via Bridges

Fora isso tudo, uma das características mais interessantes do projeto Matrix é a integração com virtualmente qualquer outro projeto de comunicação, tais como irc, slack, telegram, whatsapp, mattermost, rocketchat, discord dentre outros, a integração é feita através do que eles chamam de bridges.

Com a bridge você pode estender um canal do telegram para o matrix por exemplo, conectar ao discord, irc e com isso unificar sua comunidade.

Quer saber mais?

Se você curtiu o projeto, vai gostar da loja deles, vai lá :)

Matrix na FOSDEM 22

O FOSDEM de 2022 aconteceu dentro das redes do Matrix e isso foi um grande marco, me impressionou e me fez revisitar o projeto com outro olhar.

Teve uma trilha inteira na FOSDEM dedicada ao Matrix

Com isso sabemos inclusive que é possível utilizá-lo para eventos online

Por essa razão eu achei que era o momento de criar meu plano B lá na rede da Matrix.org já que seus recursos são tão interessantes.

O que eu fiz?

Eu criei os seguintes canais no matrix.org – dos quais eu ajudo a manter – e conectei aos mesmos canais no telegram.

#cicd-br (canal #cdnbr no telegram)
#gitops-br
#cloudnative-br
#macusers-br
#tecladomecanico
#gitlab-br
#docker-br
#devops-br
#terraform-br
#packer-br
#ansible-br
#devopsdays-br

Aproveitei para criar também os canais abaixo – que não estão sob minha administração no telegram – só falta pedir autorização dos donos e conectá-los

#kubernetes-br
#rancher-br

E vou conversar com os gestores dos canais no telegram para verificar se conseguimos linkar os canais no Matrix, claro que os donos serão os admins também, já assumo esse compromisso aqui.

Ah subi também um cliente do element web para testar

Está rodando na minha casa, pode ser um pouco lento, é só para testes hein :)

Por que mudar?

Esse é um primeiro passo para um movimento que considero importante, migrar comunidades de tecnologias open-source para uma rede igualmente open e segura, mantida por uma fundação sem fins lucrativos, acessível, responsável e transparente.

O Element.io é um cliente tão bom quanto ou até superior ao próprio cliente do telegram para mobile, desktop ou web, se a questão é usabilidade, ele oferece algo em um mesmo nível de qualidade e usabilidade.

O que usei para fazer a bridge?

Usei o projeto matterbridge que já uso e acompanho há muitos anos. Inicialmente o projeto foi criado para conectar outras redes ao MatterMost, contudo, ele cresceu e se tornou flexível o suficiente para conectar diferentes redes entre si.

Segue o arquivo de configuração do matterbridge.


[general]
MediaDownloadSize="3000000"

########################## [ matrix section ]

[matrix]

[matrix.nativetrail]
Server="https://matrix.org"
Login="user"
Password="pass"
NoHomeServerSuffix=false
HTMLDisable=false
UseUserName=false
RemoteNickFormat="[{PROTOCOL}] <{NICK}> "
ShowJoinPart=false
StripNick=false
ShowTopicChange=false

########################## [ telegram section ]

[telegram]

[telegram.nativetrail]
Token="Token"
MessageFormat=""
DisableWebPagePreview=false
UseFirstName=false
UseInsecureURL=false
QuoteDisable=false
QuoteLengthLimit=0
QuoteFormat="{MESSAGE} (re @{QUOTENICK}: {QUOTEMESSAGE})"
MediaConvertWebPToPNG=false
EditDisable=false
EditSuffix=" (edited)"
RemoteNickFormat="[{PROTOCOL}] <{NICK}> "
ShowJoinPart=false
StripNick=false
ShowTopicChange=false

########################## [ gateway config ]

[[gateway]]
name="matrix-telegram-canal-cloudnative"
enable=true
    [[gateway.inout]]
    account="matrix.nativetrail"
    channel="#cloudnative-br:matrix.org"

    [[gateway.inout]]
    account="telegram.nativetrail"
    channel="-1001375583910"

[[gateway]]
name="matrix-telegram-canal-cicd"
enable=true
    [[gateway.inout]]
    account="matrix.nativetrail"
    channel="#cicd-br:matrix.org"

    [[gateway.inout]]
    account="telegram.nativetrail"
    channel="-1001283833531"

[[gateway]]
name="matrix-telegram-canal-tecladomecanico"
enable=true
    [[gateway.inout]]
    account="matrix.nativetrail"
    channel="#tecladomecanico:matrix.org"

    [[gateway.inout]]
    account="telegram.nativetrail"
    channel="-1001208515699"

[[gateway]]
name="matrix-telegram-canal-macusers"
enable=true
    [[gateway.inout]]
    account="matrix.nativetrail"
    channel="#macusers-br:matrix.org"

    [[gateway.inout]]
    account="telegram.nativetrail"
    channel="-1001052488672"

[[gateway]]
name="matrix-telegram-canal-gitops"
enable=true
    [[gateway.inout]]
    account="matrix.nativetrail"
    channel="#gitops-br:matrix.org"

    [[gateway.inout]]
    account="telegram.nativetrail"
    channel="-1001375992764"

Aqui o dockerfile que usei para validar.

version: '3.7'
services:
  matterbridge:
    image: 42wim/matterbridge:1.24
    restart: unless-stopped
    volumes:
    - ./matterbridge.toml:/etc/matterbridge/matterbridge.toml:ro

Em breve solto os manifestos k8s e depois o pacote helm do matterbrige.

Quais serão os meus próximos passos?

Quero estudar mais sobre o Matrix, conhecer outras implementações do server como o dendrit, conhecer outros clientes, entender melhor sua criptografia para extrair mais dela, entender melhor sua API, estender o alcance das bridges no telegram, ajudar quem quiser construir a sua bridge e talvez começar a fazer meetups da CD.Foundation utilizando Matrix.org + Jitsi.

Depois do FOSDEM e da imensa POC que eles fizeram, no momento o limite é nossa criatividade :)

[s]
Guto


Este post é do tipo #FalaGutera, entenda aqui.

Se gostou manda um alo no twitter @gutocarvalho.


Gostou do conteúdo?

Você também me encontra nessas redes!

Mastodon

@gutocarvalho@bolha.us

PixelFed

@gutocarvalho@bolha.photos

Lemmy

@gutocarvalho@bolha.forum

WriteFreely

@gutocarvalho@bolha.blog @notamental@bolha.blog @poesias@bolha.blog @contos@bolha.blog

Bookwyrm

@gutocarvalho@bolha.review

Peertube

@gutocarvalho@bolha.tube

Friendica

@gutocarvalho@bolha.network

Quer saber mais sobre mim?

Visite meus sites!

E meus blogs:

Conhece o Coletivo Bolha?

Então vem conhecer o bolha.io ou bolhaverso!

Nós temos muito mais para compartilhar contigo!

Quer apoiar nosso trabalho? Você pode!

Te vejo no mastodon da bolha.us!

[s]

Acompanhe o vídeo e se prepare para mais conteúdo ainda neste mês!


[s]
Guto

--

Este post é do tipo #MindNotes, entenda aqui.

Se gostou manda um alo no twitter @gutocarvalho.


Gostou do conteúdo?

Você também me encontra nessas redes!

Mastodon

@gutocarvalho@bolha.us

PixelFed

@gutocarvalho@bolha.photos

Lemmy

@gutocarvalho@bolha.forum

WriteFreely

@gutocarvalho@bolha.blog @notamental@bolha.blog @poesias@bolha.blog @contos@bolha.blog

Bookwyrm

@gutocarvalho@bolha.review

Peertube

@gutocarvalho@bolha.tube

Friendica

@gutocarvalho@bolha.network

Quer saber mais sobre mim?

Visite meus sites!

E meus blogs:

Conhece o Coletivo Bolha?

Então vem conhecer o bolha.io ou bolhaverso!

Nós temos muito mais para compartilhar contigo!

Quer apoiar nosso trabalho? Você pode!

Te vejo no mastodon da bolha.us!

[s]

Essa semana eu encontrei esse post bacana sobre K8S Multi-Cluster.


Vai lá e dá uma lida.

- Simplifing Multi-Cluster in Kubernetes - CNCF Blog

Recomendo a leitura!

[s]
Guto

--

Este post é do tipo #MindNotes, entenda aqui.

Se gostou manda um alo no twitter @gutocarvalho.


Gostou do conteúdo?

Você também me encontra nessas redes!

Mastodon

@gutocarvalho@bolha.us

PixelFed

@gutocarvalho@bolha.photos

Lemmy

@gutocarvalho@bolha.forum

WriteFreely

@gutocarvalho@bolha.blog @notamental@bolha.blog @poesias@bolha.blog @contos@bolha.blog

Bookwyrm

@gutocarvalho@bolha.review

Peertube

@gutocarvalho@bolha.tube

Friendica

@gutocarvalho@bolha.network

Quer saber mais sobre mim?

Visite meus sites!

E meus blogs:

Conhece o Coletivo Bolha?

Então vem conhecer o bolha.io ou bolhaverso!

Nós temos muito mais para compartilhar contigo!

Quer apoiar nosso trabalho? Você pode!

Te vejo no mastodon da bolha.us!

[s]

Temos visto grandes empresas se envolvendo e assinando o manifesto que tem sido assunto nas redes nos últimos dias.

O Manifesto Tech foi criado para endereçar um problema de escassez de mão de obra atuando na formação de base, como dizem por aí, plantar júnior para colher sênior. Uma de suas grandes promessas é reduzir as exigências para pessoas que estão começando e investir na formação destas.

Eu vejo como uma mudança positiva, alguns como uma mudança necessária e até tardia, outros estão aguardando para ver se vai funcionar.

O fato é que ele tem um foco em resolver problemas de empresas, isso está muito claro no início do manifesto. O que falta nele é trazer a realidade de quem trabalha na empresa e por isso elaborei esse complemento para tentar ajudar nessa reflexão e construção coletiva.


Me siga no twitter @gutocarvalho e acompanhe meus posts sobre Cloud Native e CI/CD.

Aproveite e siga a CD Foundation e Cloud Native Foundation e acompanhe o trabalho destas incríveis entidades.


Ideias e sentimentos

Falei com muita gente, li muita coisa nas redes, combinei tudo isso com algumas experiências pessoais e construí esse complemento para o manifesto tech, totalmente livre, use quem quiser usar.

Aqui trago valores e desejos que vi, ouvi e senti do lado das pessoas que trabalham nas empresas de TI Brazucas.

Neste texto eu tentarei considerar e demonstrar desejos e sentimentos.

Escreverei como parte de um grupo, e fique a vontade para se identificar parte se concordar e se encontrar com as ideias aqui descritas.

Escrevo tranquilo pois sei que não estou sozinho, nem no sentimento, nem nos desejos.

Valores que desejamos encontrar em uma empresa

Nós desejamos uma cultura saudável e humana que enfatize e ofereça:

  • Respeito

  • Empatia

  • Inclusão

  • Colaboração

Ambiente que desejamos encontrar em uma empresa

Precisamos:

  • Ambiente seguro para se estar e trabalhar

Desejamos:

  • Políticas claras contra assédio e quaisquer outras condutas inadequadas no ambiente de trabalho.

Esperamos:

  • Punições duríssimas contra agressores

  • Apoio total e sem julgamento para as vítimas

Características que desejamos encontrar em uma empresa

  • Cultura centrada em pessoas

  • Investimento na base com foco em ensinar e formar

  • Investimento para reter as pessoas mais experientes

  • Encontrar condições de crescimento reais e concretas

  • Encontrar um plano de capacitação contínua

  • Poder crescer sem pivotar para gestão

  • Mais foco no que se entrega, menos em microgerenciamento

  • Estimular mais colaboração e menos competição

  • Normalizar e estimular o trabalho remoto

  • Incorporar princípios da cultura blameless e devops

  • Construir uma cultura colaborativa com base em princípios humanos

  • Plano de remuneração justo e progressivo

  • Plano de benefícios justo e progressivo

  • Apoio psicológico em tempos de pandemia (e fora dela)

  • Participação em lucros para que todos cresçam juntos

  • Poder escolher entre remuneração ou folga em caso de trabalho adicional

Entendimentos que precisam estar alinhados em ambos os lados

  • Uma empresa é formada de pessoas, sem elas não há empresa

  • Da mesma forma entendemos que empresas geram oportunidades para pessoas e movimentam a economia de nosso país

  • Entendemos que as necessidades de uma empresa precisam estar em equilíbrio com as necessidades de quem trabalha nela, ambos são essenciais e precisam coexistir de uma forma saudável

O que desejamos enquanto profissionais

  • Respeitar e ser respeitado

  • Se sentir parte da empresa

  • Se sentir valorizado(a)

  • Ser ouvido(a) e se sentir ouvido(a)

  • Ajudar a empresa crescer e atingir suas metas

  • Crescer junto com a empresa

Ações que iremos apoiar sempre e que desejamos ver acontecer

  • Investimento na base prioritáriamente formando pessoas

  • Construção de equipes diversas

  • Geração de oportunidades para minorias

  • Formação de lideranças onde pessoas se sintam representadas

Amarrando as pontas

Acredito que isso é que pessoas esperam hoje, e talvez as empresas possam ir de encontro com essas expectativas, expandindo e demonstrando no manifesto que eles se preocupam não só em mudar a forma de contratar, mas sim em mudar a forma de se relacionar e se comportar com as pessoas dentro de suas empresas.

Post relacionado

Veja também o post Meus pensamentos sobre o Manifesto Tech.

[s]
Guto


Este post é do tipo #FalaGutera, entenda aqui.

Se gostou manda um alo no twitter @gutocarvalho.


Gostou do conteúdo?

Você também me encontra nessas redes!

Mastodon

@gutocarvalho@bolha.us

PixelFed

@gutocarvalho@bolha.photos

Lemmy

@gutocarvalho@bolha.forum

WriteFreely

@gutocarvalho@bolha.blog @notamental@bolha.blog @poesias@bolha.blog @contos@bolha.blog

Bookwyrm

@gutocarvalho@bolha.review

Peertube

@gutocarvalho@bolha.tube

Friendica

@gutocarvalho@bolha.network

Quer saber mais sobre mim?

Visite meus sites!

E meus blogs:

Conhece o Coletivo Bolha?

Então vem conhecer o bolha.io ou bolhaverso!

Nós temos muito mais para compartilhar contigo!

Quer apoiar nosso trabalho? Você pode!

Te vejo no mastodon da bolha.us!

[s]

Vejo que o pessoal nas redes tem debatido de forma intensa o manifesto tech, alguns defendendo, outros criticando, algo bem normal, como tudo na vida.

Acompanhando as redes, principalmente o twitter e telegram vejo que existe muita coisa interessante nos dois lados da conversa.

Quer saber o eu que penso sobre isso tudo?

Bora lá.


Antes de mais nada, me siga no twitter @gutocarvalho e acompanhe meus posts sobre Cloud Native e CI/CD.

Aproveite e siga também a CD Foundation e a Cloud Native Foundation.


Precisamos considerar o momento

O manifesto chega no mesmo momento que está dificil reter e contratar talentos, coincidência ou não.

E reforço sobre esse momento, empresas estão com muita dificuldade de contratar, principalmente profissionais experientes. Algumas estão entrando em desespero porque não tem equipe para entregar o que já foi vendido para o ano.

Empresas estão com muito dificuldade de reter os mais experientes, o assédio no linkedin e em outras redes sociais profissionais está acima do normal.

Em resumo, o mercado está aquecido, tem muita oferta dentro e fora do Brasil.

Precisamos entender os movimentos de fora

O mercado de fora está nadando de braçada por causa da cotação do dólar, estão levando times inteiros de uma vez só, e estou falando de grandes empresas perdendo seus profissionais, empresas que conseguem competir com salário acima da média do mercado.

As empresas de fora estão contratando profissionais com alta qualidade, alto desempenho e muita criatividade a custos baixíssimos para o mercado deles.

Do ponto de vista dos profissionais, basta se virar razoavelmente no inglês que as ofertas passam dos 20 mil reais por mês sem muito esforço.

O trabalho é geralmente como contractor (PJ) e a cultura focada na entrega, trabalhando remoto, no conforto de casa e não tem relógio de ponto.

Precisamos rever a cultura do mercado brazuca

O mercado interno continua com alguns problemas crônicos:

  • Cultura inadequada para contratar com requisitos irreais
  • Apesar dos requisitos irreais a remuneração não é atrativa
  • Contratar só seniors esquecendo de investir na base
  • Muito foco no relógio de ponto e pouco foco no valor agregado
  • Insistem em posições presenciais quando não é necessário
  • Só se sobe de carreira virando gestor
  • Cultura interna sem foco em pessoas
    • Isso afasta os mais jovens
    • Isso não retém os mais antigos

Precisamos respeitar as críticas ao manifesto

Vejo pessoas trazendo críticas justas de problemas que são crônicos e que já passaram da hora de serem resolvidos.

Vejo as pessoas desconfiadas com o momento trazendo questionamentos importantes, tais como:

  • porque só agora?
  • porque justamente no momento que empresas estão desesperadas?
  • porque justamente no momento que os talentos estão indo embora do BR?

Vejo pessoas apontando que o manifesto tem objetivo em resolver uma questão pontual do lado das empresas, esquecendo dos problemas das pessoas.

Precisamos respeitar os signatários

Esse movimento é muito importante e precisamos aceitar isso.

Vejo o movimento das empresas como algo positivo, eles estão se mexendo, tentando dar um norte para a TI do Brasil seguir, estão tentando se adequar e isso é importante, não dava mais para ficar inerte e ver a mão de obra desaparecer ou fingir que a cultura deles ainda funciona.

Obviamente a mudança dentro das empresas é mais lenta, complicada e nem sempre muda como precisa, mas já ganham pontos por tentarem.

Meus pensamentos sobre investir na base

Acho fundamental desde que realmente formem as pessoas.

As vagas para JR hoje tem requisitos insanos, isso tem que mudar, JR a gente pega para ensinar, isso tem que ficar claro e ser o novo normal.

A cultura precisa mudar, não só a postura, ao que me parece estão tomando uma nova postura em relação a contratar e formar pessoas.

Como disse um amigo, eles querem plantar JRs para colherem SRs.

Mas será que vai funcionar, IMHO?

Estamos vivendo um momento único, muito peculiar, e todos estão tentando se adaptar a ele, empresas e pessoas.

Se mudarem de postura sem mudar de cultura, eles estarão capacitando pessoas para perder daqui a dois ou três anos para as mesmas empresas de fora.

Agora, se mudarem de cultura e criarem condições para que as pessoas fiquem, proporcionando crescimento de carreira, desafios reais e concretos, oportunidades de capacitação e uma remenuração adequada, eu realmente acho que pode funcionar.

As mudanças na cultura também passam por mudanças de comportamento dentro da empresa, em especial com seus times. Hoje todos querem trabalhar em um ambiente seguro, livre de assédio, tendo respeito e empatia como cernes da relação, além de bons incentivos e benefícios.

Se a empresa não consegue oferecer isso, de nada adianta assinar o manifesto.

O que poderia ser diferente, IMHO?

Acho que os valores humanos deveriam estar mais evidenciados e fazer parte do TOP 3 ou criar um TOP 5 deixando claro que o objetivo é criar uma cultura centrada em pessoas para que assim a empresa alcance seus objetivos e para que as pessoas cresçam junto com a empresa, ficando por lá por muitos anos.

Não existem empresas sem pessoas, não se atinge metas sem pessoas, não se entrega valor sem pessoas, então, acho que já é hora de assumir isso.

As necessidades da empresa tem que estar em equilibrio com as necessidades das pessoas que trabalham nela.

Como ir além e tentar surtir mais efeito?

Acho que faltou endereçar os problemas culturais crônicos – brazucas – no manifesto, assumindo claramente que precisamos evoluir juntos, empresas e pessoas.

Acho que faltou dar o recado de que cultura tóxica – que ainda existe em muitas empresas – tem que ser condenada e extinta.

Acho que faltou deixar claro que pessoas são o foco nessa mudança de postura e de cultura das empresas Brazucas signatárias. O foco nos jovens é sensacional, mas temos que ir além.

Acho que manifesto poderia ser mais amplo e incluir plenos, seniors e especialistas, afinal eles não são inimigos. Acredito que no momento eles não estão encontrando as condições adequadas para se manter no mercado Brazuca e somente isso, nem todos querem ser gestores para terem uma melhor remuneração, nem todos querem trabalhar para fora para serem valorizados, mas no fim foi o que conseguiram. Apesar de tudo, acho que com um pouco de esforço dá para acomodar todo mundo, basta cada um ceder um pouco, empresas e pessoas.

Amarrando as pontas

Esses foram meus 50 cents na discussão, que continuem falando disso e que novas versões deste manifesto sejam lançadas conforme a percpeção de pessoas e empresas evoluem – de preferência o façam juntos.

Alguns posts que podem dar umas ideias sobre cultura de TI em 2022.

[s]
Guto


Este post é do tipo #FalaGutera, entenda aqui.

Se gostou manda um alo no twitter @gutocarvalho.


Gostou do conteúdo?

Você também me encontra nessas redes!

Mastodon

@gutocarvalho@bolha.us

PixelFed

@gutocarvalho@bolha.photos

Lemmy

@gutocarvalho@bolha.forum

WriteFreely

@gutocarvalho@bolha.blog @notamental@bolha.blog @poesias@bolha.blog @contos@bolha.blog

Bookwyrm

@gutocarvalho@bolha.review

Peertube

@gutocarvalho@bolha.tube

Friendica

@gutocarvalho@bolha.network

Quer saber mais sobre mim?

Visite meus sites!

E meus blogs:

Conhece o Coletivo Bolha?

Então vem conhecer o bolha.io ou bolhaverso!

Nós temos muito mais para compartilhar contigo!

Quer apoiar nosso trabalho? Você pode!

Te vejo no mastodon da bolha.us!

[s]

Manifesto para o mercado de tecnologia brasileiro


Ele foi lançado recentemente e confesso que ainda estou refletindo sobre ele, mas já dá para ver que as empresas signatárias são fortes e que estão tentando dar uma direção para contratações e também buscam abordar mudanças de cultura nas empresas.

Ainda estou lendo com calma e vou opinar assim que me sentir confortável, mas parece que o manifesto tá fazendo bastante barulho nas redes.

Então vai lá e tire suas próprias conclusões!

https://manifestotech.org/

[s]
Guto


Gostou do conteúdo?

Você também me encontra nessas redes!

Mastodon

@gutocarvalho@bolha.us

PixelFed

@gutocarvalho@bolha.photos

Lemmy

@gutocarvalho@bolha.forum

WriteFreely

@gutocarvalho@bolha.blog @notamental@bolha.blog @poesias@bolha.blog @contos@bolha.blog

Bookwyrm

@gutocarvalho@bolha.review

Peertube

@gutocarvalho@bolha.tube

Friendica

@gutocarvalho@bolha.network

Quer saber mais sobre mim?

Visite meus sites!

E meus blogs:

Conhece o Coletivo Bolha?

Então vem conhecer o bolha.io ou bolhaverso!

Nós temos muito mais para compartilhar contigo!

Quer apoiar nosso trabalho? Você pode!

Te vejo no mastodon da bolha.us!

[s]

O kuma é um service mesh que roda em cima do envoy.


Me siga no twitter @gutocarvalho e acompanhe meus posts sobre Kubernetes, Cloud Native e CI/CD.

Aproveite e siga também a CD Foundation e Cloud Native Foundation.


O kuma funciona no kubernetes, no openshit e também em ambiente de virtual machines e aparentemente suporta múltiplos meshs em um mesmo cluster.

Características de segurança:

  • Mesh / Muli-mesh
  • Mutual TLS (MTLS)
  • Traffic Permissions

Características de controle de tráfego:

  • Traffic Route & Control
  • Health Check
  • Observability
  • Service Discovery
  • Faulty Injection
  • Circuit Breaker
  • Rate Limit
  • Retries
  • Virtual Onbound

Características de observabilidade:

  • Traffic Metrics
  • Service Map
  • Traffic Trace
  • Traffic Log

O Kuma foi construído em volta do projeto Envoy e traz embarcado o Kong Gateway.

Uma das coisas interessantes que li sobre o projeto é que tem a capacidade de funcionar multi-cluster, multi-cloud e multi-zone na mesma cloud.

Ele também traz um dashboard bem intuitivo para trabalhar.

Conversei com alguns Cloud Engineers que falaram muito bem dele.

Tá na fila para estudar!

[s]
Guto

Este post é do tipo #MindNotes, entenda aqui.

Se gostou manda um alo no twitter @gutocarvalho.


Gostou do conteúdo?

Você também me encontra nessas redes!

Mastodon

@gutocarvalho@bolha.us

PixelFed

@gutocarvalho@bolha.photos

Lemmy

@gutocarvalho@bolha.forum

WriteFreely

@gutocarvalho@bolha.blog @notamental@bolha.blog @poesias@bolha.blog @contos@bolha.blog

Bookwyrm

@gutocarvalho@bolha.review

Peertube

@gutocarvalho@bolha.tube

Friendica

@gutocarvalho@bolha.network

Quer saber mais sobre mim?

Visite meus sites!

E meus blogs:

Conhece o Coletivo Bolha?

Então vem conhecer o bolha.io ou bolhaverso!

Nós temos muito mais para compartilhar contigo!

Quer apoiar nosso trabalho? Você pode!

Te vejo no mastodon da bolha.us!

[s]