seppl

소프트웨어 스크린 샷:
seppl
소프트웨어 정보:
버전: 0.4
업로드 날짜: 3 Jun 15
개발자: Lennart Poettering
라이센스: 무료
인기: 7

Rating: nan/5 (Total Votes: 0)

는 seppl 프로토콜 정의와 IPv4를위한 새로운 암호화 층의 소프트웨어 구현 모두이다. seppl 프로젝트는 네트워크 전체의 트래픽을 암호화하기 위해 대칭 암호화를 사용한다. 그것의 구현은 리눅스 넷 필터 / iptables의 중심으로 설계되어있다.
CRYPT하고 해독 : seppl는 두 개의 새로운 넷 필터 목표를 소개합니다. 방화벽 룰 따라서 암호화 / 수신 및 발신 네트워크 트래픽을 복호화하기 위해 사용될 수있다. 더 데몬 보안 통신을 위해 실행해야하지 않기 때문에이 사용하기 seppl가 매우 쉽습니다.
seppl는 커널 2.4.22 및 최신에서 사용할 수있는 리눅스 암호화 API의 암호화 엔진을 사용합니다.
seppl는 주로와 로컬 이더넷 네트워크 (깨진 WEP 암호화의 보안 대체) 무선 랜을 암호화하기위한 것입니다하지만,뿐만 아니라 대규모 VPN 솔루션에 사용될 수있다.
프로토콜 seppl는에 의존하는 다른 소프트웨어와 호환되지 않습니다. 이 프로토콜은 개방적이고 잘 정의하지만,이 참조 소프트웨어 이외의 구현이 없다.
왜 SEPPL, 거기에 이미 IPSEC, CIPE, ...?
CIPE는 포인트 - 투 - 포인트 연결을 위해서만 사용될 수있다. 이는 터널 구조를 가지며, 따라서 새로운 IP 주소를 도입한다. 이것은 항상 바람직한 것은 아니다. 그것은 사용자 공간 데몬을 필요로한다.
IPSEC / FreeSwan는 사용하기가 매우 복잡하다. 그것의 이상한 라우팅 방식에 라우팅 데몬과 함께 사용하는 것이 거의 불가능하다. IPSec은 헤비급입니다.
seppl는 진정으로 피어 - 투 - 피어이다. 그것은 완벽하게 나가는 모든 트래픽을 암호화 및 라우팅 데몬과 그것을 따라서 호환. 그것은 정상적인 라우팅 행동에 변화를하지 않습니다으로뿐만 아니라 사용하기 매우 쉽습니다. seppl는 매우 가볍습니다.
구현
seppl.o, ipt_CRYPT.o 및 ipt_DECRYPT.o : 구현은 세 가지 리눅스 커널 모듈로 구성되어 있습니다. 전자는 후자의 두 가지 새로운 넷 대상이되는,에서 커널 키 관리자입니다. 모두 seppl.o에 따라 달라집니다.
seppl.o는 처음에 커널에 삽입해야합니다. 키 관리자는 파일 / proc 디렉토리 / 그물 / seppl_keyring에 액세스 할 수 있습니다. 그것은 이진 키 데이터를 포함하고, 처음에 비어 있습니다. 당신은 그 파일에 작성하여 새 키를 추가 할 수 있습니다.
두 파이썬 스크립트 seppl-LS 나를 키 관리에 사용할 수 seppl는 세대는 키. seppl-LS는 / proc 디렉토리 / 그물 / seppl_keyring과 인간이 읽을 수있는 XML 기반의 포맷이 사용하는 바이너리 형식 사이 seppl 키 변환에 사용될 수있다. 단순히 현재 활성화 된 모든 키의 목록을 seppl-LS를 호출합니다. seppl - 발전기 키는 / dev / urandom의에서 새 키를 생성한다. 기본적으로는 XML 포맷을 사용할 것이다. 매개 변수 -x 힘 바이너리 모드. 당신은 생성하고 두 개의 키 "리누스"다음과 같은 명령 줄을 실행하여 "앨런"를 활성화시킬 수있다 :
seppl 세대 키 -n 리누스 -x> / proc 디렉토리 / 그물 / seppl_keyring
앨런 -x> / proc 디렉토리 / 그물 / seppl_keyring -n seppl 세대 키
인수없이 seppl-LS는 커널의 열쇠 고리에 저장된 새 키를 나열합니다. 당신은 실행하여 모든 (현재 사용) 키를 제거 할 수 있습니다 :
명확한> / proc 디렉토리 / 그물 / seppl_keyring 에코
seppl 공유 키를 사용하여 대칭 암호화를 기반으로하기 때문에 당신은 당신이 당신의 seppl 인프라에 연결하려는 모든 호스트에 새로 생성 된 키를 복사해야합니다. (바람직하게는 SSH 또는 기타 보안 파일 전송을 통해) 당신은 실행하여 현재 열쇠 고리의 바이너리 사본을 얻을 :
고양이 / proc 디렉토리 / 그물 / seppl_keyring> keyring.save
이제 다른 모든 호스트 파일 keyring.save과가 다음 명령을 실행하는 것이 복사 :
고양이 keyring.save> / proc 디렉토리 / 그물 / seppl_keyring
즉, 간단한가요?
각 호스트에서 방화벽 설정을 구성 할 수 있습니다 이렇게 후 :
iptables에가 탈수 -A POSTROUTING -o eth0를 -j CRYPT --key 리누스을 -t
의 iptables -t 탈수 -A PREROUTING -i eth0를 -j 해독하려면
이 키 "라이너스"와 eth0를에 나가는 모든 트래픽을 암호화합니다. 들어오는 모든 트래픽은 특정 네트워크 패킷에 지정된 키 이름에 따라, "리누스"또는 "앨런"하나의 암호가 해독됩니다. 암호화되지 않은 들어오는 패킷은 자동으로 삭제됩니다. 용도
의 iptables -t 탈수 -A PREROUTING -p 177 -i eth0를 -j 해독하려면
암호화 되 및 암호화되지 않은 두 들어오는 트래픽을 허용합니다.
이게 다예요. 당신이 완료됩니다. 로컬 서브넷에 대한 모든 트래픽은 지금 seppl로 암호화 되있다.
기본 암호는 AES-128입니다. 당신이 "DEF"에 사용 된 주요 IT 디폴트의 이름을 지정하지 않으면.
시스템 V init 스크립트의 /etc/init.d/seppl이 제공됩니다. 그것은 seppl의 커널 모듈을로드하고 커널 열쇠 고리에 대한 디렉토리의 / etc / seppl에서 모든 키를 기록합니다. 그것은 그러나, 방화벽 규칙을 추가하지 않습니다.
성능 문제
이들이 암호화 되 때 네트워크 패킷은 두 개의 새로운 헤더 때문에, 크기가 증가되고 IV가 첨가된다. 하나의 큰 또 다른 아주 작은 패키지에 단편화 (평균 36 바이트) 모두 큰 패킷을 가지고있는이 리눅스 커널의 MTU 관리와 어떤 식 으로든에 갈등과 결과 (패키지 크기 MTU 근처를 즉). 이것은 네트워크 성능이 저하됩니다. 이러한 제한의 워크 주변의 더 작은 값에 TCP 헤더의 MSS 값을 조정하는 넷의 TCPMSS 타겟을 사용한다. MTU의 사이즈의 TCP 패킷이 더 이상 발생하기 때문에 이것은 TCP의 perfomance 증가 않는다. 따라서 어떤 조각이 필요하지 않습니다. 그러나 TCPMSS은 UDP 또는 다른 IP 프로토콜에 도움이되지 않습니다, TCP 다릅니다.
방화벽 설정에 암호화하기 전에 다음 줄을 추가합니다 :
iptables에가 SYN, RST SYN -o eth0를 -j TCPMSS --set-MSS $ ((1500-40-8-16-6-15)) 압착 롤러 -A POSTROUTING -p TCP의 --tcp-플래그를 -t
프로토콜
암호화의 모든 단일 암호화되지 않은 패킷이 촬영되고 암호화 되 하나로 변환. 하나 더 패킷은 이제까지 전송하지 않습니다.
   원래 SEPPL 대응
