Redes de Computadores e topologias: Endereçamento IPv4 e IPv6, máscaras e subredes;
Topologia Estrela topologia em estrela utiliza cabos de par trançado e um concentrador como ponto central da rede (geralmente um switch). O concentrador se encarrega de retransmitir todos os dados para todas as estações, mas com a vantagem de tornar mais fácil a localização dos problemas, já que se um dos cabos, uma das portas do concentrador ou uma das placas de rede estiver com problemas, apenas o nó ligado ao componente defeituoso ficará fora da rede.
Topologia Anel os dispositivos são conectados em série, formando um circuito fechado (anel). Os dados são transmitidos unidirecionalmente de nó em nó até atingir o seu destino. Uma mensagem enviada por uma estação passa por outras estações, através das retransmissões, até ser retirada pela estação destino ou pela estação fonte.
Topologia Malha é muito utilizada em várias configurações, pois facilita a instalação e configuração de dispositivos em redes mais simples. Todos os nós estão atados a todos os outros nós, como se estivessem entrelaçados. Já que são vários os caminhos possíveis por onde a informação pode fluir da origem até o destino. Um exemplo é a própria internet
Fibra Óptica – É um fino fio revestido internamente de vidro que transmite raios de luz em vez de frequências elétricas. Como a luz viaja muito mais depressa do que a eletricidade, a velocidade de transmissão através de fibras ópticas é muito maior que os meios antecessores de transmissão
O cabo coaxial, é amplamente usado em TVs a cabo e há algum tempo suplantou o fio de par trançado como meio de conexão. Há dois condutores em um cabo coaxial. Um deles é um fio simples no centro do cabo, o outro é uma blindagem que envolve o primeiro cabo com um isolante no meio. Embora tenha o mesmo condutor do par trançado, o cabo coaxial, devido a sua proteção, consegue transportar mais dados.
Cabo par trançado é um tipo de cabo que tem um par de fios entrelaçados um ao redor do outro para cancelar as interferências eletromagnéticas de fontes externas e interferências mútuas entre cabos vizinhos
IPv4 | IPv6 |
32 bits (4 bytes) de tamanho | 128 bits (16 bytes) de tamanho |
Cada endereço corresponde a uma conexão, que muitas vezes é dividia entre vários PCs | Com tanto endereços, cada computador terá o seu endereço real na internet |
Um IP é binário, mas podem ser armazenados como o texto para leitores humanos. Cada numero pode ser entre 0 e 255. | Um IPv6 são 128-bit endereço IP escrito em hexadecimal e separado por dois pontos. |
IPSec é opcional e deverá ser suportado externamente | O suporte ao IPSec não é opcional |
Pode ser configurado manualmente ou por DHCP | Não requer configuração manual ou DHCP |
Deve suportar um tamanho de pacotes de 576 byte | Deve suportar um tamanho de pacotes de 1280 byte (sem fragmentação) |
IPv4 – exemplo 192.168.0.1 / localhost 127.0.0.1
IPv6 – exemplo 2001:0DB8:AD1F:25E2:CADE:CAFE:F0CA:84C1 / localhost ::1
Conceitos Básicos Redes TCP/IP: Protocolos IP, TCP, UDP, ICMP, SNMP, IPv4/6, HTTP, HTTPS;
Aplicação | http, smtp, pop, imap, ftp, dhcp, dns, telnet |
Apresentação | criptografia (ssl e tls), codificação, compactação |
Sessao | estabelece sessão de inicio e fim de conexão |
Transporte | TCP, UDP |
Rede | Roteador, pacote, endereço IP |
Enlace | Switch, quadro, endereço mac |
Física | HUB, bits brutos, energia elétrica, cabos de rede |
IP – Protocolo da internet – endereço (números)
TCP – protocolo de transmissão controlada => – veloz + confiável (camada transporte)
UPD – protocolo de transmissão sem controle => mais veloz – confiável (camada transporte)
ICMP – (ping) protocolo de mensagem de controle da Internet
porta 20/21 ftp – transferência de arquivos
porta 22 ssh – acesso remoto com segurança
porta 23 telnet – acesso remoto em segurança
porta 25/587 SMTP – gerencia de e-mail
porta 53 dns – conversão nomes / ip (udp – para resolução de nomes, tcp – para transferência de zona)
porta 67 dhcp – distribuição de ip / configuração de rede (utiliza UDP)
porta 69 tftp – transferência de arquivos simples
porta 79 finger – informações de usuários
porta 80 http – transferência de hipertexto
porta 110 pop – recebimento de e-mail
porta 123 ntp – sincronização data/hora
porta 143 imap – recebimento e-mail não destrutivo
porta 161/162 snmp – gerenciamento de conexões
porta 443 https – transferência de hipertexto com criptografia
Conceitos de AAA (Authentication, Authorization e Accounting);
Autenticação – identidade o usuário de um sistema
Autorização – recursos autorizados ao usuário já autenticado
Auditoria – coleta de informações do uso dos recursos do sistema
Aplicativos para auxílio no monitoramento e diagnóstico de rede (netstat, ssh, ping, tcpdump, traceroute, nmap)
netstat – mostra as conexões
-a => lista todas as conexões e portas abertas
-at => aplica um filtro (-t) listando apenas as portas TCP
-au => aplica um filtro (-t) listando apenas as portas UTP
-r => mostra a tabela de rotas
-i => fornece uma estatística de volume de dados trafegados em cada interface
-p => somente mostra os programas “donos” das conexões para o root
ssh – conectar em um terminal remoto com criptografia
ping – testar conectividade de rede com ICMP
traceroute – permite descobrir a rota que os pacotes seguem até o destino, funciona atraves do TTL do cabeçalho IP, a cada vez que passa por 1 routeador o TTL é decrementado. Quando TTL atingir valor 1, ele não é mais encaminhado e o roteador responde com ICMP informando seu IP. Por padrão ele faz 30 saltos
-f TTL, –first=TTL => Definir o valor de TTL inicial da sondagem, em vez de 1.
-n => Exibir endereços numéricos em vez de nomes
-I, –icmp => Usar mensagens de eco ICMP para sondagem
-T, –tcp => Usar segmentos TCP SYN para sondagem
-m TTL_MAX, –max-hops=TTL_MAX => Especificar o número máximo de saltos (hops), ou o valor máximo do TTL que o traceroute irá sondar. O padrão são 30 saltos.
-V => Imprimir versão e sair
-w segundos => Definir o timeout (tempo de espera de uma resposta) para pacotes ICMP retornados em segundos, em vez do padrão, que são 5 segundos.
-q número => Definir o número de consultas por salto.
nmap – identificar os hosts e IPs ativos em uma rede, bem como os sistemas operacionais que eles estão executando
nmap -sS => scanea sem fechar o HandCkeck
nmap -sT => scanea com HandCkeck
nmap -sS -p 80 => scanea porta 80
nmap -sS -F => scanea as 100 portas mais comuns
nmap -sU => scanea UDP
tcpdump – ferramenta indispensável para soluções de problemas de rede
-i interface => Especificar a interface de rede a partir da qual o tráfego será capturado. Se for usado o parâmetro any, o programa irá capturar pacotes em todas as interfaces ativas na máquina.
-c num => Sair após capturar num pacotes
-D => Mostrar uma lista das interfaces de rede no sistema que estão disponíveis e nas quais o tcpdump pode capturar pacotes.
-n => Não realizar a resolução de nomes
-r arquivo => Ler os pacotes a partir de arquivo, o qual foi criado anteriormente com a opção -w
-w arquivo => Escrever os pacotes em arquivo, emvez de mostrá-los formatados na saída padrão
-X => Mostrar o conteúdo do pacote em Hexadecimal e ASCII; se for usado -XX, também mostrará o cabeçalho Ethernet.
src IP/Nome => Capturar pacotes originados apenas do host com o IP ou hostname especificado.
dst IP/Nome => Capturar pacotes destinado apenas ao host com o IP ou hostname especificado.
greater BYTES, > BYTES => Capturar apenas pacotes que sejam maiores que BYTES
less BYTES, < BYTES => Capturar apenas pacotes que sejam menores que BYTES
port NUM => Trabalhar com pacotes destinados ou originados de uma porta específica NUM
portrange A-B => Capturar pacotes cujas portas estejam no intervalo entre A e B.
A and B => Capturar os pacotes somente se satisfizerem às condições A e B simultaneamente
A or B => Capturar os pacotes se satisfizerem à condição A ou à condição B, ou a ambas
not A => Capturar os pacotes que não satisfaçam à condição A.
-v => Produzir uma saída ligeiramente mais detalhada. Algumas informações adicionais são exibidas, tais como os valores dos campos TTL, Identificação, Comprimento Total e Opções do pacote IP.
-vv => Saída mais detalhada do que a opção -v. Por exemplo, pacotes SMB são completamente decodificados.
Conceitos de Serviços de Rede: Serviço de Resolução de Nomes (DNS) => DNS – traduz nomes (ou domínios) de host para endereços únicos de IP. A ICANN (Internet Corporation
for Assigned Names and Numbers) é responsável por fornecer o nome de domínios a um endereço IP. Por sua vez o serviço de DNS controlam para que o nome leve ao IP. Confira algumas entradas de DNS:
elemento | Descrição |
A | Apontam diretamente para um endereço IP |
CNAME | Apontam para outro endereço (um apelido por exemplo) |
MX | Apontam para o servidor de e-mail que responde pelo domínio |
NS | servidores DNS que respondem pelo domínio |
Conceitos de roteamento de pacotes entre redes => os equipamentos reesposáveis por isto são os roteadores (aprender caminhos, receber pacotes e encaminhar pacotes), ele pode aprender os caminhas de forma manual (rota estática), de forma automática (rota dinâmica) e ou troca de informações de rotas utilizando protocolos, tudo isto é guardada em uma tabela de roteamento.
Ainda falando de roteamento, protocolo de roteamento interno (IGP) tem como principais protocolos utilizados o OSPF e o ISIS, já no protocolo externo (EGP) é mais utilizado o BGP4
Aplicativos para auxílio no monitoramento e diagnóstico de sistemas UNIX (top, ps, df, find, more, grep, cat, tail, free);
top => mostra processos em tempo real no sistema em execução
-d atraso – padrao é 5 seg
-i ignora processos ociosos
-n num – exibe numero de interações e depois termina
-b roda em modo batch =. para salvar em arquivo
ps => manipulação de processos
ps a => todos os processos do usuario
ps au => todos os processos do usuario e outros usuarios
ps aux => todos os processos do usuario e outros usuarios e todos os processos
df => mostra utilização do disco
df -h => mostra utilização do disco de maneira simples
find => encontrar arquivo ou diretórios
find ./ -name “arquivo” => busca todos os arquivos find ./ -iname “arquivo” => busca todos os arquivos (iname => case sensitive)
find ./ -type f -not -name “.htmtl” => busca todos os arquivos nao html find ./ -type f -name “.htmtl” => busca todos os arquivos html
find ./ -mtime -7 -type f => busca todos os arquivos que foram alterados em 7 dias
-type f arquivo
-type d diretorio
-mtime 5 => busca arquivos modificados há 5 dias
-atime 5 acessados há 5 dias
-size 40M => busca arquivos de tamanho 40M
Conceitos de Aplicações de Gerenciamento de Conteúdo (CMS)
CMS, sigla para Content Management System, é um sistema utilizado para otimizar a gestão de conteúdo online. usado para facilitar a disponibilidade de informações da web, focando apenas no conteúdo, não se preocupando com a parte técnica. Segue exemplos de CMS do mercado:
WordPress;
Drupal;
Magento;
Moodle;
Joomla.
Conceitos básicos de virtualização de servidores
A virtualização é a criação da versão virtual de um sistema operacional, um servidor, um sistema de armazenamento, etc. Dividir os recursos de um hardware (servidor físico) em diversos servidores virtuais que podem ser usados com finalidade diferentes.
O software responsavel por dividor os recurso do hardware é o hipervisor, que fica sucumbido de criar e executar as máquinas virtuais (VMs). Também chamado de monitor da máquina virtual (VMM), pssibilita isolar o sistema operacional do hipervisor e os recursos das máquinas virtuais e permite a criação e o gerenciamento dessas máquinas.
Quando usado como hipervisor, o hardware físico é chamado de host (hospedeiro), enquanto as diversas máquinas virtuais que utilizam seus recursos são chamadas de guests (convidados).
Hipervisor
Tipo 1 – bare-metal ou nativo => executa diretamente no no hardware do host para gerenciar as VMs, substituindo o sistema operacional do hospedeiro. Muito usado em Datacenters. Exemplos: KVM, Microsoft Hyper-V e VMware vSphere
Tipo 2 – hosted => executa em um sistema operacional convencional como uma camada de software ou aplicação. Seu uso é comum para quem deseja executar vários sistemas operacionais em um computador pessoal. Exemplos: VMware Workstation e Oracle VirtualBox
Conceitos básicos de segurança
Entende-se como possiveis ameaça a segurença da informação, furto de dados, uso indevido de recursos, varredura, interceptação de tráfego, exploração de vulnerabilidade, ataque de negação de serviço, ataque de força bruta, ataque de personificação.
Algumas formas de tentar proteger as informações são:
Firewall => pode ser via software e hardware, que baseado em um conjunto de regras ou instruções, analisa o trafego de rede e determina a transmissão ou recepção do dado ou não. Para tal analise o firewall verifica o cabeçalho de cada pacote que entra na rede geralmente baseado no IP usado e o numero da porta especificado no cabeçalho (TCP ou UDP).
Firewall Stateless => analisa pacotes individuais, usando regras predefinidas para filtrar o tráfego
Vantagens Firewall Stateless
Tráfego pesado não é páreo para firewalls sem estado, que funcionam bem sob pressão sem se prender aos detalhes.
Os firewalls sem estado têm sido historicamente mais baratos de comprar, embora atualmente os firewalls com estado tenham caído significativamente de preço.
Desvantagens Firewall Stateless
Os firewalls sem estado não inspecionam o tráfego.
O firewall sem estado também não examina um pacote inteiro, mas decide se o pacote atende às regras de segurança existentes.
Esses firewalls requerem alguma configuração para chegar a um nível de proteção adequado.
Firewall Stateful => monitora e detectar estados de todo o tráfego em uma rede para rastrear e defender com base em padrões e fluxos de tráfego
Vantagens do Stateful Firewall
Os firewalls dinâmicos são altamente qualificados para detectar tentativas não autorizadas ou mensagens forjadas.
A poderosa memória retém os principais atributos das conexões de rede.
Esses firewalls não precisam de muitas portas abertas para uma comunicação adequada.
Os firewalls dinâmicos oferecem amplos recursos de registro e prevenção robusta contra ataques.
Um sistema inteligente, firewalls stateful baseiam as decisões de filtragem futuras na soma cumulativa de descobertas passadas e presentes.
Contras do Stateful Firewall
As vulnerabilidades podem permitir que um hacker comprometa e assuma o controle de um firewall que não esteja atualizado com as versões de software mais recentes.
Alguns firewalls com estado podem ser enganados para permitir ou mesmo atrair conexões externas com uma ação tão simples quanto visualizar uma página da web.
Os ataques man-in-the-middle podem apresentar maiores vulnerabilidades.
WAF => Aplicação Web Firewall, basicamente é uma proteção entre o site e a internet, o qual visa proteger contra Hackers, SQL Injection, Ataque de Negação, Spammers entre outros riscos.
UTM => um sistema de proteção de dados que utiliza softwares e hardwares, pode agregar filtragem stateful até antivírus.
DMZ => zona desmilitarizada, fica entre a rede local e a internet
Proxy => é um intermediario entre a requisição web que tem como objetivo avaliar esta solicitação para simplificar e controlar sua complexidade, pode ajudar a acelerar as requisições de serviços ao recuperar um conteúdo salvo de re-quisição anterior, independentemente de qual usuário da rede local tenha feito.
Antivírus => programa informático que tem o propósito de detectar e eliminar vírus e outros pro-gramas prejudiciais antes ou depois de ingressar no sistema.
Antispam => Bloqueio afim de evitar emails indesejados e não solicitados.
IDS => Sistema Especialista em Detecção de Intrusão, mecanismo capaz de identificar ou detectar a presença de atividades intrusivas
IPS => prevenção de intrusão, que tem por objetivo impedir possíveis ataques
IDPS => recurso híbrido de detecção e prevenção acoplado como uma única solução
FIREWALL => iptables
filter => tabela padrão para manipular pacotes de rede que entra, atravessa ou sai do PC (cadeias => input, output e forward)
nat => usada para alterar pacotes que criam uma nova conexao, e para redirecionar conexoes para NAT (cadeias => prerounting, output e posrounting)
mangle => usada para tipos especificos de alterações (modificar opções do cabeçalho IP de um pacote) (cadeias => prerounting, output, posrounting, input e forward)
raw => marca pacotes que não devem ser manioulados pelo sistema de rastreamento de conexoes (cadeias => prerounting e output)
INPUT => aplica regras aos pacotes que chegam ao server
OUTPUT => aplica regras aos pacotes priginados e que partem do server
FORWARD => aplica regras ao pacotes roteados atrsvés do server (para outro sever ou ountra interface de rede no mesmo servidor)
PREROUTING => altera pacotes quado eles chegam e antes do roteamento. Usado para DNATE (Destination NAT)
POSTROUTING => altera pacotes apoós o roteamento. Usado para SNAT (Source NAT)
Estrutura => iptables = subcomando chain parametro_1 valor_1 parametro_n valor_n ação
Ações iptables: (-j)
ACCEPT – pacote permitido
DROP – descartar pacote
QUEUE – enviar o pacote ao userspace (cod fora do kernel)
RETURN – descontinuar o processamento do pacote e aplicar regra padrão nele
Ações adicionais iptables: (-j)
REJECT – descarta o pacote e envia feedback ao remetente
DNAT – reescreve endereço de destino (NAT)
SNAT – reescreve endereço de origem (NAT)
LOG – coloca no log inf. sobre o pacote
Alguns parametros
-t tabela
-j ação
-p protocolo (icmp, tcp, udp, all)
-s IP origem
-d IP destino
-i interface entrada
-o interface saida
–sport porta origem
–dport porta destino
Comandos iptables:
-A anexa a regra no final da cadeia especificada
-F limpa todas regras
-L lista todas regras
-N cria nova cadeia com o nome desejado
-P configura a regra padrao da cadeia
-D apaga uma regra em uma posição na cadeia
-X exclui uma cadeia vazia
-I insere uma regra em uma posição na cadeia
Inserir uma regra no início de uma chain
iptables [-t ] -I -j
Inserir uma regra no final de uma chain
iptables [-t ] -A -j
Remover uma regra de uma chain
iptables [-t ] -D -j
Alterar a política de uma chain
iptables -P
Listar as regras de uma chain
iptables [-t ] -L [-n]
Remover todas as regras de uma chain
iptables -F
Bloquear porta tcp (ssh)
iptables -I INPUT -p tcp –dport 22 -j DROP
Bloquear porta para um destino específico (ssh)
iptables -I INPUT -p tcp -s 10.0.0.0/8 –dport 22 -j DROP
Bloquear porta (ssh) e logar tentativas de conexão
iptables -I INPUT -p tcp –dport 22 -j LOG
iptables -A INPUT -p tcp –dport 22 -j DROP
Bloqueando o tráfego de saída para um local específico
iptables -I OUTPUT -o wlan0 -p tcp –dport 80 -j DROP
iptables -I OUTPUT -o wlan0 -p tcp -d 10.1.2.3 –dport 80 -j DROP
iptables -I OUTPUT -o wlan0 -p tcp -d 10.1.2.3 -m multiport \ –dports 22,80 -j DROP
Firewall statefull
iptables -I INPUT -mstate –state ESTABLISHED,RELATED -j ACCEPT
iptables -I OUTPUT -mstate –state ESTABLISHED,RELATED -j ACCEPT
iptables -I FORWARD -mstate –state ESTABLISHED,RELATED -j ACCEPT
Regra de NAT N:1 (Mascaramento)
iptables -t nat -I POSTROUTING -o eth0 -s 10.1.2.0/24 -j MASQUERADE
Regra de NAT 1:1
iptables -t nat -A POSTROUTING -s 10.1.2.4 -j SNAT –to 200.1.2.4
iptables -t nat -A PREROUTING -d 200.1.2.4 -j DNAT –to 10.1.2.4
Redirecionamento
iptables -t nat -A PREROUTING -s 10.0.0.0/8 -p tcp –dport 80 -j REDIRECT –to-port 3128
Ativar redirecionamento de Pacotes:
echo “1” >/proc/sys/net/ipv4/ip_forward