Compartilhando com vcs uma historinha de um colega meu do Face

13 views
Skip to first unread message

Wernerkai Listas

unread,
Sep 18, 2016, 12:37:21 PM9/18/16
to oestehc

Política de segurança: NUNCA deixe logar root via SSH. Nego loga com a conta dele, e quem puder dá sudo depois. Simples assim.

Mas tem equipe de nó-cego que não só fica abrindo porta de firewall pra passar a perna na Intranet e deixar SSH de qualquer lugar do mundo (Security Group? Isso é coisa de froteenha!!), como ainda libera o root pra logar via SSH. Sim, o cara fazia - ele era amigo do CEO. =/

Bom, com o SSH aberto pro mundo, não preciso nem dizer que a galera caiu martelando na porta 22, né? E quando perceberam que o root tava liberado, meia china e um quarto da rússia cairam matando - loucos para ownar o serverzinho da empresa. Parece que tem um flag nos port-scan dos caras: "se o SSH tiver aberto e o root existir, unleash hell".

Era quando as meninas do Suporte começavam a receber ligação de cliente reclamando de sistema lento - porque, óbvio, o amiguinho do CEO abria as pernas justamente do servidor de aplicação (que é onde tá o filé da empresa, né? Back-end? infra? Isso não aparece!).

Bom, não adiantava explicar. Não adiantava reclamar. Ou desonrava a palavra dada de ficavar lá mais 6 meses, ou segurava o choro e ia pra casa no final do dia se encolher em posição fetal na cama após ouvir reclamação o dia inteiro de que o sistema tava lento e era minha responsabilidade resolver.

Ou.... 3:-)

No crontab, eu criei regras para rodar a cada minuto e a cada quinze minutos:

*/1 * * * * /sbin/run-parts /etc/cron.minutely
*/15 * * * * /sbin/run-parts /etc/cron.quarterhourly

No minutely, botei um script que filtrava o /var/log/syslog (ou /var/log/messages - depende da sua distro) para buscar a quantidade de acesso negado do root via PAM no último minuto. Se fosse mais que 3 renomeava o /root/.ssh para /root/_ssh. Se a quantidade de logins negados (qualquer um) fosse maior que 10, derrubava o SSHD (teve momento que eu tinha mais de 60 tentativas por minuto, meu). Um tail 100 no /var/log/messages já dava uma bela cortada no trabalho do filtro - de forma que virtualmente não pesou no server (mesmo usando grep | wc -l, que fiquei com preguiça de usar o awk).

No quarterhourly eu levantava o SSHD se ele estivesse down.

Pronto. Problemas de performance resolvidos. :-D

Sem o /root/.ssh , ninguém conseguia logar via root (que era o que eu queria), mas não bloqueava o usuário nem impedia sudo -i de quem logasse direito (usando o seu login e dando sudo, cazzo, que é pra isso que inventaram esta merda!).

Derrubando o SSHD nos momentos de pico, eu preservava a performance do servidor e poupava as meninas de ouvir desaforo de cliente.

O que acontecia é que os nó-cego depois ficavam esquentando a minha orelha porque vez ou outra eram kickados do servidor de produção (como se desenvolvedor pudesse ter acesso nesta joça - mas eu contei que o carinha era amigo do CEO?), mas isso já era uma constante de qualquer jeito. Ao menos eu tinha a satisfação de ser culpado pela prespeada. :-D

O tempo passou, deixaram de abrir as pernas dos servidores de produção depois de um deploy bem sucedido (de forma que acabou a putaria: não desligaram mais o firewall nem ativaram o SSH do root), e eu acabei esquecendo os scripts no crontab - afinal, se ninguém faz merda, o script não atua e ninguém reclama. :-)

E então após uns meses me mandaram trabalhar de casa (mau sinal), e 3 meses depois ocorreu meu desligamento da empresa. Minha última tarefa foi desativar todos os meus logins em todos os servers, após backpear todas as chaves privadas e logins que eu usei no servidor de intranet e avisar o SysAdmin lá nos EUA (que era a única outra pessoa, depois mim, que tinha acesso nesta máquina).

E uns 45 dias depois, recebo SMS desaforado da empresa me ordenando que eu não mais logasse nos servidores da empresa sem autorização!!!! o.O Mas rapaz, nem que eu quisesse - o SysAdmin de vcs não confirmou o shutdown do meu acesso??? O:-)

15 dias depois, recebo um email de teste numa conta pessoal que possivelmente foi esquecido no banco de dados da empresa - e então entendi: o amigo do CEO tinha voltado pra empresa e, óbvio, abriu o firewall e o login de root do servidor de aplicação DE PRODUÇÃO de novo - e os scripts atuaram. :-D

E qual a moral desta fábula, amiguinhos? Sei lá - eu só contei a presepada porque recebi OUTRO email de teste estes dias e tõ aqui imaginando se não tinha chegado a vez de outro DevOp. =D

Marcelo Machado Pereira

unread,
Sep 18, 2016, 10:43:19 PM9/18/16
to oes...@googlegroups.com
Caras bons que resolvem problemas são protelados e mandados embora enquanto as companhias estão abarrotadas de imbecis e babacas descontrolando tudo que se é possível controlar.

Abraços,

Marcelo Machado


--
Você recebeu essa mensagem porque está inscrito no grupo "Oeste Hacker Club" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para oestehc+unsubscribe@googlegroups.com.
Para postar nesse grupo, envie um e-mail para oes...@googlegroups.com.
Acesse esse grupo em https://groups.google.com/group/oestehc.
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/oestehc/CAAJsbvtD6vPCQaj9PidQpt-y2dkjZrzmEadEOA8OYp_v77dr7Q%40mail.gmail.com.
Para mais opções, acesse https://groups.google.com/d/optout.

Reply all
Reply to author
Forward
0 new messages