Torne o login no Facebook mais seguro.

Por Sem Comentários , , , ,

Quinta-feira fiz um post sobre o 2-step verification e até aí não sabia que o Facebook tinha uma função parecida com essa. @urma comentou comigo no Twitter, então decidi fazer um post.

A idéia é mesma do 2-step verification do Google, ter uma camada a mais de segurança no login. Para ativar você deve acessar a parte de segurança nas configurações de sua conta.

Eu já tinha o número do celular cadastrado no perfil, então ele já exibiu o número e enviou um código via SMS e coloquei na janela abaixo.

Em seguida me é solicitado o nome do computador que estou usando, uma forma de identificar os dispositivos que acessam a conta.

Se você acha que receber uma SMS com o código é suficiente basta fechar e salvar as configurações, contudo se você preferir ter um gerador de código assim como é com o Google Authenticator prossiga.

Para mim a SMS está mais do que suficiente, mas mesmo assim ia deixar ativo o gerador de código, onde a pessoa acessa o aplicativo do Facebook e usa o código informado para completar a autenticação.

        

Infelizmente comigo o código não era aceito e só vejo uma explicação para isso, tenho o aplicativo instalado no smartphone e no tablet, mas não vou atrás disso no momento porque como disse antes com a SMS já está bom.

E aí, já ativou? ;)

Imagens: Facebook e Krix

2-step verification no Debian/Ubuntu

Por Sem Comentários , , ,

Neste post vou mostrar para você como instalar e configurar o Google Authenticator junto com o SSH.

Para começar instale o libpam-google-authenticator.

[krix@rogue]$ sudo apt-get install libpam-google-authenticator

Em seguida execute o google-authenticator para gerar a chave secreta e adicionar o arquivo no home do usuário.

[krix@rogue]$ google-authenticator
https://www.google.com/chart?chs=200x200&chld=M|0&cht=qr&chl=otpauth://totp/krix@sorceress%3Fsecret%3DKKKKKKKKKKKKKKKK
 
Your new secret key is: KKKKKKKKKKKKKKKK
Your verification code is 065211
Your emergency scratch codes are:
42231304
79413861
58506139
15737255
89850700
 
Do you want me to update your "~/.google_authenticator" file (y/n) y
 
Do you want to disallow multiple uses of the same authentication
token? This restricts you to one login about every 30s, but it increases
your chances to notice or even prevent man-in-the-middle attacks (y/n) y
 
By default, tokens are good for 30 seconds and in order to compensate for
possible time-skew between the client and the server, we allow an extra
token before and after the current time. If you experience problems with poor
time synchronization, you can increase the window from its default
size of 1:30min to about 4min. Do you want to do so (y/n) y
 
If the computer that you are logging into isn't hardened against brute-force
login attempts, you can enable rate-limiting for the authentication module.
By default, this limits attackers to no more than 3 login attempts every 30s.
Do you want to enable rate-limiting (y/n) y

Use o aplicativo do Google Authenticator para ler o QRCode gerado ou adicione manualmente:

          

Para ativar esta autenticação no ssh você precisa alterar o arquivo /etc/pam.d/sshd.

[krix@rogue]$ sudo vi /etc/pam.d/sshd
 
auth required pam_google_authenticator.so

No arquivo de configuração do ssh adicione a linha abaixo:

[krix@rogue]$ sudo vi /etc/ssh/sshd_config 
 
ChallengeResponseAuthentication yes

Reinicie o SSH para que as alterações sejam carregadas.

[krix@rogue]$ sudo service ssh restart

Agora é só testar :)

[krix@rogue]$ ssh localhost
Verification code:
Password:

Você pode fazer isso não somente para o SSH, mas para o login. Basta adicionar a linha abaixo no arquivo de configuração do lightdm ou do gdm:

auth required pam_google_authenticator.so

2-step verification, você usa?

Por 1 Comentário , , ,

O 2-step verification nada mais é do que uma segunda camada de segurança para acessar uma conta no Google e, para o nosso bem, esta função não só tem ficado nele, serviços como o Dropbox (que já falei aqui) e Meraki, usam isso para garantir uma maior segurança no acesso as contas.

Funciona da seguinte forma: Quando é informado o login e senha de acesso a sua conta do GMail, por exemplo, você será direcionado a uma página que irá solicitar um código contendo seis dígitos e somente depois de informar eles é que poderá acessar sua conta.

Agora de onde vem estes seis dígitos? Bem, existem 3 formas de fazer isso de forma simples. A primeira usando os códigos que mudam a cada 30 segundos no aplicativo Google Authenticator, tem versões para Android, Blackberry e iPhone.

A segunda é usando a tabela com códigos de backup que foi dada quando a função foi ativada na conta.

