Semana passada estavamos (eu e meus amigos de irc) tentando ajudar um colega que estava com um determinado problema. Como ele estava utilizando uma máquina atrás de um firewall e ele não tinha acesso para fazer qualquer redirecionamento para esta máquina, falamos para ele criar um tunel reverso com ssh para conectarmos na máquina que ele estava e poder ajudá-lo com o problema que ele enfrentava.
Baseado no relato acima, vamos supor que tenho um servidor remoto cujo ip é 187.10.223.67, que a porta do ssh é a 22 (padrão) e que meu usuário remoto é but3k4, iremos utilizar as seguintes opções do ssh:
C - usa compactação de todos os dados que serão trafegados, muito útil para economizar banda.
N - não executa comandos no servidor remoto, portanto o usuário não precisa ter shell.
f - logo após conectar, coloca a conexão em background.
R - especifica qual porta irei ouvir no servidor remoto, em qual ip ela será listada e para qual porta do servidor local ela será redirecionada.
Agora, sabendo tudo que irei utilizar, peço para meu amigo digitar:
ssh -C -N -f -R 4444:localhost:22 but3k4@187.10.223.67
Com o comando acima, a porta 22 da máquina local, será listada automaticamente no loopback (127.0.0.1), na porta 4444 do ip 187.10.223.67.
Com isso, eu poderei conectar na máquina dele digitando:
ssh -p 4444 localhost -l root
Simples né? Túneis ssh são muito úteis e seu funcionamento como você mesmo viu é bem simples. Então, bom proveito.
Posted in Geral.
Tagged with BSD, firewall, iptables, Linux, segurança, ssh.
By but3k4
– novembro 3, 2009
Port Knocking é uma técnica que consiste em enviar uma sequência pré-determinada de pacotes em portas específicas para abrir conexão com algum host.
Não vou me aprofundar sobre o assunto, caso queira fazer isto, o google é seu amigo =). O que irei fazer é demonstrar como utilizar o iptables para realizar esta tarefa.
Supondo que a sua política padrão é DROP e que a porta do ssh é 22 (porta padrão), vamos criar uma regra para liberar o ssh por 20 segundos quando chegar uma conexão tcp na porta 65535:
iptables -A INPUT -i eth0 -p tcp -m state --state NEW --dport 22 -m recent --rcheck --seconds 20 --name SSH --rsource -j ACCEPT
iptables -A INPUT -i eth0 -p tcp -m state --state NEW --dport 65535 -m recent --set --name SSH --rsource -j DROP
Supondo que o ip do servidor onde você acabou de implementar as regras acima seja 187.10.223.67, digite:
telnet 187.10.223.67 65535
Logo em seguida, pressione CTRL + C e tente conectar no ssh, você terá somente 20 segundos após ter utilizado o telnet.
Simples né? com estas duas regras acima, você criou um port knocking em iptables
.
Posted in Linux.
Tagged with firewall, iptables, Linux, segurança.
By but3k4
– novembro 2, 2009
Participei do latinoware 2009, este ano estava muito legal, com maior espaço para os standes e muita gente legal palestrando (incluindo eu).
Minha palestra tinha horário confirmado para as 12:00, como estava chovendo muito, levei uns 10 minutos para chegar no bloco onde iria palestrar. Chegando lá, levei uns 5 minutos para iniciar, isto inclui tirar a água da chuva que estava ensopando meu cabelo, ligar notebook e etc. Com isto, perdi minutos importantes e tive que acelerar em alguns tópicos e em outros resumir mais ainda. No geral minha palestra foi legal, o pessoal estava com muitas dúvidas tanto na parte de programação quanto na parte de sysadmin.
Para aqueles que quizerem baixar o conteúdo que foi apresentado, clique aqui.
Posted in Geral, Linux.
Tagged with Linux, palestras, php, segurança.
By but3k4
– outubro 26, 2009
O nc (netcat) é o canivete suiço do tcp/ip, com ele é possível fazer N coisas (o ncode vai gostar de ouvir isso =P). Uma delas é fazer transferência de arquivos, ou seja, você não necessita de ssh ou scp nem tão pouco ftp, basta apenas utilizar alguma porta que esteja liberada em seu fw (caso for fazer transferências via internet).
O processo é simples, vamos supor que quero fazer o backup do /etc e automaticamente transferir para outra maquina, para isto, utilizo o nc como server:
tar -cvzpf - /etc | nc -vvv -l -p 1234
Do lado do cliente, utilizo:
nc -vvv <ip do servidor> 1234 > etc.tar.gz
As opções utilizadas foram:
-v = verbose
-l = listen
-p = port
Simples assim.
Posted in Linux, OpenBSD.
Tagged with nc, netcat.
By but3k4
– julho 21, 2009
Finalmente comprei meu controle arcade para jogar street fighter 4 no ps3. Quem estiver procurando um destes, é só procurar no ml.

Agora é só praticar e dar pancada a vonts.
Posted in Games.
Tagged with Games.
By but3k4
– junho 22, 2009