TLS 가 지원되는 SIP 서버에는 Asterisk(1.6이상 버전), Opensips 등이 있다.
나는 TLS 사용을 위해 Asterisk 1.6.1.6을 설치해서 사용하였다.
설치/ 설정 방법은 다음과 같다.
1. Asterisk 다운받기 : www.asterisk.org 사이트에서 최신 버전 다운로드.
2. Zaptel, Libpri 등 Asterisk 에서 필요한 라이브러리 다운 및 설치 (configure;make;make install)
3. /usr/src 디렉토리에 다운받은 asterisk 압축 풀기
4. asterisk 컴파일
./configure --with-ssl
make
make install
make samples
4. /etc/asterisk 폴더가 생성됨을 확인하고 이제 파일 설정
5. /etc/asterisk/sip.conf 에서 tls 및 유저 설정
<sample>
tcpenable=yes
tcpbindaddr=0.0.0.0
tlsenable=yes
tlsbindaddr=0.0.0.0
tlscertfile=/tmp/asterisk/asterisk.pem
tlscafile=/tmp/asterisk/asterisk.pem
[100]
type=friend
username=100
;secret=100
canreinvite=no
host=dynamic
callerid=100
transport=tls,tcp
[101]
type=friend
username=101
;secret=101
canreinvite=no
host=dynamic
callerid=101
transport=tls,tcp
6. /etc/asterisk/extensions.conf 파일 설정
<sample>
exten => 100,1,Dial(SIP/100,30,rt)
exten => 100,2,Congestion
exten => 100,3,Hangup
exten => 101,1,Dial(SIP/101,30,rt)
exten => 101,2,Congestion
exten => 101,3,Hangup
7. safe_asterisk 수행한 뒤 전화 등록/패킷이 지나가는지 확인
성공
뽀너스 - Asterisk 에서 사용하는 인증서 발급 받기
openssl 을 이용한 인증서 발급 - 다음 링크 참조
http://panoptic.com/wiki/aolserver/How_to_generate_self-signed_SSL_certificates
1. 키파일 생성
openssl genrsa -out key.pem 1024
2. 인증서 생성
openssl req -new -key key.pem -out request.pem
openssl x509 -req -days 365 -in request.pem -signkey key.pem -out certificate.pem
생성된 인증서를 아래와 같이 수정한 뒤 적용 (asterisk 에서는 인증서에 키가 포함되어 있어야 인식한다고 함)
cat key.pem > asterisk.pem
cat certificate.pem >> asterisk.pem
Reference
http://cafe.naver.com/asterisker - sanche00 님 글
Asterisk 포럼
'Information Security > Info.Security' 카테고리의 다른 글
Openssl - Cipher 고르기 (0) | 2012.04.12 |
---|---|
해쉬 알고리즘, SHA (0) | 2012.04.12 |
ARP & ARP Spoffing (0) | 2012.04.12 |
Information Classification (0) | 2012.04.12 |
The big three (0) | 2012.04.12 |