A terceira é receber uma sms no número de telefone cadastrado. Estas duas últimas opções são mais para situações onde não se tem um aparelho com o Google Authenticator instalado ou para quando se perde o mesmo.

Para os aplicativos que usam as contas do Google, como por exemplo um cliente de email, a forma de acesso muda também mas não é preciso ficar informando o código de segurança todas as vezes que for acessar.

Na página de configuração do 2-step tem uma parte chamada application-specific paswords onde você irá gerar uma senha formada por 16 letras para um determinado aplicativo.

Tava falando como usar e esqueci de falar onde ativar, relevem ;)

Para ativar você deve ir na parte de segurança nas configurações da sua conta no Google, lá vai ter a opção do 2-step aí você ativa :)

Na página do suporte do Google tem um tópico explicando esta função com mais detalhes caso tenha interesse.

Já ativou? ;)

Diretórios Montados Via SSH

Por Sem Comentários , , ,

Olá,

Se você acha chato ficar usando o comando scp onde, tem-se que digitar aquelas informações e depois digitar a senha para poder assim transmitir algo, é melhor utilizar o SSHFS. O SSHFS (Secure SHell FileSystem) é um sistema de arquivo capaz de operar arquivos de um computadore remoto, ou seja, é como se você montasse o diretório de um outro computador no seu ou onde você montou. Ele usa o SSH (Secure Shell) para fazer o login no computador remoto.

A implementação de onde o SSHFS será montado é feita por meio de um módulo do Kernel chamado FUSE (Filesystem in Userspace).

A instalação é bem rápida e simples:

[krix@rogue]# apt-get install sshfs

Adicione seu usuário no grupo fuse:

[krix@rogue]# usermod -a -G fuse krix

Crie um diretório onde você irá montar o diretório do computador remoto:

[krix@rogue]# mkdir  /media/videos

Montando um diretório:

[krix@rogue]# sshfs  krix@192.168.5.86:/backup /media/videos

Onde:

krix = É o login do usuário;
192.168.5.86 = É o IP do computador remoto, também podendo ser o nome do servidor;
/backup = É o diretório no computador remoto que irei montar;
/media/videos = É o diretório criado na máquina local onde terá /backup montando.

Desmontando o diretório:

[krix@rogue]# fusermount -u /media/pcremoto

:wq!

Port Scan

Por Sem Comentários ,

Olá,

Semana passada fiz uma breve apresentação sobre Port Scan, nada muito super trabalhado, coisa simples, além do que não há na verdade muito o que se falar sobre o assunto.

Então, deixando de muita conversa, estou deixando aqui o PDF para que vocês possam dar uma olhada e caso tenham críticas e sugestões construtivas, serão bem vindas.

PDF de Port Scan

:wq!

Criando Uma Chave de Acesso SSH

Por Sem Comentários , , ,

Olá,

Hoje em dia é algo bastante comun quando se vai logar em algum servidor você usar uma chave ssh para logar via rede. A geração é bastando simples, apesar de parecer complicadíssimo pra quem não sabe ou quem está aprendendo…

[krix@rogue]$ ssh-keygen -t [rsa/rsa1/dsa] -f /home/$USER/.ssh/id_[rsa/identity/dsa] -b [1024/2048]

Blz! Mas pra que serve esse -t, -f, -b e o que danado é ssh-keygen?? Abaixo coloquei uma explicação bem rápida sobre a função de cada uma das opções deste comando:

-t é referente ao tipo do algoritmo usado para a geração da chave.

-f designa o caminho onde ficará a sua chave.

-b é referente a quantidade de bits usado pelo algoritmo.

ssh-keygen é o utilitário que irá gerar o par de chaves pública/privada onde no servidor o qual desejo acessar deve conter minha chave pública, somente, para poder conseguir logar via chave. Lembre-se a privada é so e exclusivamente sua.

Espero que tenha ajudado.

:wq!

Tópicos do Segurança de Redes

Por Sem Comentários

Essa semana fiz uma prova sobre segurança em redes na universidade e enquanto estudava fiz um txt formado por tópicos com mini resumos sobre o que iria cair na prova. E hoje estou postando justamente esse txt.
PS: Críticas construtivas e elogios são bem vindos!

———————————————————–
AMEAÇAS DIGITAIS

ATAQUES ATIVOS

# DOS / DDOS
- Ataque de negação de serviço distribuído.
- O ataque provem de múltiplas máquinas que encontram-se na net, onde muitas vezes, ou até mesmo em sua maioria, nem sabem que estão sendo usadas para fazer um ataque ficando dessa forma como se fosse uma rede com um mestre e vários zombies atacando uma vítima indefesa.
- Por utilizar muitas máquinas para realizar o ataque fica difícil o combate por não se sabe de onde provém o ataque.
- Causa a vítima: Quebra de sistema, cosumo de resursos, entre outros.

