Um sistema de arquivos criptografado para Gnu/Linux.
1,296 acessos
soluções articuladas e pensadas para um rede específica.
A criptografia é um elo da corrente. Sem dúvida, desempenha um papel fundamental. Já tem seu papel destacado na nova geração da suite de protocolos TCP/IP, e só não se adiantou a isso por conta dos limites que o Governo norte-america coloca na exportação de criptografia forte, que é alçada como já é sabido à condição de munição. Como a tecnologia da Informação tem nos EUA o seu centro irradiador, pode-se então prever as consequências disto… Se um criptosistema tem vantagens indispensáveis, no entanto não é a panaceia universal. Em novembro de 1999 um conjunto de técnicos, engenheiros, escritores, e militantes de direito civil-eletrônico escreveram uma Carta Aberta a IETF onde pediram que o organismo solidificasse o uso da criptografia na nova versão do IP, para ajudar na privacidade e na proteção de dados críticos frente à vigilância do Estado.
A vantagem do Linux é ter o networking e a segurança implementados em nível de kernel. Você não precisa comprar pacote de terceiros para prover tais funções em seu sistema. São recursos intrínsecos ao sistema – não precisa pôr nada de fora. Vencidas as barreiras de hardware, e principalmente as barreiras legais de vários Estados, quem sabe um dia teremos a criptografia no mesmo estágio, algo pertencente diretamente ao sistema operacional: assim como pertencem networking, segurança na filtragem de pacotes, etc.
Disto isto, queria trazer hoje para comunidade interessada o software de Matt Blaze chamado Cryptographic File System, que se encontra na versão 1.4.0 beta-2. Blaze é pesquisador da AT&T Laboratories e seu programa é distribuído por uma Licença bastante liberal, quanto ao acesso aberto ao código e mesmo alterações. Porém, seu download já não é tão fácil… Durante a confecção deste artigo, o site “oficial” para a distribuição estava fora do ar, e ele não pode ser baixado por FTP anônimo na AT&T. Todavia está disponível diria de forma oficiosa via FTP anônimo no site do grupo hacker holandês Hacktic. (Uma curiosidade: Kevin Mitnick usou vários computadores da hacktic.nl para seus ataques, como relatou Shimomura no livro Take Down). Assim sendo, pese estes fatores, juntamente com a questão legal da criptografia, antes de baixar qualquer pacote de software da Hacktic, que por sua vez tem um enorme repositório de softwares criptográficos. Quanto ao CFS propriamente dito, por seu estado beta e também por operar com criptografia, tome as precauções de sempre no que diz a dados críticos e sensíveis. No FTP da hacktic você encontrará binários para Linux pré-compilados desde a versão 1.3.1 (estável) até a beta 1.4, inclusive em pacotes RPM. Aconselho sem dúvida alguma a compilação do CFS em seu sistema Gnu/Linux. Se você usa o Solaris 7 ou superior na plataforma Intel (IA) você pode baixar um pacote pré-compilado por mim no site “GnuPG for Unix” que mantenho.
O que faz o CFS? Ela simplesmente ativa um serviço de cifragem ou encriptação dentro do sistema de arquivos do seu Unix ou do Linux. Ele guarda com segurança em nível de sistema, e tendo como interface o sistema de arquivos, para então cifrá-los. O usuário associa uma chave criptográfica com os respectivos diretórios que deseja proteger. Tais diretórios são segundo Blaze “transparentemente encriptados e descriptografados” com a chave sem a posterior intervenção do usuário. O CFS usa desta forma qualquer sistema de arquivos para executar suas tarefas de encriptação sem qualquer alteração destes sistemas! O CFS roda totalmente em nível de usuário, a partir de um servidor NFS, que deverá portanto ser instalado e estar funcionando, e que é executado numa interface de loopback. Esta tarefa de servidor é feita por um daemon: o cfsd. Outras ferramentas (cmkdir, cattach, etc) complementam o trabalho, como gerenciar as chaves criptográficas, passphrase, criar diretórios, etc. Todas estas ferramentas são documentadas em suas próprias páginas manuais. Deve-se notar, que o CFS não é um sistema de rede, apesar de usar o NFS. Este só é ativado e executado pelo programa na interface de loopback, como vimos. Como adverte o autor na documentação: “o sistema é desenhado para ser instalado em workstations mono-usuárias individuais”. Pois a exigência de recursos para cifragem dinâmica dos diretórios sacrificaria uma máquina que rode como um pesado servidor de rede. Ainda teremos que esperar por isso…
Se você deseja compilar o CFS, descompacte o pacote, edite o Makefile, procurando a linha específica de seu sistema, retirando os comentários (#). E por fim comente esta linha que destaco abaixo, pois se isto não for feito provocará um erro fatal que não permitirá o seguimento da compilação, observe:
# finally, comment out the next line:
# CC=you_forgot_to_edit_the_makefile
# now you’re done with local configuration.
As linhas do Makefile que você deve ativar retirando os #, e que deve funcionar com o Linux com kernel 2.2 são estas:
CFLAGS=$(COPT) -U__STDC__ -Dd_fileno=d_ino -I$(RINCLUDES)
LIBS=/usr/local/lib
COMPAT=
RPCOPTS= -k -b
Por fim, não se esqueça de comentar com a # as linhas referentes a outras plataformas. Leia também o arquivo README.linux presente no pacote do software. Feito isso, digite make cfs e make install_cfs. Assim você instalará os binários em seus diretórios corretos. Agora iremos criar um diretório para as operações do CFS:
mkdir /null
chmod 0 /null
Agora o ponto de montagem: ‘mkdir /crypt‘ com o modo 755. Editamos nosso arquivo “/etc/exports” tal qual fazemos com o NFS, acrescentando a linha ‘/null localhost‘. Execute o daemon cfsd, espera pela menasagme ready, e podemos montar um diretório CFS tal como se fosse um diretório remoto via NFS, por exemplo: “mount -t nfs localhost:/null /crypt”. Use agora as ferramentas do CFS para executar as funções essenciais do software, estes são os programas do pacote CFS:
|
CFSD |
O daemon do CFS |
|---|
Uma observação importante: o CFS vem com um cliente ssh, ao instalar o pacote tenha cuidado para não sobrescrever qualquer versão anterior do software!
O CFS é um programa que vale a pena ser testado. Sobretudo porque ele pode estar adiantado alguns caminhos que poderão dentro em breve serem comuns.
SITES RELACIONADOS:
Para o download do CFS (1.3.X até 1.4.0 beta) portado para Linux: ftp://ftp.hacktic.com/pub/crypto/programs/cfs
Para o download do CFS (1.3.3) portado para Solaris 7+ (Intel):
http://gnupg.unixsecurity.com.br/other.html
Biografia de Matt Blaze:
http://www.scheier.com/blase.html
Site pessoal de Matt Blaze:
Papers e documentação de Matt Blaze:
Site “oficial” para a distribuição: