seppl

Tela Software:
seppl
Detalhes de Software:
Versão: 0.4
Data de upload: 3 Jun 15
Revelador: Lennart Poettering
Licença: Livre
Popularidade: 7

Rating: nan/5 (Total Votes: 0)

Seppl é tanto uma definição de protocolo e uma aplicação de uma nova camada de criptografia para IPv4 software. Seppl projeto faz uso de criptografia simétrica para criptografar todo o tráfego em uma rede. Sua implementação é projetada em torno de Linux netfilter / iptables.
Seppl introduz dois novos alvos netfilter: CRIPTA e descriptografar. Uma regra de firewall pode assim ser usado para codificar / decodificar o tráfego de rede de entrada e saída. Isso faz com que Seppl extraordinariamente fácil de usar, uma vez que não há daemons precisa executar para comunicação segura.
Seppl usa o mecanismo de criptografia API do Linux criptográfica que está disponível no kernel do 2.4.22 e mais recente.
Seppl é destinado principalmente para a criptografia de redes locais sem fio (como substituto seguro da criptografia WEP quebrado) e redes Ethernet locais, mas pode ser usado para soluções de VPN em grande escala bem.
O Seppl protocolo baseia-se não é compatível com qualquer outro software. O protocolo é aberta e bem definida, mas não há nenhuma outra referência que este software aplicação.
Por Seppl já, há IPSEC, CIPE, ...?
CIPE pode ser usado apenas para conexões ponto-a-ponto. Tem a estrutura do túnel e, assim, introduz novos endereços IP. Isto nem sempre é desejável. Ele requer um daemon do espaço do usuário.
IPSEC / FreeSWAN é extremamente complicado de usar. Devido ao seu esquema de roteamento estranho é quase impossível de utilizar em conjunto com daemons de roteamento. IPSEC é pesado.
Seppl é verdadeiramente-peer-to-peer. Ele criptografa todo o tráfego de saída sem problemas e, portanto, compatível com daemons de roteamento. É extremamente fácil de usar, bem como, uma vez que não faz nenhuma alteração no comportamento de roteamento normal. Seppl é extremamente leve.
A Implementação
A execução consiste de três módulos do kernel Linux: seppl.o, ipt_CRYPT.o e ipt_DECRYPT.o. O primeiro é o gestor de chaves no kernel, estes últimos são os dois novos alvos netfilter. Ambos dependem seppl.o.
seppl.o deve ser inserido no kernel no primeiro lugar. O gestor de chaves pode ser acessado com o arquivo / proc / net / seppl_keyring. Ele contém os principais dados binários, e é inicialmente vazio. Você pode adicionar uma nova chave de escrevê-lo para o arquivo.
Os dois scripts Python Seppl-LS e Seppl-gen-Key me ser usado para gerenciamento de chaves. Seppl-ls pode ser utilizado para a conversão de chaves Seppl entre o formato binário usado por / proc / net / seppl_keyring e um formato XML legível baseado. Basta ligar para Seppl-ls para obter uma lista de todas as chaves atualmente ativos. Seppl-gen-chave gera uma nova chave de / dev / urandom. Por padrão, ele usará o formato XML. As forças de parâmetro -x modo binário. Você pode gerar e ativar duas chaves "linus" e "alan" emitindo as seguintes linhas de comando:
Seppl-gen-chave -n Linus -x> / proc / net / seppl_keyring
Seppl-gen-chave -n alan -x> / proc / net / seppl_keyring
Seppl-ls sem argumentos lista as novas chaves guardadas no chaveiro do kernel. Você pode remover todas as chaves (não utilizada) através da emissão:
echo clear> / proc / net / seppl_keyring
Desde Seppl é baseado em criptografia simétrica usando chaves compartilhadas você tem que copiar as chaves recém-gerados para cada host que você quer conectar à sua infra-estrutura Seppl. (Preferencialmente via SSH ou qualquer outra transferência segura de arquivos) Você recebe uma cópia binária do seu chaveiro atual emitindo:
cat / proc / net / seppl_keyring> keyring.save
Agora copie o arquivo keyring.save para todos os outros hosts e execute o seguinte comando lá:
keyring.save cat> / proc / net / seppl_keyring
Isso é simples, não é?
Após fazer isso, você pode configurar suas configurações de firewall em cada host:
iptables -t mangle Linus -A POSTROUTING -o eth0 -j CRYPT --key
iptables -t mangle -A PREROUTING -i eth0 -j DECRYPT
Isso irá criptografar todo o tráfego de saída em eth0 com a tecla "linus". Todo o tráfego de entrada é descriptografado com o "linus" ou "alan", dependendo do nome da chave especificada no pacote de rede específica. Pacotes de entrada não criptografadas são silenciosamente descartado. Uso
iptables -t mangle -A PREROUTING -p 177 -i eth0 -j DECRYPT
para permitir o tráfego de entrada tanto crypted e não encriptado.
É isso aí. Você está feito. Todo o seu tráfego na sub-rede local é agora crypted com Seppl.
A cifra padrão é AES-128. Se você não especificar o nome das it-chave utilizadas como padrão "def".
Um script de inicialização SysV /etc/init.d/seppl é fornecido. Ele irá carregar os módulos do kernel do Seppl e escrever todas as chaves a partir do diretório / etc / Seppl ao chaveiro kernel. Não vai adicionar quaisquer regras de firewall, no entanto.
Problemas de desempenho
Os pacotes de rede são aumentados em tamanho quando são encriptadas, uma vez que dois novos cabeçalhos e do IV são adicionados. (36 bytes em média) Este conflitos em alguma forma com o gerenciamento de MTU do kernel do Linux e resulta em ter todos os pacotes grandes (isto é: tamanho do pacote perto MTU) fragmentados em uma grande e outro pacote muito pequeno. Isso vai prejudicar o desempenho da rede. Um trabalho em torno dessa limitação está usando o alvo TCPMSS de netfilter para ajustar o valor MSS no cabeçalho TCP para valores menores. Isto irá aumentar a performance de TCP, uma vez que os pacotes TCP do tamanho da MTU já não são gerados. Assim, não é necessária uma fragmentação. No entanto, é TCPMSS TCP específico, isso não vai ajudar em UDP ou outros protocolos IP.
Adicione a seguinte linha antes de criptografia para sua configuração de firewall:
iptables -t mangle tcp --tcp-bandeiras -A POSTROUTING -p SYN, RST SYN -o eth0 -j TCPMSS --set-MSS $ ((1500-40-8-16-6-15))
O protocolo
Para criptografia de cada pacote não criptografada é tomada e convertida em um crypted. Nem um único pacote é ainda mais já enviada.
   Via original Seppl
