Categorias
Linux

SSH reverso

O SSH é uma das ferramentas mais versáteis para Linux, mas a maioria das pessoas o utiliza apenas de uma maneira - usando o servidor para enviar dados para o cliente. O que provavelmente você não sabe é que também é possível trocar a lógica usual SSH e usar o cliente para enviar dados ao servidor. Pode parecer contratintuitivo, mas este acesso pode evitar que você tenha que reconfigurar roteadores e firewalls, e é também muito cômodo para acessar a rede corporativa de casa sem VPN.

É necessário instalar o servidor OpenSSH na sua estação de trabalho e a partir de então você deve digitar o que está a seguir para contruir um túnel para a porta SSH na sua máquina de casa.

ssh -R 1234:localhost:22 home_machine

Substitua home_machine pelo endereço IP da sua máquina de casa. Usamos a porta número 1234 na máquina de casa para a sessão de SSH encaminhada e esta porta precisa estar disponível para ser usada e desbloqueada pelo firewall local. Uma vez que você tenha configurado a conexão no trabalho, já pode digitar o seguinte para acessar as máquinas do trabalho de casa:

ssh workusername@localhost -p 1234

Todas as sessão da sua máquina do trabalho serão abertas e você poderá trabalhar como se estivesse no escritório. Não é difícil de modificar o mesmo processo para acessar arquivos do servidor ou até mesmo áreas de trabalho remotas usando VNC. O único problema que você pode encontrar é a expiração do tempo da primeira sessão SSH. Para resolver isso, abra /etc/ssh/sshd.conf na sua máquina do trabalho e tenha certeza de que contém 'KeepAlive yes' e 'ServerAliveInterval 60', pois com isso a conexão não cairá automaticamente.

Categorias
Cotidiano

Claro em Venda casada e enganosa

(Esta é a reprodução da minha reclamação no ReclameAqui)

Sempre fui um entusiasta da Claro, única operadora que atendeu às minhas necessidades até hoje e sou cliente já há alguns anos. Neste ano, porém, a operadora destruiu todos os créditos que eu tinha com ela.

Há um tempo atrás minha esposa quis aproveitar a promoção de venda do celular Nokia E63 (excelente celular, por sinal) para a minha linha e a linha da minha esposa. O atendente, solícito, explicou mais de uma vez como funcionava o plano, indicando que teríamos que assinar o 200 para levar o celular. Até aí tudo tranqüilo.

O plano era de R$ 79,90 e que tínhamos que também ter o plano internet de 20mb que custava R$ 19,90 para uma das linhas, que não tinha pontos suficientes para cancelar o plano de internet. Argumentamos que era uma venda casa, mas foram irredutíveis e até aceitamos.

No fechamento da compra, nos foi oferecido, pois o plano permitia, uma linha adicional para cada linha, que falaria gratuitamente com a linha titular, bastando comprar o chip. Para encerrar a compra, pedimos para sermos cadastrados na promoção atual, o que se prosseguiu com a adesão à promoção do bônus de 1200 minutos para ligações para Claro. A surpresa veio na conta seguinte:

Descobrimos que o valor do plano controle foi cobrado junto com o novo plano 200. Dois planos sendo cobrados! Mas o serviço oferecido estava sendo apenas o do plano 200, sendo que pagamos também o valor correspondente do plano controle 35 anterior ao dia em que aderimos ao novo plano.

Descobrimos também que a linha que falaria gratuitamente com o titular não é o que nos venderam. Deve-se, na verdade, pagar R$ 19,90 no plano família para que isso aconteça. Não é de graça. Ao reclamar, o atendente que nos vendeu os planos disse que era assim mesmo e que eles eram "treinados para apresentar o plano assim, com ligação gratuita entre as linhas", mesmo existindo um valor adicional a ser pago. É enganação! E nem era nossa necessidade ter essas linhas, tanto que nem as usamos pois havíamos comprado o chip para situações de emergência. Nos enganaram para um serviço que não precisávamos e não usamos. Descobri que a Claro está cobrando, inclusive, pela ligação entre essas linhas que estão no plano família.

O plano de internet, da linha da minha esposa, até hoje não funciona. Tentamos ligar diversas vezes para a Claro e a linha sempre é desligada antes de iniciarem a orientação. Fomos até a loja onde compramos e a única possibilidade de fazer a configuração é pelo telefone, que nunca conseguimos.

Quanto aos bônus, linha da minha esposa até recebeu a promoção que solicitamos a ser inscritos. A minha linha até hoje não. Eu ligo para o *525 e eles informam que minha promoçao só pode ser liberada pelo 1052, o 1052 diz que o bônus só pode ser liberado pelo *525 e até hoje, meses depois de iniciar o plano, ainda sou sobrado pelas ligações adicionais que faço para telefones Claro. Cada ligação demora no mínimo 30 minutos, na passagem de um lado para o outro, e eu nunca consigo aderir à promoção.

