domingo, 25 de outubro de 2009

Alterando ou Desabilitando as Mensagens do SSH

O SSH é um excelente mecanismo para acessar remotamente uma máquina. Seguro, rápido, eficiente. Tão eficiente que pode ser utilizado para outros fins, como o tunelamento via SSH para o SVN, um sistema de controle de versão, ou mesmo para tunelar o protocolo do X11 e exportar o modo gráfico da máquina remota para a máquina cliente.
Por padrão, o SSH normalmente imprime uma série de mensagens no momento do acesso. Estas mensagens variam de máquina para máquina e de distribuição para distribuição, mas podem ser todas removidas ou alteradas. Em alguns casos, é imperativo a sua remoção, como quando se utiliza o SSH para tunelar o SVN, com o esquema "svn+ssh". A não remoção destas mensagens causa erros no protocolo do SVN, que não consegue "entender" os dados da mensagem, (que, obviamente, não fazem sentido para ele), e normalmente imprime uma mensagem de erro como "svn: Malformed network data".
Então, como mudo ou removo as mensagens do SVN?? Muito simples, basta seguir os passos:

1- Logue-se como root e edite o arquivo abaixo:

vi /etc/ssh/sshd_config


A primeira coisa que se pode editar é a mensagem de "Banner". Procure a linha:

Banner etc/issue.net


Para eliminar a mensagem, basta comentar esta linha (colocando a tralha - "#" - na frente). Outra opção é editar o arquivo de mensagem que a linha referencia (no exemplo acima, o arquivo /etc/issue.net) e modificá-lo, alterando a mensagem ou deixando-o vazio.

Mas não é só isso!!
Muitas vezes, o ssh imprime a informação de data e hora do último login. Esta informação é particularmente útil e importante para controle e segurança do acesso. No entanto, pode ser um pé-no-saco para tunelamento de SVN pelo esquema svn+ssh. Para removê-la, ainda no mesmo arquivo, procure a opção "PrintLastLog yes" e modifique-a para:

PrintLastLog no


Apenas isto elimina todas as mensagens em algumas distribuições. Porém, outras distros têm mensagens de sistema que costumam aparecer em ocasiões como o login do ssh. Estas mensagens podem ser encontradas no arquivo:

/etc/motd


Se este arquivinho existir, ele deve conter apenas texto estático que é copiado para o stout no momento do login (na verdade, ele pode ser um link simbólico para /var/run/motd); para eliminar o texto, basta editar o arquivo e apagar todas as linhas, ou apagar o arquivo de link simbólico.

Importante: não esqueça de reiniciar o sshd para que as mudanças tenham efeito:

/etc/init.d/ssh restart


Outra coisa importante é sempre fazer backup dos arquivos de configuração que você modificar, caso precise retroceder as alterações!!


  • Aprimorando a Segurança do SSH

Independente do que foi comentado acima, você pode - e muitas vezes deve!! - adotar algumas medidas de segurança que vão garantir a sua paz e tranquilidade, ainda que seu SSH não tenha mensagens de Last Log, etc.
A primeira coisa a fazer é abrir o arquivo "/etc/ssh/sshd_config" e adicionar (ou configurar) as seguintes linhas:

Port 10000 - Esta linha identifica a porta que vai ser usada tanto para o ssh quanto para o sftp. A porta padrão é "22", então não preciso nem dizer que 99,9% dos ataques vão direto para esta porta. Troque a porta para qualquer outra. No exemplo, coloquei a porta 10000. Portas altas tendem a ser mais seguras.

PermitRootLogin no - Este é o essencial do essencial... nunca permita o login do root. Você pode administrar o que quiser remotamente se você logar como um usuário comum e se tornar root posteriormente, com o comando "su". Não permita que o root fique propenso a ataques!!

AllowUsers beltrano cicrano - Este é um comando de white list (lista branca). Permite que você configure exatamente e exclusivamente quem pode conectar. Se esta linha estiver presente, um usuário que não contiver seu nome ali jamais será autorizado a conectar. É uma técnica muito restritiva, mas útil em muitos casos.

PermitEmptyPasswords no - Este é outro comando essencial do essencial... nunca permita que um usuário maluco defina sua senha como vazia e deixe sua conta exposta ao acesso remoto... virtualmente qualquer um poderá conectar como este usuário e ele poderá ser usado para ataques contra o root ou para derrubar a máquina!!

X11Forwarding no - A menos que você tenha a intenção (e necessidade!!!) de rodar o modo gráfico remotamente, defina este comando como "no". Se for "yes", você poderá tunelar via ssh o modo X, rodando remotamente qualquer programa com interface gráfica, que será exportada para a sua máquina local. Isso é uma ótima idéia dentro de uma intranet, mas pela internet é péssimo. O protocolo X não é comprimido nem foi desenvolvido para acesso remoto e, por isso, é lento e complicado... liberar o X para os usuários implica em correr sério risco de engarrafar a sua rede por excesso de carga!!

