'Encryption'에 해당되는 글 4건

  1. 2011.03.15 PPTP VPN 계정관리 Radius + MySQL (2)
  2. 2010.10.12 SiVuS - VoIP vulnerability scanner
  3. 2009.09.02 OpenSSL을 이용한 간단한 파일 암호화 방법
2011. 3. 15. 18:19

PPTP VPN 계정관리 Radius + MySQL

728x90

Caveats: MPPE encryption seems to be available with MS-CHAP authentication only. Not PAP and CHAP. This document assumes only MS-CHAP v2 is used. (As version 1 is totally broken securitywise.)

PPP and kernel:

Note: patching the kernel is only required if you are using a kernel version below 2.6.15-rc1 -- James Cameron, 2005-11-16.
Patch your kernel sources with the mppeinstall.sh script in linux/mppe/
Configure your kernel source for mppe support (make menuconfig or your prefered way.) The patch makes a new choice for a MPPE module under Network devices - PPP.

Compile and install your kernel and modules. I take it everybody knows how to do this and update their lilo/grub/whatever bootloader.

Note: current versions of modutils already have these aliases, you may not need them. -- James Cameron, 2005-11-16.
Doublecheck /etc/modules.conf for aliases to ppp_mppe and so on. 
alias char-major-108 ppp_generic
alias tty-ldisc-3 ppp_async
alias tty-ldisc-14 ppp_synctty
alias ppp-compress-18 ppp_mppe
alias ppp-compress-21 bsd_comp
alias ppp-compress-24 ppp_deflate
alias ppp-compress-26 ppp_deflate