# SYN FLOOD
- Ataque de negação de serviço.
- É enviado a o servidor (vítima) uma grande quantidade de segmentos SYN com o IPs origem falsos, onde por natureza ele aloca serviços para atender a solocitação de conexão e manda os SYN-ACK para os endereços IPs falsos e espera um ACK para estabelecer a conexão na verdade nunca irá receber e dessa forma acaba “intupindo” o servidor de forma a chegar um ponto que o mesmo não mais atenderá a novas requisições de segmentos SYN, mesmo sendo oriundos de IPs verdadeiros.

# PING DA MORTE

- Envio de pacotes TCP/IP de tamanho inválidos para servidores, acarretando o seu travamento ou ao impedimento de trabalho.
- O atacante manda um pacote ping tendo como IP origem o IP vitima e como endereço de destino o endereço de broadcast da rede. Todos da rede mandam resposta para a vitima.

# BUFFER OVERFLOW
- Sobrescreve o próprio código em execução.
- Tem o objetivo de executar algum código, ou conseguir acesso administrativo na máquina.
- Causa um estouro de pilha.


ATAQUES PASSIVOS

# SNIFFING
- Extremamente diícil a detecção.
- Bastante silencioso e também muito usado.
- Captura todo o texto claro e comunicações não encriptadas que trafeguem pela rede.

# FORÇA BRUTA
- Testa todos os caracteres possíveis até que consiga acesso.

# ATAQUES DE DICIONÁRIO
- Reduz sensivelmente o tempo de quebra.
- Testa modificando para o estilo Hackish: c@73dr@l, p1c0c@…


CÓDIGOS MALICIOSOS

# VÍRUS
- Auto replicante.
- Contudo não tem vida própria, precisa ser executado para poder ser ativado.

# WORMS
- Auto replicante, contudo não altera o arquivo.
- Quase que imperceptível, normalmente sendo descober quando o recurso já está bastante consumido.
- Comtaminação muito comum através de emails.
- Diferente do vírus, não precisa ser executado para ser ativado.

# TROJANS
- Normalmente escondido em um programa que aparenta ser legítima.
- Assim como os vírus precisa ser executado para ser ativado.
- Não se auto replica.
- A intenção de seu uso é ter acesso remoto a máquina da vítima.

SEGURANÇA EM COMUNICAÇÃO

VPN (Virtual Private Network)
- Método seguro de transmissão de dados através de uma rede pública.
- Tem como técnicas para emular uma rede privada real: Criptografia e Tunelamento.
- Requer três protocolos: Entrega, Encapsulamento – englobando PPTP, L2TP, IPSec, Secure Shell – e Passageiro – os dados.
- As VPNs podem ser:
¬ host-to-host – Entre duas máquinas.
¬ host-to-site – Entre uma máquina e um grupo de máquinas.
¬ site-to-site – Entre dois grupos de máquinas.
¬ acesso remoto – Emula a infra-estrutura de uma rede privada para ser usada em uma rede pública num compartilhamento.
-
RFC 4265.

RADIUS (Remote Autentication Dial-In User Service)
- Criado pela Livingston Enterprises.
- Define protocolo para autenticação tendo pontos de controle distribuídos.
- Acesso remoto a VPN.
- Os clientes conversam diretamente com o ServerRADIUS:

CLT –> NAS* –> SRVRDS

- Base de dados AAA descentralizada.
- Cifra da mensagem somente o usuário e a senha.
- Engloba dois tipos de mensagens: Uma com a Autorização e Autenticação e a outra com a Auditoria.
- Utiliza UDP
- RFC 2865 e 2866.
*NAS: Network Access Service – Serviço de Acesso à Rede.

TACACS+ (Terminal Access Concentrator Access-Control Server)

- A mesma finalidade do RDS.
- Ao contrário do RDS ele cifra toda a mensagem.
- Engloba três tipos de mensagens: Uma com Autorização, outra com Autenticação e outra com Auditoria.
- Utiliza UDP.
- RFC 1432 e RFC 0927.

PPTP (Point-to-Point Tunneling Protocol)
- Tendo a Microsoft como proprietária.
- Os dados enviados pela conexão PPTP têem o quadro PPP encapsulado com um cabeçalho GRE*.
- Usa RCA para criptografia.
- Cifra os dados transmitidos, contudo os dados da negociação da conexão ficam em texto claro.
- Utiliza o TCP.
- RFC 2637.
*GRE: Generic Routing Encapsulation – Protocolo de encapsulamento

L2TP (Layer 2 Tunneling Protocol)
- Padrão da IETF*, que tem a participação da Cisco e do PPTP fórum, entre outros líderes de mercado.
- Precisa de outro protocolo para fazer a criptografia, geralmente usa-se o IPSec.
- Encapsula os dados não os cifra.
- Normalmente implementado em hardware.
- Utiliza o UDP.
- RFC 2661.
*IETF: Internet Engineering Task Force