Entre os serviços adicionais que sou cobrado, sempre vem um valor absurdo por "Serviços, torpedos, hits, jogos etc.", que não vem detalhado sobre o que é. Não reconheço tanto serviço extra que utilizo, pois não utilizo recursos da operadora além das ligações. Quando solicito o detalhamento ao 1052 eles me dizem que as cobranças são por mensagens que, ao serem abertas, automaticamente há cobrança. Um absuro, pois como vou saber o conteúdo de uma mensagem sem abrí-la? Eu não aceito nada de nenhuma mensagem, mas sou cobrado à minha revelia. E mais: os serviços extras cobrados são do chip que não uso e está guardado na caixa!

Cheguei a ir à loja onde comprei os aparelhos e aderi ao plano. Ao invés de ser ajudado, fui atendido pela mesmo outrora vendedor solícito de maneira fria e pudemos ouvir que ela reclamou a um outro colega que estávamos "enchendo o saco dele", para usar palavras dele próprio. Uma lástima e um desrespeito na loja em pleno centro da cidade do Rio de Janeiro, ao lado da Petrobras.

Pelo passado que tive com a Claro, eu me interesso muito em ter um canal para conversar com a operadora sem que tenha que haver o desgaste das vias da justiça.

Categorias
Linux

Ponha seus cds em ordem

Verdadeiros hackers Unix sabem que mudar diretórios pode ser feito de várias maneiras diferentes, e com várias características diferentes, então em breve qualquer um aprenderá que o humilde comando cd pode, na verdade, ser o melhor amigo deles. Você já deve saber que cd ~ lhe leva para o seu diretório home, mas hackers de verdade não gastam dois comandos em nada: apenas digite cd para ter o mesmo resultado. Se você apenas pôr em ordem aquele pequeno rabisco, ~ se torna - e você tem cd -, o comando para navegar de e até o próximo diretório.

Para usuários mais avançados, cd - não é suficiente, porque ele apenas permite que você vá entre o diretório atual e o anterior. Um esquema melhor é usar pushd e popd no lugar de cd. Desta maneira, ao invés de digitar cd diretorio, use pushd diretorio - isto lembra seu atalho completo. Quando você quer dar passos para trás, apenas digite popd e vá para o diretório anterior.

Finalmente, você não odeia quando você está em um diretório simbólico e você não tem idéia de onde está? Pior, executando pwd para imprimir o diretório de trabalho o faz parecer que você não está em um diretório simbólico. Se isto acontecer com você, apenas use o parâmetro -P (pwd -P) para resolver o link simbólico e mostrá-lo aonde você está. E se você quer entrar no diretório real ao invés do link simbólico, apenas use cd 'pwd -P'.

Categorias
Cotidiano

Rua Engenho Novo, 351, Sampaio, RJ, RJ

Rua Engenho Novo, 351, Sampaio, RJ, RJ

Categorias
Cotidiano

Rua Paim Pamplona, 234, Sampaio, RJ, RJ

Rua Paim Pamplona, 234, Sampaio, RJ, RJ

Categorias
Cotidiano

Ano começando – Mafalda

Mafalda. Genial.

Categorias
Linux

Crie pacotes

Baixar o código-fonte de uma aplicação e compilar você mesmo. Esta é uma tarefa clara para 90% dos programas que existem por aí, mas pode causar problemas com dependências. Enquanto os vários gerenciadores de pacotes possuem seus meios de trabalhar com as dependências, aqui vai outra.

Quando construir a partir do fonte usando o próprio método padrão de ./configure && make && make install, instale CheckInstall primeiro. Você pode pegá-lo em www.asic-linux.com.mx/~izto/checkinstall caso não esteja nos repositórios da sua distribuição. Execute-o ao invés de make install que, no lugar de instalar os novos arquivos diretamente no seu sistema de arquivos, irá primeiro montar um pacote e então instalá-lo. CheckInstall funciona com pacotes Deb, RPM e Slackware. Você pode especificar o tipo no arquivo de configuração ou esperar que ele pergunte quando executado

./configure && make && checkinstall

Além do tipo de pacote, CheckInstall irá perguntar por outros detalhes. A maioria é opcional ou pode ser deixada no valor padrão, mas tenha certeza de que o nome é igual ao da versão anterior que você está substituindo, ou então o seu gerenciador de pacotes ficará confuso. Instalar com CheckInstall também permite a remoção simples do pacote, pois não há necessidade de manter o diretório fonte por perto e alguns programas nem possuem a opção make uninstall.