Now is as good a time as any to reboot with your MPPE enabled kernel. (Some docs tells you to install ppp before reboot. Reason unknown, it shouldn't matter.)

Compile and install ppp. MPPE and ms-chapv2 support is compiled in by default.

PoPToP:

Compile and install. Nothing fancy needed, as it's pppd that does the magic.

PoPToP and pppd Configuration:

In my /etc/pptpd.conf I have
localip some.ip.add.ress
option /etc/options.pptpd

This is just for clarity, the default is off course /etc/ppp/options The clients get remoteip from radius, so we don't need it here as they will be overridden, but you could have them for clarity/confusion/easy testing without radius...

I only use mschap-v2, so my /etc/ppp/options.pptpd file is:
#-----------start----------
lock
#uncomment when testing:
#debug
name pptpd
proxyarp
asyncmap 0
-chap
-mschap
+mschap-v2
require-mppe
lcp-echo-failure 30
lcp-echo-interval 5
ipcp-accept-local
ipcp-accept-remote
ms-wins wins.server.ip.address
ms-dns dns.server.ip.address
plugin radius.so
#-----------end----------

Note: It might be "chapms" and not "mschap" as changes might be happening in the cvs.

Note: nologfd option may need to be placed above the plugin line in order to prevent a serial line loopback event. -- James Cameron, 2005-08-15.

The radius.so plugin uses the settings from radiusclient, so make sure:

/etc/radiusclient/servers contains the secret for your radius server(s)
Like:
localhost testing123

If the radius is on localhost using the default freeradius secret (bad idea off course...)

I think you must have the dictionary.microsoft file in /etc/radiusclient if you use ms-chap 1 or 2.

It should be there by default.

Set authserver and acctserver in /etc/radiusclient/radiusclient.conf if your radius server is not on the same machine as your poptop.

This file sure makes splitting authentication and accounting between two radius servers very easy.

Make sure both servers(if different) are listed in /etc/radiusclient/servers

Freeradius:

Compile and install. Also has all we need by default.

Freeradius configuration:

/etc/raddb/clients.conf: Should contain entries corresponding to the servers in /etc/radiusclient/servers for the client/NAS

(our pptp server):

client 127.0.0.1 {
   secret = testing123
   shortname = localhost
}

/etc/raddb/radiusd.conf: This is the relevant parts of my radiusd.conf for authentication and accounting in MySQL. Thanks to Charles J. Boening (charlieb@cot.net) for this. Just remove the sql parts if you don't want them, and add files or unix module or something.

Modules {
   # You might have more here
   # this is just the relevant part
   mschap {
      authtype = MS-CHAP
      use_mppe = yes
      #force 128bit:
      require_strong = yes
   }
}
authorize {
   preprocess
   suffix
   sql
   mschap
}
authenticate {
   mschap
}
preacct {
   preprocess
   suffix
   files
}
accounting {
   acct_unique
   detail
   sql
#  radutmp
}
session {
   sql
#  radutmp
}
#-----------end----------

set the correct server, user and pass in /etc/raddb/sql.conf

MySQL:

Mysql configuration should be trival, and basically consists of:

Create a database called for example "radius" in mysql. Fill it with the tables from the schema found in/src/modules/rlm_sql/drivers/rlm_sql_mysql/db_mysql.sql:

mysql radius < /path/to/db_mysql.sql

Populate your tables with usernames, passwords, reply items and so on. Consult the radius docs for more info.

Windows Clients: Remember, you need 128 bit encryption support. Win98/95 users needs dun14 update.

VPN connection properties: require encryption and allow ms-chap v2 protocol

Good luck.


출처 : poptop.sourceforge.net

Trackback 0 Comment 2
  1. 2011.03.17 15:58 address edit & del reply

    비밀댓글입니다

2010. 10. 12. 11:12

SiVuS - VoIP vulnerability scanner

728x90

webhttp://www.vopsecurity.org

Download: need to be registered

Licence: free

DescriptionSiVuS is the first publicly available vulnerability scanner for VoIP networks that use the SIP protocol. It provides powerful features to assess the security and robustness of VoIP implementations and it is used by VoIP product vendors, security consultants, network architects, researchers and students. We encourage our community to provide us with feedback so we can enhance the current implementation and support the efforts to strengthen the security of VoIP networks.

Sivus does not support MGCP and H.323 scanning.


 

Usage

1. SIP Components discovery

In the field "Target network" put the IP range which will be scanned, than press SCAN button.


The format in the target network field should be:

  • 192.168.1.3 – a single IP address to scan.
  • 192.168.1.3,192.168.1.4,192.168.5.10 – scan three IP addresses (note that each address is separated by a comma)
  • 192.168.1.1-255 – scan the entire C-class
  • 192.168.1.13-15 – scan hosts between 13 and 15 inclusively
  • 192.168.2-10.1-5 – scan the B class between subnets 2 and 10 and hosts 1 through 5

We may choose three transport protocol types to scan open ports usuallu uesd by SIP and it is UDP, TCP, TLS.

 

The result of the scan is described inside central window:


2. Vulnerability scanning

 Select host or hosts and click on Export to send IP address of the host into SCanner Control Panel. Then choose SIP scanner tabs and next Scanner configuration. Set up scanning options.


Part "User information configuration" can be used setup user informations used inside SIP messages during scanning. The SIVUS guide recommends that a test user is defined as the recipient of these messages (calls) in order to minimize user annoyance in a production network.





Trackback 0 Comment 0
2009. 9. 2. 18:14

OpenSSL을 이용한 간단한 파일 암호화 방법

728x90
Linux (리눅스) 를 사용하다 보면 간혹 파일을 암호화 해야 할 일이 있습니다. (보통 때는 거의 쓰지 않지만, 어떤 중요한 정보를 파일로 가지고 있어야 할 때는 요긴하게 쓸 수 있는 기능입니다. ^^ 윈도우에서도 이런 기능을 지원하는걸로 알지만 전 써본 일이 없습니다.)

제가 소개해 드리는 방법은 openssl 을 이용한 파일 암호화 방법 입니다.

참고 : openssl 은 인터넷에서 사용되는 보안 프로토콜인 SSL 과 TLS 를 지원하기 위하여 공개 소스로 개발된 라이브러리 및 프로그램을 말합니다. 아래는 참고 사이트 입니다. 좀 더 자세한 사항을 알고 싶으시면 클릭해 보시기 바랍니다.
1. OpenSSL 설치 확인

RedHat Linux (래드햇 리눅스) 의 경우에는 openssl이 기본적으로 설치되어 있습니다.

본인의 RedHat Linux (래드햇 리눅스) 에 OpenSSL 이 설치되어 있나 보실려면 먼저 "rpm -qa | grep openssl" 이 명령을 실행해 보시기 바랍니다. 설치되어 있는 경우에는 리스트에서 보실 수 있습니다. 만약 root 계정이 없으시면 간혹 실행이 안될때가 있는데, 이럴 경우 에는 그냥 openssl 이라고 쳐 보시기 바랍니다. 설치되어 있는 경우에는 아래와 같이 OpenSSL 이라는 프롬프트가 떨어집니다.

$ openssl
OpenSSL>

2. OpenSSL을 이용한 Encryption (암호화) 방법

이제 설치된 것을 알았으니, 해당 명령어를 이용하여 파일을 암호화 해보도록 하겠습니다.
테스트를 위해 먼저 plain.txt 라는 파일을 만드시기 바랍니다. 내용에는 그냥 Hello 라고 입력해 보시기 바랍니다.

그럼 이 파일을 암호화 해 보겠습니다.

$ openssl des3 -salt -in plain.txt -out encrypted.txt
enter des-ede3-cbc encryption password:
Verifying - enter des-ede3-cbc encryption password:


openssl 명령어를 보시면 대충 감이 오시겠지만, 간단히 설명하자면 des3 는 Encryption (암호화) 알고리즘 입니다. 이 알고리즘 외에도 여러가지가 있는데, 선택해서 쓰시면 됩니다. (제가 알기로는 AES 계열과 DES3 계열을 많이 쓰는걸로 알고 있습니다.)  "-in" 에는 암호화 하고자 하는 파일 이름을 넣으시고 "-out" 에는 암호화 된 파일 이름을 넣으시면 됩니다.

그럼 password 를 물어봅니다. 여기서 본인이 사용하고자 하는 password 를 입력하시면 됩니다. (이 password를 나중에 생각못하시면 파일을 복호화 할 수 없으니 반드시 알아 두셔야 합니다. ^^)

이렇게 하면 encrypted.txt 파일이 생깁니다. 한번 vi 로 열어 보시기 바랍니다. 암호화 되어 전혀 알아 볼 수 없다는 것을 아실 수 있습니다.

3. OpenSSL을 이용한 Decryption (복호화) 방법

이제 거꾸로 암호화된 파일을 복호화 하도록 하겠습니다.

$ openssl des3 -d -salt -in encrypted.txt -out plain2.txt
enter des-ede3-cbc decryption password:

Decryption (복호화) 명령어도 Encryption (암호화) 명령과 비슷합니다. 단순히 "-d" 옵션만 넣어주면 됩니다.

이제 plain.txt 파일과 plain2.txt 파일을 비교해 보시면 Decryption (복호화) 가 정상적으로 되었다는 것을 알 수 있습니다.

이상 "OpenSSL을 이용한 파일 Encryption (암호화) / Decryption (복호화) 방법" 이였습니다.


출처 : http://myknowledge.kr/

Trackback 0 Comment 0