Bom, espero ter ajudado!! E, claro, COMENTE!!!

quinta-feira, 8 de outubro de 2009

Filmando a Tela do Computador com Wink

Capturar a tela do seu computador em formato de vídeo: uma necesidade para quem faz palestras, apresenta cursos com Data Show, ou mesmo para quem tem um trabalho final ou uma tese de mestrado para defender e precisa mostrar o programa funcionando... fantástico, não?? Agora imagine tudo isso, em formato Flash (swf), com os botões de controle de vídeo que você mesmo desenhou (ou devidamente baixou do google images), e já com o HTML pronto para colocar na sua página online, blog, portal da turma ou wiki da empresa?? E imagine que você pode editar os frames e botões do flash??
Meu Deus, como é isso!?!?!?!? Tudo isto é possível e gratuito!! E existe um programa muito legal que faz facilmente esta tarefa para você: o Wink. O Wink funciona em Linux e windows e pode ser baixado tanto de sua página oficial (esta que acabei de colocar aí acima) ou através do repositório de sua Distro. Para quem usa distribuições baseadas em Debian, basta digitar (como root, claro!!):

apt-get update (sempre bom!!!)
apt-get install wink

Em menos de 3 megas (sim, esta é a unidade de tempo do Pajé...) você terá um novo link no menu "Gráficos" do KDE (ou em outro canto, no Gnome...). Daí a aventura começa...

Tela do Wink, com um projeto de captura feito e pronto para renderizar.

O Wink permite tanto a captura de uma tela simples quanto a criação de um vídeo. Para tanto, é preciso iniciar um projeto, onde você personaliza a sua captura, indicando:

  • Se a captura é em forma de vídeo, qual a taxa de quadros por segundo (fps, ou frames por segundo);
  • Qual o tamanho da tela de captura (tela toda ou personalizada, talvez apenas um pequeno trecho da tela, que você pode marcar e configurar!!).
Então o Wink pode ser direcionado para a barra de tarefas e iniciar a captura, utilizando a tecla de atalho Shift+Pause (vídeo) ou Pause (tela simples), ou então com o botão direito sobre o ícone na barra de tarefas.


Editando o Flash

Sim, mais do que editar o vídeo, é possível personalizar diversas coisas no seu arquivo swf final, como:

  • Cursor: diversas figuras são oferecidas como cursor, basta escolher!!
  • Texto de Título do vídeo, caixa de texto em um frame, botões de "Próximo", "Anterior", "Ir Para" usando qualquer imagem que você forneça;
  • Tempo de permanência no Frame;
  • etc...

Configurado seus frames, é possível também editá-los:

  • Mover um frame ou trocar a ordem dos frames;
  • Copiar, Copiar Mesclado, Recortar e Colar frames;
  • Apagar frames;
  • Redimensionar e/ou Cortar todos os Frames (especialmente se, na empresa, a política é esconder a barrinha que mostra seus aplicativos abertos antes de mandar o vídeo para o cliente...);
  • Personalizar a Paleta de Cores;
  • Dentre outras coisas!!! Explore!!

Renderizando o Vídeo

Uma vez terminada toda a parafernalha de edição, o vídeo deve ser renderizado. Há um botão para renderizar, que gera o arquivo swf e, automaticamente, o arquivo HTML correspondente. Este arquivo pode ser lido a partir de qualquer navegador com o plugin do flash. Porém, opcionalmente, o Wink pode renderizar (em flash) para um arquivo executável do windows (*.exe). Opcionalmente, o projeto ainda pode ser exportado para PDF ou Post Script.
Lembre-se de que estes formatos (PDF e PS) vão perder as características de interatividade do Flash, mas, por outro lado, podem ser abertos em outros aplicativos, como o Gimp, se necessário, e transformados em vídeo Mpeg, que podem ser editados no Kino ou outro aplicativo, ou reconvertidos para outros formatos.
Um tutorial que fiz (e procurei ser bem completo) sobre tratamento de vídeos no Linux usando a ferramenta ffmpeg encontra-se aqui.


Conclusão

O Wink é uma ferramenta de qualidade, bem completa, que oferece à captura de tela em imagem ou vídeo uma nova dimensão: a da interação e edição, com botões, caixas de texto personalizadas, edição de frames, etc. É um programa gratuito, pequeno e interessante, fácil de instalar e de usar. Assim, pode ser uma grande alternativa simples e eficiente a programas comerciais.

Gostou?? Detestou?? Adorou ou odiou o Pajézinho?? Não importa: COMENTA LOGO!!!! :-)