PPTP / L2TP
- Ambos são protocolos de tunelamento da camada 2.
- No código desses dois protocolos existem mensagens que permite a eles criarem uma “ponte” para que ocorra a junção entre criptografia e controle de acesso ao tunelamento.

SSH (Secure Shell)
- Subistituto do Telnet, rlogin, rcp e rsh.
- Cifra os dados transmitidos.
- Utiliza chaves de sessão individuais por cliente
- Ambos são protocolos de tunelamento da camada 2.
- As chaves públicas são trocadas, verificadas e somente depois o túnel é estabelecido para poder ser enviado o usuário e a senha.
- RFC 4251.

IPSEC (Internet Protocol Security Protocol Suite)
- Protocolo de tunelamento, trabalhando na camada de rede.
- O algoritmo de criptografia é definido por quem está implementando.
- Implementado de duas formas:
¬ Modo Transporte: Cifra somente os dados, tornando-se assim mais rápido. Normalmente usado em VPNs Host-to-Host. Ficando após a cifragem dos dados o cabeçalho IPSec entre o cabeçalho IP e o payload cifrado.
¬ Modo Túnel: Cifra dados e cabeçalho, sendo mais lento. Ficando após a cifragem dos dados o cabeçalho IPSec entre o cabeçalho IP e o payload, ambos cifrados.
- Utiliza dois protocolos:
¬ AH (Authentication Header): Assina cada pacote e garante integridade e autenticidade.
¬ ESP (Encapsulation Secure Payload): Garante integridade e autenticidade mas também garante confidencialidade ao uso da criptografia.
- RFC 2401

SEGURANÇA DE DISPOSITIVOS

FIREWALL
- Equipamento utilizado para proteger a rede interna de uma organização de ameaças lógicas de redes externas, como a internet.
- Uilizando uma tabela de regras predefidas, permitindo ou bloqueando acesso, tráfego, por meio dele, provendo dessaforma mais segurança aos equipamentos que encontram-se deposi dele.

# Filtragem de Pacotes:
- Trabalha na camada 3 do modelo OSI.
- É rápido pois somente verifica o conteúdo do cabeçalho do pacote.
- Possui duas diretivas para a política de filtragem: Permitir por padrão e Negar por padrão (que é melhor).
- Suas regras são fáceis de definir e portas podem ser rapidamente abertas ou fechadas.
- Pacotes trafegam sem a necessidade que remetente ou destinatário saibam de sua existência.
- Por não enxergar nada além do cabeçalho, um pacote tendo um cabeçalho vazio poderá ter qualque conteúdo, inclusive malicioso.

# Firewall de Aplicação:
- Mais eficaz que a filtragem de pacotes pois examina todo o pacote para poder assim determinar o que deve ser feito com ele.
- Tem conhecimento a nível de aplicação, ou seja, a análise do pacote passa por todas as camadas do modelo OSI.
- As regras utilizadas são mais complexas.

# Stateful Inspection:
- Assim como o firewall de aplicação ele utiliza um conjunto de regras mais complexas e também permite o conhecimento dos dados até a camada de aplicação.
- Diferentemente do firewall de aplicação se um pacote é transmitido a ele pela primeira vez a filtragem desse pacote passará por todas as camadas do modelo OSI, todavia se esse pacote for enviado novamente ele não precisará fazer todo esse processo pois ele guarda numa memória que aquele pacote já passou uma vez e quando chega na camada de rede ele libera a passagem.
- Mais lento que a filtragem de pacotes e mais rápido que o firewal de aplicação.
- Permite a abertura dinâmica de portas e fechamento automático após a finalização da conexão.

ROTEADOR
- Formado por duas ou mais intefaces, onde o tráfego de rede é bloqueado ou liberado.
- O encaminhamento de pacotes é baseado em tabelas de roteamento, que podem ser estáticas (configuradas manualmente) ou dinâmicas (protocolo de roteamento).
- Oferece suporte a ACL*
- Para manter as tabelas de roteamento sempre atualizadas, são utilizados protocolos de roteamento que se dividem em dois grupos: Vetor de distância e Link-State.
*ACL: Access Control List

SWITCHES
- É um hub inteligente.
- Trabalha na camada 2 do modelo OSI.
- Utiliza o MAC* dos dispositivos para encoaminha para a porta correspondente.
- Possibilita a criação de VLANs*.
- ARP Spoof é um tipo de ataque o qual possue grande efeito sobre os switches.

WIRELESS
- Access points e interfaces wireless são equipamentos utilizados nas redes wireless.
- Wardriving é um ataque que vem ficando cada vez mais popular.