Categorias
Linux

Recupere espaço em disco

Ocupar 100% de uma participação pode ter um efeito desagradável no seu sistema. Quando serviços e outros programas não podem escrever nos seus arquivos de log ou não podem salvar dados em /var, você pode estar com problemas. Estes programas não poderão salvar seus dados e tipicamente encerrarão (ou, em alguns casos extremos, quebrar dramaticamente!). Para evitar isto, os sistemas de arquivo ext2 e ext3 reservam 5% da sua capacidade somente para processos root. Esta é uma boa idéia, mas 5% é muito em discos grandes - por exemplo, são 25GB num disco de 500GB. Além disso, não há necessidade de reservar nenhum espaço em um sistema de arquivos que não são usados para arquivos root, como /home.

A boa notícia é que isso pode ser alterado. Tune2fs é utilizado para ajustar vários parâmetros de um sistema de arquivo ext2 (ou ext3). Pode ser usado para trocar a etiqueta de um volume ou o número de montagens entre execução forçada do fsck e a hospedagem de outro, e outras configurações esotéricas, mas as opções nas quais estamos interessados são -m e -r. O primeiro altera o percentual dos blocos do sistema de arquivos reservados para o superusuário, enquanto o segundo usa um número absoluto de bloco. Então:

tune2fs -m 2 /dev/sda1

reduz a área reservada para 2% do sistema de arquivos, o que pode ser mais apropriado se você tem um sistema de arquivos grande em / ou /var. Se você está usando um disco de 500GB ou maior, esta é a melhor opção.

Esta linha de código:

tune2fs -r 0 /dev/sda1

define que o sistema de arquivos não terá blocos reservados, uma boa configuração para /home que não precisa de área reservada para o superusuário.

Categorias
Linux Segurança

Bloqueie os script kiddies

Você já está cheio do seu log de sistema lhe entupir com relatórios de centenas (ou até milhares) de falhas de tentativas de autenticação SSH por script kiddies buscando entrar na sua máquia?

Eles não causam dano enquanto estiverem falhando mas ainda assim incomodam. Mas há algumas maneiras de evitá-las. A melhor - desde que você nunca precise de acesso SSH de fora da sua rede - é fechar a porta 22 do seu roteador, e ninguém poderá entrar. Outra opção é executar um programa como Fail2ban ou DenyHosts. Eles vigiam seu arquivo de log por falhas de tentativas de login repetidas pelo mesmo endereço IP e adiciona o IP nas regras do seu firewall para bloquear qualquer futuro contato do remetente por um tempo.

A terceira opção é ridiculamente fácil. Tentativas de quebra de SSH geralmente assume que o SSH é executado na porta padrão 22; mude para uma alta e aleatória porta e as tentativas de quebra desapareção por mágica. Altere /etc/ssh/sshd_config e modifique a diretiva de escuta para algo como:

Listen 31337

e reinicie o sshd. A única desvantagem disso é a incoveniênica de precisar adicionar esta porta no commando ssh cada vez que você se autentica, mas você pode usar um apelido para lidar com isso:

alias myssh ssh -p 31337
Categorias
Linux

SSH sem senha

Usar SSH para conectar a um computador remoto é conveniente, mas há algumas desvantagens. Uma delas é que você precisa digitar a senha a cada vez que você conecta, o que é incômodo num terminal interativo mas inaceitável em um script, pois você precisa que a senha esteja no script. O outro é que uma senha pode ser quebrada. Uma senha longa, aleatório e complexa ajuda, mas torna as autenticações interativas ainda mais incovenientes. É mais seguro ativar o SSH para funcionar sem senhas de uma vez. Primeiro, você precisa ativar um par de chaves para o SSH usando ssh-keygen como este para gerar chaves RSA (mude o argumento para dsa em chaves DSA).

ssh-keygen -t rsa

Serão criados dois arquivos em ~/.ssh, id_rsa (ou id_dsa) com sua chave privada e id_rsa.pub com a sua chave pública. Copie a chave pública para o computador remoto e adicione-a na lista de chaves autorizadas com

cat id_rsa.pub >>~/.ssh/authorized_keys

Agora você pode sair da sessão SSH e iniciá-la novamente. Você não será solicitado a entrar com senha, embora se relacionar uma frase-senha para a chave você será solicitado a digitá-la. Repita isso para cada usuário e cada computador remoto. Você pode fazer isto de maneira ainda mais segura ao adicionar

PasswordAuthentication no

a /etc/ssh/sshd_config. O SSH passará a recusar todas as conexões sem uma chave, tornando a quebra de senhas impossível.