LINUX: SSH com validação do Google Authenticator

Você pode aplicar um controle adicional de segurança em seus servidores realizando a integração do SSH com o Google Authenticator de forma com que os acessos sejam realizados apenas após a validação do código (token) gerado aleatoriamente pelo aplicativo.

01 – Passo

Realize a instalação do Google Authenticator com o comando abaixo:

apt-get install libpam-google-authenticator

02 – Passo

Acesse o diretório pam.d, edite o arquivo sshd e insira as linhas a seguir :

vim /etc/pam.d/sshd

# Google Authenticator
auth required pam_google_authenticator.so<br>

03 – Passo

Acesse o diretório sshd, edite o arquivo sshd_config e insira a linha a seguir, ou apenas altere o valor de no para yes.

vim /etc/sshd/sshd_config

ChallengeResponseAuthentication yes<br>

04 – Passo

Execute o comando abaixo e responda as perguntas :

google-authenticator

Do you want authentication tokens to be time-based? y

05 – Passo

Será gerada uma chave (key) e os códigos de emergência, em seguida responda y (yes) para todas as perguntas!

Your new secret key is: LKHEMC7AGHTTMSKYH2FPNI27Q

Do you want me to update your "/root/.google_authenticator" file (y/n) y
Você quer atualizar seu arquivo "/root/.google_authenticator"?

Do you want to do so? (y/n) y
Você quer fazer isso?

Do you want to enable rate-limiting (y/n) y
Deseja ativar a limitação de tempo?

06 – Passo

Após todas as alterações reinicie o serviço SSH.

./etc/init.d/ssh restart

07 – Passo

Instale o app do Google Authenticator e insira a chave (key) gerada no passo 05, após finalizar é gerado um número aleatório a cada 30 segundos.

08 – Passo

Realize uma conexão via SSH com o host que você acabou de configurar, utilizando um outro host.

ssh root@192.168.10.103
Password : Senha utilizada pelo usuário root.
Verification code : Código gerado aleatoriamente pelo Google Authenticator.

Feito!

Gostou? Se tiverem algumas sugestões, dica ou se ficou com alguma dúvida sobre este tutorial, não tem problema! Basta comentar no post que iremos responder suas dúvidas assim que for possível.

Fonte: 100security

LINUX: Bloqueie acesso ssh ao servidor com apenas dois arquivos

Como bloquear ou permitir endereços IP no Linux usando dois arquivos simples? Esses arquivos são hosts.allow e hosts.deny, e eles permitem bloquear ou permitir endereços IP de forma rápida, sem lidar com regras de firewall complicadas.

Com essa capacidade, você pode rapidamente bloquear um endereço IP suspeito para evitar possíveis atividades maliciosas; ou pode limitar, por exemplo, as conexões SSH apenas para endereços específicos, assim você não precisa se preocupar com terceiros ganhando acesso aos seus servidores ou computadores.

Deixe-me mostrar como é feito, demonstrando o acesso SSH a uma máquina. Tudo o que você precisa é de uma instância em execução do Linux e um usuário com privilégios de sudo.

Faça login na sua máquina Linux e abra uma janela de terminal. Primeiro, vamos negar todo o acesso ao daemon SSH. Abra o arquivo hosts.deny com o comando:

<strong>sudo nano /etc/hosts.deny</strong>

No final desse arquivo, adicione:

sshd: ALL

Salve e feche o arquivo.

Em seguida, abra o arquivo hosts.allow com o comando:

sudo nano /etc/hosts.allow

Digamos que você queira permitir acesso SSH apenas para duas máquinas em sua rede, nos endereços IP 192.168.1.62 e 192.168.1.152. Para isso, adicione a linha:

sshd: 192.168.1.62, 192.168.1.152<br>

Salve e feche o arquivo.

Nesse ponto, apenas essas duas máquinas têm permissão para acessar seu computador ou servidor via SSH. Lembre-se de que o arquivo hosts.deny é lido antes do hosts.allow, portanto, definir sshd: ALL em hosts.deny só é anulado se houver uma entrada em hosts.allow.

Se você configurar hosts.deny com sshd: ALL e não adicionar uma entrada correspondente em hosts.allow, ninguém terá permissão para acessar a máquina via SSH. E é isso! Você adicionou mais uma camada de segurança às suas máquinas Linux usando hosts.deny e hosts.allow.

Gostou? Se tiverem algumas sugestões, dica ou se ficou com alguma dúvida sobre este tutorial, não tem problema! Basta comentar no post que iremos responder suas dúvidas assim que for possível

Fonte: certificacaolinux

LINUX: Como criar uma VPN com OpenVPN