+ ------------ + + ----------------------- +
| IP 헤더 | | 수정 된 IP 헤더 | |
+ ------------ + + ----------------------- + |
| 페이 | | SEPPL 헤더 |> 암호화되지 않은
+ ------------ + + ----------------------- + |
                            | 초기화 벡터 | |
                            + ----------------------- + /
                            | SEPPL 헤더 |
                            + ----------------------- + | 암호화 되
                            | 페이 | |
                            + ----------------------- + /
원래의 IP 헤더는 가능한 한 유지된다. 만 세 개의 필드는 새 값으로 대체됩니다. 프로토콜 번호가 177로 설정되고, 오프셋 단편은 0으로 설정되고, 전체 길이의 새로운 길이로 보정된다. 다른 모든 필드는 IP 옵션을 포함하여, 그대로 유지됩니다.
암호화되지 않은 seppl 헤더는 1 바이트 암호 번호와 키 이름으로 구성됩니다. 현재는 0과 1은 128 비트 키, RESP와 AES를위한 암호 숫자로 정의된다. 192bit 키 AES. 키 이름 (7 바이트)는 큰 키링에 특정 키를 선택하는데 사용될 수있다.
IV가 사용될 암호의 CBC 코딩을 위해 사용된다. 이 패킷에 패킷 다릅니다 만, 무작위로 생성되지 않습니다. 때문에 perfomance 이유로, 시스템 시작시 초기 IV는 모든 다음의 IV는 이전의 것들을 증가에 의해 생성되는, 무작위된다.
암호화 되 seppl 헤더는 세 저장된 원래의 IP 헤더의 필드 (프로토콜 번호, 오프셋 조각, 전체 길이), 0은 불일치 키를 검출하기 위해 항상 바이트로 구성되어 있습니다.
페이로드는 TCP / UDP / 헤더로부터 다른 단부에, 원래의 IP-playload이다.
제한 사항 :
· seppl는 어떤 식 으로든 넷 필터의 연결 추적을 방해한다. 따라서 당신은 seppl와 함께 NAT를 사용할 수 없습니다. 당신이 seppl와 함께 다른 방법으로 연결 추적을 사용하는 경우 귀하의 마일리지가 다를 수 있습니다.
· seppl는 리눅스 2.6.1으로 테스트됩니다. 리눅스 2.4 버전 0.3을 사용합니다.
요구 사항 :
이 소스 코드 구성을위한 GNU Autoconf에와 GNU libtool이 공유 라이브러리 관리를 사용하기 때문에 · seppl 개발하고 2003년 11월에서 데비안 GNU / 리눅스 "테스트"에서 테스트되었습니다, 대부분의 다른 리눅스 배포판과 유닉스 버전에서 작동합니다.
· seppl는 리눅스 2.6. {0,1}이 필요합니다 (구성된 소스 설치)과의 iptables 1.2.8 또는 그 이상.
· 전체 사용자 공간 도구 세트는 파이썬 2.1 이상이 필요합니다. C에서 벗었 세트도 사용할 수 있습니다.
설치 :
이 패키지는 GNU autotools를 이루어집니다로서 당신은 소스 트리를 구성하기위한 배포 디렉토리 내에 ./configure를 실행해야합니다. 그 후 당신은 컴파일하게 실행해야하고 seppl의 설치 (루트로)를 설치합니다.
이 릴리스의 새로운 기능 :
· 리눅스 2.6, 다른 변화에 포트. 버전 0.4은 더 이상 커널 2.4와 호환되지 않습니다. 커널 2.4 버전 0.3을 사용하여, 그것은 기능적으로 동일합니다.

개발자의 기타 소프트웨어 Lennart Poettering

ifmetric
ifmetric

3 Jun 15

nss-myhostname
nss-myhostname

3 Jun 15

heatload
heatload

3 Jun 15

코멘트 seppl

댓글을 찾을 수 없습니다
코멘트를 추가
이미지를 켜십시오!