• Linux, Segurança, Padrões Abertos e Ubuntu

    Após ter publicado um artigo sobre o problema do uso do sudo no Ubuntu, e ter acompanhado e participado dos comentários, percebi que a discussão havia se desvirtuado completamente do texto original. Além disso, também percebi algo preocupante com relação a alguns usuários que conheceram o Linux através do Ubuntu: eles estão migrando para o Linux sem o conceito de filosofia e liberdade, que deveriam ser inseparáveis do Linux. Afirmo que esse é um problema crescente e perturbador, e ao meu ver, parte desta culpa parece vir do próprio Ubuntu.


    O Ubuntu é a distribuição Linux que mais investe em marketing sobre migração, do Windows para Linux. A própria Canonical investe pesado mundo afora sobre o Ubuntu ser a distribuição Linux mais adequada para os usuários Windows que gostariam de conhecer (e abraçar de vez) o Linux. E a mídia contribui e muito para a popularidade do "Linux para Seres Humanos", sempre reforçando essas "vantagens" para todos. Por sinal, a mídia tem focalizado tanto no Ubuntu, que raras são as vezes que ouvimos falar sobre outras distribuições Linux igualmente adequadas para uso por usuários iniciantes. E o alvo é sempre o mesmo: os usuários do sistema operacional Windows que estejam insatisfeitos com problemas como preço, instabilidade e segurança (vírus, trojans, e malwares em geral).

    Mas existe um problema em potencial. Há muito tempo que o Ubuntu vem ampliando a facilidade de uso de sua distribuição sem se preocupar "em mesmo nível" com a segurança, como é o caso do uso do comando sudo com a senha de usuário da instalação do Ubuntu, sem oferecer a criação de uma senha de root no processo.

    Existe um problema colateral em todo esse processo. Com a posição do Ubuntu de tornar a migração dos usuários Windows para o Linux o menos indolor possível, o projeto está esquecendo uma peça fundamental: a filosofia Linux. Por causa do Ubuntu, hoje a "comunidade" Linux nunca foi tão gigantesca... mas também por causa do Ubuntu, muitos são os usuários Windows que vem para o mundo Linux, com a mesma mentalidade de uso do sistema operacional da Microsoft. Simplificando: o número de "usuários" Linux que não se preocupam com a filosofia e a liberdade de software, só tem aumentado. E acredito que estão próximos de serem maioria na "comunidade", o que poderá trazer sérios problemas para o futuro do Linux.


    O que é a Liberdade e a Filosofia Linux?

    Sei que muitos podem estar se perguntando isso agora. Por isso quero lembrar a todos que ser um usuário Linux não é somente poder utilizar um sistema operacional "de graça". Tem muito mais coisa envolvida no processo. E é ai que entra a filosofia e a liberdade. A liberdade é a capacidade de poder conhecer e mexer no seu sistema como um todo, desde o seu kernel até a carcaça gráfica mais externa. Poder conhecer a fundo o seu sistema operacional lhe trás, além do conhecimento, a confiança.

    E a filosofia nasce da liberdade (ou seria o inverso?). Ao ter toda essa liberdade entra em jogo a colaboração. Com o Linux, você pode ajudar a quem quiser, assim como ser ajudado, por livre e espontânea vontade. Você poderá contribuir com todos os projetos envolvendo Linux (desde o kernel até o seu aplicativo gráfico preferido), além de ajudar outros usuários a conhecerem a fundo o seu sistema, ou mesmo como utilizar aquele determinado aplicativo gráfico. E a colaboração gera a comunidade, que livre para agir, está presente em todos os países do mundo, trabalhando para o crescimento contínuo do Linux.

    Agora uma pergunta: Você acha que pode fazer o mesmo com o Windows? Além de ser um sistema operacional proprietário e (sendo redundante) sem acesso ao seu código-fonte, a cada nova versão do Windows lançada pela Microsoft, menos você terá acesso as configurações fundamentais desse sistema. Acho até que o intuito da Microsoft na evolução de seu sistema operacional, é torná-lo o que a Apple fez com seu mais novo produto, o iPad. Um sistema completamente fechado onde o usuário só poderá utilizar o que estiver disponível no produto.


    O Problema do sudo

    Agora que o conceito de liberdade e a filosofia Linux já foram expostos, podemos abordar novamente o "problema" do sudo no Ubuntu. Como disse anteriormente, a maioria esmagadora dos usuários Windows utilizam sua conta com privilégios administrativos. Raros são os que usam contas normais e efetuam tarefas administrativas à parte (até porque o Windows cada vez menos permite interação administrativa por parte do usuário). E no Ubuntu, o sudo vem pré-configurado para dar poderes de root a toda hora que o usuário precise, seja via terminal ou gráfica, utilizando apenas a sua própria senha de acesso (e não a de root).

    Em qualquer administração sensata, seja num ambiente de TI ou mesmo na nossa própria casa, contas diferentes devem sempre possuir senhas diferentes. A senha de root deveria sempre ser requisitada na instalação do Ubuntu, e o usuário root sempre existir por padrão. Ao precisar efetuar uma tarefa administrativa, o usuário ainda poderá ter opções de abordagem, sem se esquecer da facilidade de uso. Vamos primeiro mostrar a abordagem por linha de comando, que sei, muitos detestam, mas é uma facilidade omni-presente no Linux.

    Pela Linha de Comando

    Caso o usuário precise efetuar tarefas administrativas e souber utilizar o terminal, ele pode seguir uma das duas abordagens abaixo (que são tão fáceis quanto digitar sudo no terminal):

    1. A primeira seria fazer com que o usuário normal vire usuário root, utilizando o comando su -, e digitando a senha de root. Depois de virar root e fizer tudo o que precisa fazer na administração, o usuário digitaria exit, para voltar ao seu usuário normal.

    2. A segunda opção é quando a tarefa a ser administrada é simples e não precisa há a necessidade de se virar root somente para (na maioria dos casos) aplicar um único comando. Para isso, o usuário poderá utilizar o su -c "<digite-aqui-seu-comando>". Após o combo su -c, é pedido a senha de root. Uma vez fornecida a senha, apenas a "tarefa" entre aspas será realizada, e o usuário retornará imediatamente para seu login de usuário normal.


    Como você pode ver, o su -c é muito parecido com o sudo em funcionalidade, e com a vantagem de, além de pedir uma senha de super-usuário diferente da senha de usuário comum, após sua execução, o usuário continuará no seu terminal sem poderes administrativos para nada.

    Pelo Ambiente Gráfico

    No caso de uma iteração via ambiente gráfico, o sistema deveria pedir em uma janela popup a senha de root, e não a senha do próprio usuário de instalação. Não devemos nunca deixar que desvirtuem o Linux por "pura preguiça", ou porque o querem parecido com a maneira Windows de ser. Existe o fator segurança, nem que seja induzida. O usuário utilizando contas de administração terá uma atenção muito maior em suas tarefas administrativas, do que quando em posse de sua própria conta (que deveria ser limitada) para tarefas do dia-a-dia.


    Outro ponto importante de se ressaltar, é a distinção de foco entre os sistemas operacionais. Se todo usuário Windows realmente quiser que o Linux funcione da mesma maneira que o OS da Microsoft, que o mesmo nem venha para o mundo Linux e continue com seu sistema operacional instável, altamente susceptível a vírus e "congêneres", e a abominável "tela azul da morte", além dos sumiços inexplicáveis de arquivos pessoais, DLLs, etc.

    Repetindo: Quando o usuário vem para o Linux, ele não ganha apenas um sistema operacional estável, robusto e gratuito. Ele também ganha liberdade e uma nova filosofia de vida. E se você tentar separar o Linux da sua Filosofia e Liberdade, você não mais terá o Linux.
    No caso do sudo, quando foi exposto como falha de segurança, a referẽncia era o próprio usuário comum, e a maneira como o Ubuntu resolveu agregar a funcionalidade para o mesmo. O conceito de falha aqui é mais amplo, não estando limitado apenas ao sistema. Falha de segurança não é somente erro de programação, brechas no código, e afins. Afinal, o sistema não está lá para funcionar sozinho, precisando da contínua interação com o usuário. E se o sistema dá condições do usuário criar "problemas graves" para seu funcionamento, ai "a casa cai".


    Facilidade de Uso versus Segurança

    Sabemos que o Linux tem capacidade de sobra para continuar a ser cada vez mais fácil e intuitivo de se utilizar, do que o próprio Windows. E tudo isso sem abrir mão da segurança. Não existe apenas um único caminho a se percorrer, existem sim, n formas de se manter a segurança no Linux, fornecendo de forma paralela toda a facilidade de uso que o usuário almeja. O que não pode acontecer é vermos o Linux se tornar um Windows, em relação a falta de segurança, só porque querem "simular" cada vez mais o "modo de uso" do sistema operacional da Microsoft.

    E a anos que o Linux não "copia" mais nada do Windows. Já tem muito tempo que os papéis se inverteram, e é o sistema operacional da Microsoft que tenta copiar as idéias do Linux (ao meu ver, "a cara" do Vista foi uma tentativa bem próxima de simular o KDE4, um projeto de desktop realmente inovador). E tem muita coisa que o Linux já implementou, há anos, que ainda está na Wishlist da empresa de Redmond.


    GNU ou Não-GNU?

    Esse é um ponto importante. Para os usuários Linux, realmente importa sim, e muito, se a distribuição é GNU ou não-GNU! E a preferência deveria ser sempre pelo GNU. Afinal, todos no mundo Linux lutam para que os padrões (e os códigos) sejam sempre abertos, e que nunca precisemos de codecs, plugins, etc, que sejam de código fechado, ou alguma emulação tosca para "funcionar" no Linux, direta ou indiretamente. Como disse anteriormente, e repito agora, o verdadeiro usuário Linux nunca deve separar a filosofia e a liberdade do seu Linux.

    Claro que esse é um "problema" que afeta a maioria esmagadora das distribuições Linux existentes no mundo. E isso inclui todas as principais distribuições Linux da atualidade. E se continuarmos permitindo o uso de códigos fechados ou proprietários no Linux, poderemos acabar perdendo tudo o que conseguimos até hoje em liberdade.

    Estejam atentos: quanto mais lutarmos por padrões abertos, menos estaremos sujeitos as imposições do mercado. E lembrem-se de algo muito importante: se não fosse o Linux hoje, estaríamos sem opção de sistema operacional para desktops, e tendo que conviver com um sistema operacional absurdamente caro e tremendamente instável, inseguro, e outros problemas já muito bem conhecidos e "documentados".

    Agora é com você! Gostaria que os usuários dessem suas opiniões a respeito desse texto, da forma mais construtiva possível. E claro, peço que sejam educados, e tratem de forma educada todos os outros usuários do portal que estiverem participando da discussão.
    Comentários 6 Comentários
    1. Avatar de osmano807
      osmano807 -
      Aposto R$0,01 que vai dar briga aqui :P
      Em outra linha de pensamento, temos o BSD, que diz que tudo pode ser copiado e modificado e que o desenvolvedor original pode não receber os direitos sobre o código novo.
      Como é de se esperar, alguns acham que isso é bom, e outros acham que é ruim. Não lembro onde li, mas no Brasil nenhuma licença é aceitável judicialmente sem que a mesma seja redigida em português. Ou seja, no Brasil não existe GPL nem BSD, é tudo uma questão de filosofia e respeito das pessoas.

      Facilidade de uso:
      Creio que isso é um debate importante da informática. O futuro dela depende disto: de um lado os xiitas que não gostam de interface gráfica e os novos usuários que amam e nunca nem utilizaram o shell.
      Em um servidor não se discute. É CLI ou interface via web com o processamento no cliente. É muito recurso usado à toa colocar X11 num servidor.
      Agora, pelo lado da segurança, CLI, web ou X11 não faz muita diferença para mim não.
      Em um cliente não se discute também. Quem quer acessar um site usando o CLI? Loucura! X11 para a vida!
      Mas agora focando no sudo, devia é ser um alias para "su -c", assim exigia a senha do root. E implementar os logs do su do FreeBSD, que toda vez que loga com o su vai pro tty1 e pro log.

      (Se eu falei alguma besteira digam aê pra eu corrigir!)
    1. Avatar de code
      code -
      Citação Postado originalmente por osmano807 Ver Post
      Aposto R$0,01 que vai dar briga aqui :P
      Eu espero que não :-) pois como deixei bem claro, quero que o povo se manifeste de forma "sadia".

      Citação Postado originalmente por osmano807 Ver Post
      Em outra linha de pensamento, temos o BSD, que diz que tudo pode ser copiado e modificado e que o desenvolvedor original pode não receber os direitos sobre o código novo.
      Como é de se esperar, alguns acham que isso é bom, e outros acham que é ruim. Não lembro onde li, mas no Brasil nenhuma licença é aceitável judicialmente sem que a mesma seja redigida em português. Ou seja, no Brasil não existe GPL nem BSD, é tudo uma questão de filosofia e respeito das pessoas.
      Sim! No Brasil não se reconhece licença sem que a mesma esteja redigida em português. Mas como são licenças reconhecidas mundialmente e o trabalho de desenvolvimento é descentralizado e ocupa todo o Globo Terrestre, se algum engraçadinho (seja ele pessoa física ou jurídica) tentar fechar alguns desses códigos e patenteá-los (ou alguma outra asneira), o resto do mundo inteiro irá "cair matando" sobre a cabeça desse infeliz, e com processos movidos internacionalmente :-D

      Citação Postado originalmente por osmano807 Ver Post
      Facilidade de uso:
      Creio que isso é um debate importante da informática. O futuro dela depende disto: de um lado os xiitas que não gostam de interface gráfica e os novos usuários que amam e nunca nem utilizaram o shell.
      Em um servidor não se discute. É CLI ou interface via web com o processamento no cliente. É muito recurso usado à toa colocar X11 num servidor.
      Agora, pelo lado da segurança, CLI, web ou X11 não faz muita diferença para mim não.
      Em um cliente não se discute também. Quem quer acessar um site usando o CLI? Loucura! X11 para a vida!
      Sim! E a segurança (aliado ao incentivo do "bom uso") deve estar em pauta no desenvolvimento de ambas: tanto pelo uso da linha de comando quanto pelo uso de interface gráfica.

      Citação Postado originalmente por osmano807 Ver Post
      Mas agora focando no sudo, devia é ser um alias para "su -c", assim exigia a senha do root. E implementar os logs do su do FreeBSD, que toda vez que loga com o su vai pro tty1 e pro log.

      (Se eu falei alguma besteira digam aê pra eu corrigir!)
      Seria uma boa alternativa. Além da obrigatoriedade de se criar a senha de root na instalação do Ubuntu. E que a mesma seja diferente da senha do usuário comum criado também na instalação. E o sistema deveria "obrigar" o usuário a criar uma senha forte para ambas, e impedir que a instalação prossiga caso o usuário forneça senhas "fáceis demais". E isso não é problema nenhum de se fazer, e mais, não é nenhuma novidade. Muitos sites e serviços online só permitem que você crie uma conta se sua senha for forte... então não tem porque o povo gritar se fizerem isso numa distribuição :-P

      E ainda falando no Ubuntu, tudo bem que ele focalize a facilidade de uso, tanto na instalação via CD quanto via DVD, mas qual o problema em se criar um modo "avançado" de instalação? Que usuário avançado não gostaria de poder escolher os pacotes a se instalar em seu computador a partir de uma instalação do zero via distribuição Linux? Nós já temos algumas distribuições que permitem essa escolha na instalação.
    1. Avatar de adrianodba
      adrianodba -
      Ola gente!!!

      Estou meio perdido em meio a esse debate. Sou programador e em 2004 usei por cerca de um ano o Slakware como servidor de banco de dados usando o postgresql. E gostei muito. Mas por motivos de desacordo financeiro acabei me desentendendo com patrao e por fim abandonando o projeto o qeu nao me agradou em nada pois fui praticamente forcado a voltar a usar o sistema janelas e agora desde a versao 8.04 venho usando o Ubuntu e tenho ate gotado dele.
      Porem, mediante esse debate estou ficando muito confuso!!! Sera que estou saindo do fogo e caindo na fogueira!!! Simplesmente odeio o fato de ficar preso a um sistema proprietario por isso estou usando o ubuntu mas pelo que estao debatendo parece que nao sai do lugar!!!! Por isso pergunto. Devo Fugir, ou seja, abandonar o ubuntu e usar uma distro realmente livre, e se sim qual e devo usar, pois tudo que quero e realmente me ver livre de codigos fechados e sistemas proprietarios. Por favor me ajudem a tomar essa decisao!!!!

      Adriano
    1. Avatar de oicreal
      oicreal -
      O Thiago_Vieira argumentou muito bem sobre o artigo.
      Na minha leiga opinião, o usuário normal não se importa sobre o que você faz, ou quando você luta para ter um software livre é so incarar esses usuários como massa, massa que é levada de acordo com a própria massa onde alguns encabeçam e manipulam ( sim meus caros política), nós como activista do software livre trabalhamos no que dizemos "pior maneira", pois sabemos dos problemas que afetam os softwares trabalhamos para o usuário e nós termos qualidade em produtos livre e o usuário final esta pouco se lixando, e sempre estará, pois para o USUARIO FINAL, NÃO IMPORTA.
      Não importa se a programação é linda, se o banco de dados é o melhor do mundo, ele so quer resolver seus problemas básicos, acessar email, ver putaria na rede, flertar com a vizinha e etc.... Sim se você quer atingir usuário final, é isso que vai ter, não espere glória nem seu vizinho vir lhe agradecer por você ter feito aquela ferramenta que ele usa, espere disso da comunidade e de pessoas que se importam como nós.
      O mercado é instavel, é uma prostituta de TPM que deve continuar fazendo seu ponto, seu papel, nos valemos das licenas para nos precaver dos ataques de fúrias dessa prostibula, afinal, alguem aqui sai com uma mulher da vida sem devida "segurança" (isso é para ti osmano807

      Temos sim que nos preocupar com a usuários novos e faze-los ao menos compreender a ponta do "iceberg mundo linux", mas não devemos cortar nossos pulsos a cada vez qeu o usuário der de ombros e dizer "não me importo", para cada que nã se importa existem os que se importam como nós, que fazem a diferença e mantem o projeto. E para isso temos quer encontrar uma estratégia seja você explicando pro seu vizinho numa mesa de buteco, ou escrevendo artigos academicos que corroboram o uso do software livre como melhor opção. ( minha parte é as duas, dia 26 fui convidado pra uma mesa redonda, estarei lá representando a comunidade em meio acadêmico

      Não concordo com a política de segurança do ubuntu.. eu também acho que deveria ter o usuário root separado do usuário comum, para maior segurança obviamente, mas fazendo uma sintese do que o thiago disse "Se usuário quer fazer merda, ele fará!", mas também acho que os programadores são responsáveis pelas falhas e brechas de segurança, então é meio que um impasse.
    1. Avatar de alexsys
      alexsys -
      o número de "usuários" Linux que não se preocupam com a filosofia e a liberdade de software, só tem aumentado. E acredito que estão próximos de serem maioria na "comunidade", o que poderá trazer sérios problemas para o futuro do Linux.
      Como assim Bial?
      De onde vei tal estapafurdia afirmação?

      ...Depois a galera pega no pé de quem defende SO livre e a gente ainda quer partir para a briga
    1. Avatar de fbugnon
      fbugnon -
      Resumo da ópera: to sudo or not to sudo? Ou ter uma ou duas senhas no seu computador?

      Acho que o Tiago Vieira já fez uma bela explicação das razões que levam o Ubuntu a não obrigar os usuários a criarem uma 2ª segunda senha (root) durante a instalação e concordo com os argumentos: o usuário comum não se importa, ele quer apenas usar o computador. Se pudéssemos entrar na mente do usuário comum ao ouvir a sugestão de criar uma 2ª senha (root) acho que ele pensaria algo como: o computador que deve estar ao meu serviço, não o contrário.

      Não ignoro as vantagens adicionais, em termos de segurança, de se usar uma senha root separada da senha de usuário comum.

      Mas dizer que, porque o Ubuntu não exige isso, ele é na verdade um Windows disfarçado de Linux e -- mais -- que contraria a filosofia da liberdade... acho que é um pouco exagerado.

      Eu -- felizmente -- não tenho costume de instalar Windows, então não sei dizer qual o procedimento de instalação no que toca à criação de senhas, mas posso assegurar, com base na minha experiência pessoal, que 99% dos computadores rodando Windows não pedem senha ao serem ligados, nem ao efetuarem tarefas administrativas, como instalação de programas, virus, malware, etc. Quando muito, as versões mais recentes (Vista, 7 sins) dão aquele alerta chato e pedem para clicar no botãozinho "sim", "continuar" ou coisa que o valha.

      Portanto, na prática, exigir UMA senha do usuário já é mais do que faz por padrão a concorrência M$W.

      No fim das contas, de nada adianta exigir que o usuário crie 2 ou 10 senhas, porque se for forçado ele vai acabar criando senhas ridiculamente frágeis, como "senha", "1234", "password", e por aí vai, não precisamos nos estender na lista.

      Enfim: é melhor ter UMA senha forte que DUAS fracas, não?

      Mas, hei, todos somos livres para sugerir mudanças ao Ubuntu (espero que eles não aceitem! ) ou criarmos nossa própria distro derivada, "Ubuntu-seguro", com as mudanças que achamos adequadas. Aliás, acaba de sair um livro sobre isso...
    + Enviar Comentário