Existem várias razões pelas quais você pode querer criar uma VPN (Rede Privada Virtual) usando o OpenVPN no Linux. Alguns motivos comuns incluem:

  • Segurança: O OpenVPN é uma das opções mais seguras para criar uma VPN, pois usa criptografia forte para proteger as comunicações entre os dispositivos conectados à VPN. Isso é especialmente importante se você estiver usando uma rede Wi-Fi pública ou acessando a Internet em locais que possam estar sujeitos a monitoramento.
  • Privacidade: Uma VPN pode ajudar a proteger sua privacidade, ocultando sua localização e impedindo que terceiros acompanhem suas atividades online. Ao usar o OpenVPN, você pode criar uma VPN que protege sua privacidade sem precisar confiar em serviços de terceiros.
  • Acesso remoto: Com o OpenVPN, você pode acessar com segurança recursos em uma rede privada, como arquivos compartilhados, servidores e outros dispositivos, de qualquer lugar do mundo, desde que você tenha uma conexão com a Internet.
  • Controle: Com uma VPN OpenVPN auto-hospedada, você tem controle total sobre a configuração e as políticas de segurança da sua VPN. Isso é especialmente importante se você estiver lidando com informações confidenciais ou críticas, como informações de negócios ou de clientes.
  • Custo: Configurar uma VPN OpenVPN em um servidor Linux é geralmente mais econômico do que contratar serviços de VPN de terceiros, especialmente se você estiver criando uma VPN para uso comercial ou em larga escala.

No geral, o OpenVPN é uma ótima opção para quem precisa de uma VPN segura, confiável e personalizável no Linux.

Instação do OpenVPN

Para instalar o OpenVPN em uma distribuição Linux, você pode seguir os seguintes passos:

Abra um terminal no seu Linux e atualize o cache de pacotes com o seguinte comando:

sudo apt update

Instale o OpenVPN usando o seguinte comando:

sudo apt install openvpn

Se seu Linux for da família RedHat, como CentOS e Fedora, você deve instalar o repositório do Epel:

Acesse o site oficial do EPEL (https://fedoraproject.org/wiki/EPEL) e encontre a versão do EPEL correspondente à sua versão do sistema operacional.

Você pode instalar o repositório epel usando um dos dois comandos:

sudo yum install epel-release
sudo dnf install epel-release<br>

Depois que o OpenVPN estiver instalado, você pode verificar se a instalação foi bem-sucedida executando o seguinte comando:

openvpn --version

Se tudo estiver configurado corretamente, você verá a versão do OpenVPN instalada.
Agora que o OpenVPN está instalado, você pode começar a configurar sua conexão VPN.

A configuração do OpenVPN pode variar de acordo com suas necessidades específicas, mas geralmente envolve a criação de um arquivo de configuração e a conexão à VPN usando esse arquivo.

Configurar Servidor OpenVPN

Crie a chave para compartilhar entre o servidor e o cliente:

cd /etc/openvpn/server
$ openvpn --genkey --secret openvpn.keyopenvpn --genkey --secret openvpn.key

Uma vez criada a chave, edite o arquivo do servidor e escreva a seguinte configuração:

vi server.conf

No arquivo faça as seguintes configurações:

port 1194 # porta
proto udp # protocolo
dev tun # cria interface
ifconfig 10.10.10.1 10.10.10.2 # ip da interface e do cliente
secret openvpn.key # arquivo da chave

Agora você pode subir o serviço do OpenVPN:

sudo systemctl start openvpn-server@server

Observe que o “@server” tem de ter o mesmo nome do arquivo de configuração em /etc/openvpn/server/server.conf

Verifique que o OpenVPN criou a interface tun0:

ip address show

3: tun0: mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 100
   link/none
       inet 10.10.10.1/24 scope global tun0
           valid_lft forever preferred_lft forever
       inet6 fe80::c843:a32b:c811:11b0/64 scope link stable-privacy
           valid_lft forever preferred_lft forever

Configurar Cliente OpenVPN

Copie a chave openvpn.key para o cliente, e coloque no diretório /etc/openvpn/client. Edite o arquivo client.conf

vi client.conf
remote 192.168.10.147 # endereço do servidor openvpn
dev tun # cria a interface
ifconfig 10.10.10.2 10.10.10.1 # designa o ip do cliente como .2 e o servidor .1
secret openvpn.key # arquivo da chave
port 1194 # porta
proto udp # protocolo

Conectando no servidor OpenVPN

Para conectar no servidor usando o OpenVPN, inicie o serviço de cliente:

sudo systemctl start openvpn-client@client

Lembre-se de que o “@client” deve ser o nome do arquivo do configuração em /etc/openvpn/client/client.conf

Uma vez que o serviço está em execução, você pode se conectar no servidor usando o endereço da VPN, como por exemplo usando o SSH:

ssh usuario@10.10.10.1

Desta forma, você pode fechar a porta do 22 do seu servidor, e manter aberto somente a porta UDP 1194.

Gostou? Se tiverem algumas sugestões, dica ou se ficou com alguma dúvida sobre este tutorial, não tem problema! Basta comentar no post que iremos responder suas dúvidas assim que for possível.

FONTE: certificacaolinux