+ ------------ + + ----------------------- +
| IP-cabeçalho | | modificação IP-cabeçalho | |
+ ------------ + + ----------------------- + |
| Payload | | Seppl-Header |> Unencrypted
+ ------------ + + ----------------------- + |
                            | Vetor de inicialização | |
                            + ----------------------- + /
                            | Seppl-Header |
                            + ----------------------- + | Crypted
                            | Payload | |
                            + ----------------------- + /
O cabeçalho IP original é mantido, tanto quanto possível. Apenas três campos são substituídos por novos valores. O número de protocolo está definido para 177, o deslocamento fragmento é definido como 0 eo comprimento total é corrigida para o novo comprimento. Todos os outros campos são mantidos como é, incluindo as opções de IP.
O cabeçalho Seppl não criptografada consiste de um número de cifra de um byte e um nome de chave. Atualmente, apenas 0 e 1 são definidas como números de criptografia para AES com chave de 128 bits, respectivamente. AES com chave de 192bit. O nome da chave (7 bytes) pode ser utilizado para seleccionar uma chave específica em um chaveiro maior.
O IV é usado para CBC codificação da cifra utilizado. Ele difere do pacote a pacote, mas não é gerado aleatoriamente. Devido a razões de perfomance, apenas o IV inicial no arranque do sistema é ao acaso, todas as seguintes IVs são gerados pelo incremento dos anteriores.
O cabeçalho Seppl crypted consiste em três campos salvos do cabeçalho IP original (número de protocolo, offset fragmento, comprimento total) e um byte que é sempre 0 para a detecção de chaves não correspondentes.
A carga útil é o IP-playload original, a partir do TCP / UDP / cabeçalho para a outra extremidade.
Limitações:
· Seppl interfere com rastreamento de conexão de netfilter de alguma forma. Assim, não será capaz de usar o NAT em conjunto com Seppl. Se você usar o rastreamento de conexão de alguma outra forma, juntamente com Seppl sua milhagem pode variar.
· Seppl é testado com Linux 2.6.1. Use a versão 0.3 para Linux 2.4.
Requisitos:
· Seppl foi desenvolvido e testado em Debian GNU / Linux "testar" a partir de novembro de 2003, deve funcionar em outras distribuições Linux e versões de Unix desde que usa GNU Autoconf eo GNU libtool para a configuração de código-fonte e gerenciamento de biblioteca compartilhada.
· Seppl requer Linux 2.6. {0,1} (fontes configuradas instalado) e iptables 1.2.8 ou mais recente.
· O conjunto de ferramentas userspace completa requer Python 2.1 ou mais recente. Um conjunto despojado em C também está disponível.
Instalação:
Como este pacote é feita com GNU autotools você deve executar ./configure dentro do diretório de distribuição para configurar a árvore de origem. Depois que você deve executar para fazer a compilação e make install (como root) para a instalação de Seppl.
O que há de novo nesta versão:
· Porta para Linux 2.6, há outras mudanças. Versão 0.4 não é mais compatível com o kernel 2.4. Use a versão 0.3 para o kernel 2.4, é funcionalmente equivalente.

Outro software de desenvolvedor Lennart Poettering

PulseAudio
PulseAudio

17 Aug 18

nss-mdns
nss-mdns

3 Jun 15

nss-myhostname
nss-myhostname

3 Jun 15

ifmetric
ifmetric

3 Jun 15

Comentário para seppl

Comentários não encontrado
Adicionar comentário
Ligue imagens!