Posts Tagged ‘ssh’

Uma abordagem do SSH

Olá pessoas, depois de um bom tempo sem postar nada, estava falando com um amigo no mensageiro, e ele me perguntou quando eu ia postar algo, disse que quando tivesse assunto pra postar eu fazia isso, bom, sairam três assuntos da conversa :P

  1. Autenticação SQUID com OpenLDAP
  2. Uma abordagem do SSH
  3. Construindo um firewall básico com Iptables

Bem, escolhi por fazer o segundo artigo primeiro, depois, assim que reuinir as informações, crio os outros artigos :)

Vamos começar

O SSH (Secure Shell) é um protocolo/programa para poder acessar computadores remotamente, a conexão com a maquina é criptografada, permitindo assim um controle tranquilo.

O uso básico do SSH é “ssh nomedousuário@maquina”, com isso ele vai pedir a sua senha e vai executar o comando que está no servidor, ex: “/bin/bash”.

O servidor pode dar para você um shell completo (é claro, com as limitações do seu usuário), como pode dar um micro-shell, somente para que você execute alguns comandos.

Quando você muda a porta do servidor SSH (garantindo assim a segurança do mesmo), você deve usar o switch “-P porta”, ficando então com o comando desse jeito “ssh usuário@host -P porta”.

Certo, com isso você já pode ter um uso básico do SSH.

Mas, o SSH tem outras opções, chamadas Tunelamento e Proxy Reverso, com o Tunelamento você pode dar a saida dos dados por outro servidor.

Ex:

Servidor da Escola com Proxy bloqueando site xxx

Escola ->                        Servidor SSH externo                    -> Site XXX

No caso o que aconteceu foi, você se conectou com o site XXX pelo servidor SSH externo ao servidor da escola, passando por uma conexão criptografada, ao invés de passar pelo proxy.

Atenção, usem isso com cuidado, se a sua escola/instituição/empresa proibe é porque eles devem ter motivos para isso.

Mas afinal, como é que eu vou fazer os programas, como o Firefox, acessar a Web pelo SSH? Simples! Você usa um switch no SSH para poder criar um proxy Socks na sua maquina, assim é só configurar os navegadores para usarem esse proxy Socks

Comando: “ssh usuário@maquina -P porta -D portanamaquinalocal”

Depois é só configurar o navegador para usar proxy socks para aquela porta ;)

Vamos ao proxy reverso!

Situação:

Você esta querendo acessar o computador da sua casa, que está atrás de um router, que por azar do destino, não está routeado :(, e agora? Quem poderá nos salvar? Não, não é o chapolin colorado, é o Proxy Reverso mesmo!

Você faz o seguinte, com alguém na sua casa, você abre um servidor SSH nessa sua maquina que pode ser acessada pela Internet, e manda a pessoa em sua casa se conectar nela, usando o seguinte comando:

“ssh -LPortaDoSshNesseComputador:ComputadorExterno:PortaQueVocêQuerNoComputadorExterno root@ComputadorExterno”

Atenção: Só é possivel fazer isso como usuário root! Ou seja, a pessoa em sua casa tem que saber a senha do root no seu computador ;)

Depois de feito isso, é só você acessar no seu computador assim:

“ssh UsuárioDoComputadorDeCasa@127.0.0.1 -P PortaQueVocêDisse”

Nisso, para terminar a conexão, disconecte no seu computador e mande a pessoa em casa disconectar do seu computador.

Com isso, sejam felizes! O SSh é muito lindo!

Posted by Otávio Souza on Agosto 6th, 2008 6 Comments

Minha opinião de servidor seguro

Olá pessoas, na falta de tutoriais, decidi fazer esse =)

Como vocês sabem, tenho um home-server, desligado no momento, mas não deixo de ter :P e penei um pouco para poder configura-lo deixando nos conformes e com o máximo de segurança possível, isso tirando é claro o firewall, porque server que é server não tem firewall! (Brincando ;))

Vamos começar a com as configurações da maquina

  • Processador: Celeron D de 2.13GHz
  • Memória atual (Queimada) : 256MB
  • HD: 20GB
  • 2 placas de rede, uma para o Velox e outra para a rede interna =)
  • e etc. etc. etc.

Serviços que rodam nele

  • Apache+PHP+Python
  • PostgreSQL
  • SQUID-cache
  • SSH
  • Bind (Named) (DNS)

Coisas simples, como podem ver ;)

Agora vem o pequeno detalhe! A distribuição escolhida! Slack sempreeeee!!!

Vamos deixar de lorota e começar a mostrar as configurações

Vamos começar pelo SSH, coisa que acho importantíssimo, afinal não tenho teclado, nem mouse na maquina!

Primeira coisa a se modificar no sshd_config (normalmente /etc/ssh/sshd_config - Configuração do servidor SSH)

PermitRootLogin no (Isso ajuda a não quebrarem logo a senha de root, não se esqueça também de tirar o pacote sudo e/ou desconfigura-lo todo)

PermitLogin no (Porquê isso? Simples! Isso tira o login via senha digitavel, substitua esse tipo de login por login via chaves, é bem melhor!)

Port 22 -> Muda a porta para outra, 256, 897, qualquer número, só para não termos um exploit logo de cara =)

Com isso o servidor SSH já está seguro, dai você se pergunta e como posso logar como root? Orás, “su -”, utiliza um usuário normal para se logar e digita su -, só isso!

Vamos passar para o SQUID, uma coisa que tu tem que pensar, vai permitir o acesso ao SQUID via rede externa?

  • Vai: Então coloca uma ACL para que peça requisição de nome de usuário e senha, isso para que pessoas indesejadas não usem seu SQUID
  • Não: Então só bloqueia tudo mesmo!

Squid é coisa simples mesmo, então deixa ele ai, ele já é chato com o acesso mesmo =P

DNS, edita o /etc/hosts.allow e permite somente o acesso do DNS na rede interna, isso garante que não se exploitem o servidor de DNS!

Apache, se você quer que seu Apache seja só na Intranet, modifica ele e manda fazer Listen para o seu hostname, só isso, caso contrário, faz o cadastro no DynDNS, No-ip, qualquer coisa e manda ele fazer listen para esses hostnames =)

PostgreSQL, libera só o acesso na rede local, se for o caso somente no servidor mesmo, é melhor

PHP: Deixa em safe_mode, usa a opção do safe_mode para liberar o acesso aos arquivos do mesmo grupo, caso contrário, só o mesmo dono pode fazer isso, o que é chato em certos ambientes ¬¬’

Se tu vai usar o servidor de e-mails interno, recomendo deixar o acesso somente na rede local, não exponha tudo a Internet =)

Resumindo: Com um pouquinho de trabalho você pode configurar um servidor até que seguro facilmente :)

Abraços!

Posted by Otávio Souza on Maio 31st, 2008 No Comments