{"id":175,"date":"2022-01-07T15:09:54","date_gmt":"2022-01-07T18:09:54","guid":{"rendered":"https:\/\/gladiston.net.br\/?page_id=175"},"modified":"2022-07-13T16:05:55","modified_gmt":"2022-07-13T19:05:55","slug":"eu-e-o-linux-unices-like","status":"publish","type":"page","link":"https:\/\/gladiston.net.br\/en\/sobre-mim\/eu-e-o-linux-unices-like\/","title":{"rendered":"Me and Linux(unices-like)"},"content":{"rendered":"<p>Me apaixonei por esse sistema na d\u00e9cada de 90 sob as m\u00e3os de uma empresa chamada Conectiva, talvez a primeira empresa brasileira a criar uma distribui\u00e7\u00e3o Linux. Desde ent\u00e3o, me estabeleci proficiente com este sistema, na d\u00e9cada de 90 at\u00e9 mais ou menos 2005, nada era nas nuvens, quase tudo era resolvido com um servidor Linux: arquivos, MTAs, banco de dados, bind(dns), \u2026 era quase tudo mesmo, pod\u00edamos at\u00e9 entender porque a Microsoft se sentiu amea\u00e7ada na \u00e9poca. Vou mencionar os cen\u00e1rios com Linux que me tornei experiente em administrar e resolver problemas:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Terminal: preferencialmente bash ou quando usando ssh gosto de acrescentar o screen ou tmux para evitar perda de sess\u00e3o por causa de instabilidade na internet;<\/li><li>Compilar dos fontes: ler documenta\u00e7\u00e3o, compilar e instalar n\u00e3o \u00e9 problema, mesmo que envolva a aplica\u00e7\u00e3o de patches (diff, patch);<\/li><li>Kernel: Caso seja preciso &#8211; hoje \u00e9 incomum &#8211; personaliza\u00e7\u00e3o do kernel Linux (make menuconfig) e aplica\u00e7\u00e3o de patches em formato tarball;<\/li><li>SSH: SSH e suas a\u00e7\u00f5es derivativas por tunelamento, por exemplo, TFTP ou servidor X me s\u00e3o familiares.<\/li><li>Virtualiza\u00e7\u00e3o: Ambiente virtualizado Xen, VirtualBox e Microsoft Hypervisor;<\/li><li>Servi\u00e7os: J\u00e1 implementei muitos servi\u00e7os em Linux como SAMBA, Postfix, NAMED (dns), SQUID(Proxy), Firewall com IPTables; Alguns deles suficiente para instalar e implementar como requerido e outros com especialidade.<ul><li>SAMBA: Implementei este servidor de arquivos com de-duplica\u00e7\u00e3o, antiv\u00edrus integrado e lixeira.<\/li><li>IPTables envolve muitas vezes fazer ajustes de switches e roteadores al\u00e9m de implementar scripts bash e tamb\u00e9m arquivos de autoconfigura\u00e7\u00e3o para navegadores(autoconfig.pad) e dns;<\/li><li>Proxy(SQUID): Com balanceamento de carga, autentica\u00e7\u00e3o LDAP e Active Directory (com ou sem SSO)<\/li><li>SMTP: Tradicional ou Smart Relay.<\/li><\/ul><\/li><li>Bash: Programa\u00e7\u00e3o de scripts usando bash \u00e9 bastante comum. Automatizei muitas tarefas usando apenas bash como por exemplo disparar uma a\u00e7\u00e3o no servidor quando um email em espec\u00edfico \u00e9 recebido numa conta espec\u00edfica.<ul><li>Cria\u00e7\u00e3o de menus de a\u00e7\u00f5es automatizadas, muito \u00fatil para delegar a\u00e7\u00f5es perigosas para colaboradores menos experientes. Por exemplo, gerenciar usu\u00e1rios num ambiente linux, adicionar\/remove sites livres num proxy, adicionar rotas iptables, etc&#8230; atrav\u00e9s de menus intuitivos.<\/li><\/ul><\/li><li>Linguagem Python: com a mesma experiencia que uso o bash tamb\u00e9m uso Python para automatizar tarefas que requeiram recursos que n\u00e3o seriam poss\u00edveis usando bash, por exemplo, acessar base de dados averiguando situa\u00e7\u00f5es e depois executar procedimentos e at\u00e9 mesmo produzir relat\u00f3rios ou p\u00e1ginas em servidores web;<ul><li>Um exemplo de scripts pyhton \u00e9 o backup de maquinas virtuais Xen em discos externos, como sabem, o backup desse tipo de servi\u00e7o \u00e9 na realidade uma transfer\u00eancia VM rodando para o disco e antes de iniciar o processo \u00e9 preciso avaliar se o disco de destino tem espa\u00e7o suficiente, caso n\u00e3o tenha ent\u00e3o eliminar o backup mais antigo para receber o novo. Esse tipo de script \u00e9 o que tamb\u00e9m fa\u00e7o com Python;<\/li><\/ul><\/li><li>Linguagem PHP: como programador nessa linguagem posso tanto desenvolver com ela como implement\u00e1-la num servidor apache.<\/li><li>Linguagem Node.JS: Iniciei com ela para subverter o python e bash como linguagem para proposito geral no servidor, infelizmente desqualifiquei a linguagem para tal uso, mas o conhecimento obtido ainda pode ser usado em outros contextos.<\/li><li>Linguagem SQL ANSI-2002: Qualquer banco de dados compat\u00edvel me ser\u00e1 familiar.<\/li><li>Ferramentas de logs: analise de logs com ferramentas awk, grep, silversearch, cut,&#8230; tudo redirecionando, copiando e colando usando stdin\/stdout de terminal. Sei que existem ferramentas melhores, mas sabendo usar as ferramentas que descrevi posso resolver algumas analises mesmo sem ferramentas caras;<\/li><li>Analise de vulnerabilidades de rede: trace, nmap e sniffers me ajudam a encontrar vulnerabilidades. Mas h\u00e1 tamb\u00e9m uma excelente ferramenta que usei por muito tempo enquanto permaneceu opensource chamada Nessus, com ela conseguia procurar vulnerabilidade em servi\u00e7os instalados dentro da corpora\u00e7\u00e3o, hoje a ferramenta \u00e9 paga e possui outro nome;<\/li><li>Vulnerabilidade em arquivos: Fa\u00e7o uso de editores hexadecimal quando desconfio de conte\u00fado de arquivos. Infelizmente \u00e9 possivel conte\u00fados bin\u00e1rios dentro de arquivos que tentam ludibriar o sistema operacional ou o administrador de sistemas, por exemplo, se camuflando num conte\u00fado escrito em UTF-8 invis\u00edvel aos olhos humanos, mas percept\u00edvel usando editores hexa ou desassemblador. N\u00e3o sou perito em assembler, mas se o c\u00f3digo for curto ser\u00e1 possivel reconhecer &#8216;jump&#8217; pulando uma parte de autentica\u00e7\u00e3o de sistema, portanto caracterizado como crack;<\/li><li>Permiss\u00f5es de arquivos: Links simb\u00f3licos para resolver problemas de versionamento de libs ou melhorar a org\u00e2niza\u00e7\u00e3o de arquivos. Comandos como chmod (c\/ bitstick) e chown s\u00e3o comuns para mim.<ul><li>Arvores de diret\u00f3rio \/usr, \/var, \/lib, \/etc&#8230; s\u00e3o bem familiares<\/li><li>ACLs: Al\u00e9m do chmod, posso usar o suporte a ACL que \u00e9 pr\u00e9-instalado em algumas distros, geralmente em complemento a servi\u00e7os como SAMBA;<\/li><\/ul><\/li><li>Sobre o Linux: \u00c9 meu sistema preferido porque normalmente esta sempre do mesmo jeito que o deixei, isto \u00e9, pronto para trabalhar. Gosto do Windows, mas de tempos em tempos \u00e9 necess\u00e1rio reinstal\u00e1-lo porque seu comportamento fica estranho as vezes. N\u00e3o acho que Linux seja mais seguro que o Windows, mas certamente o Linux \u00e9 mais flexivel e simples de entender do que o Windows. <\/li><\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"> Conhecimentos intermedi\u00e1rio e b\u00e1sico nos seguintes cen\u00e1rios: <\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li>Git, o necess\u00e1rio para versionamento e branchs<\/li><li>Linguagens como c\/c++, golang(go) e javalang(java). O suficiente para corrigir falhas de compila\u00e7\u00e3o devido a mudan\u00e7as de vers\u00e3o do compilador, depend\u00eancias ou reprogramar diretivas de compila\u00e7\u00e3o<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-pullquote\"><blockquote><p>Se eu n\u00e3o tiver todas as habilidades exigidas, tenham paci\u00eancia porque aprendo r\u00e1pido!<\/p><\/blockquote><\/figure>","protected":false},"excerpt":{"rendered":"<p>Me apaixonei por esse sistema na d\u00e9cada de 90 sob as m\u00e3os de uma empresa chamada Conectiva, talvez a primeira empresa brasileira a criar uma distribui\u00e7\u00e3o Linux. Desde ent\u00e3o, me estabeleci proficiente com este sistema, na d\u00e9cada de 90 at\u00e9 mais ou menos 2005, nada era nas nuvens, quase tudo era resolvido com um servidor [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":172,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"templates\/template-full-width.php","meta":{"footnotes":""},"class_list":["post-175","page","type-page","status-publish","hentry"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/gladiston.net.br\/en\/wp-json\/wp\/v2\/pages\/175","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gladiston.net.br\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/gladiston.net.br\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/gladiston.net.br\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/gladiston.net.br\/en\/wp-json\/wp\/v2\/comments?post=175"}],"version-history":[{"count":1,"href":"https:\/\/gladiston.net.br\/en\/wp-json\/wp\/v2\/pages\/175\/revisions"}],"predecessor-version":[{"id":176,"href":"https:\/\/gladiston.net.br\/en\/wp-json\/wp\/v2\/pages\/175\/revisions\/176"}],"up":[{"embeddable":true,"href":"https:\/\/gladiston.net.br\/en\/wp-json\/wp\/v2\/pages\/172"}],"wp:attachment":[{"href":"https:\/\/gladiston.net.br\/en\/wp-json\/wp\/v2\/media?parent=175"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}