티스토리 뷰
왜 Asterisk 를 사용하는가?
통신 소프트웨어로 Asterisk 는 상당히 강력한 툴이다.
오픈-소스이며, 무료 소프트웨어 이기 때문.
Asterisk 에는 어떤 공격들이 들어오는가?
통신업계에서 10년 20년의 수많은 경험을 보유하고 있지는 않지만,
지금까지 (약 7년) 겪어본 바에 의하면 아래와 같은 공격들이 들어온다.
1) 무작위 호 전송 공격
- 이 경우는 실제로 금전적인 피해가 발생하지 않지만, 서버에 무리가 갈 수 있는 공격들이 주로 들어온다.
예를들어, 나의 통신서버 IP/Port를 알고 무작위로 호를 대량으로 전송하는 경우가 있다.
이럴 경우, 통신서버에서 호가 OUT 으로 나가지는 않지만, 무작위 신호를 대량으로 받는 것 자체가 상당한 부하를 야기한다.
2) FreePBX Web UI 를 통한 접근
- 이 경우는 FreePBX WebUI 로 접근하는 경우이며, 보통의 경우 WebUI 를 통해 extension.conf 등의 Asterisk 설정파일에 자신들의 코드를 숨겨놓는 경우이다.
이것이 무서운 이유는 실제 관리페이지로 접근하여 서버 관리자처럼 행동하며, 금전적 손실을 불러일으킬만한 공격을 할 수 있기 때문이다.
3) 열려있는 ssh 나 ftp 포트로의 접근
- CentOS(또는 다른 linux) 로 구성된 서버는 ssh 나 ftp 로 접근할 수 있으며, 이를 통해 /var/spool/asterisk 폴더에 공격자가 정의한대로 행동하는 파일들을 생성 할 수 있다.
어떻게 방어하는가?
1) 모든 IP 를 허용하지 마라.
mVoip 앱과 서버가 바로 연결되는 나의 경우엔 불가피하지만, 기본적으로 sip.conf 에 permit= 또는 deny= 같은 flag를 이용하여, 모든 ip 가 서버로 접근을 허용하기보단, 최소한 내가 원하는 국가, 또는 ip 만을 허용하는 것을 원칙으로 한다.
2) sip.conf 에 alwaysauthreject=yes flag를 활용하라.
이 옵션은 bad authentication 에 대한 접근을 막아줄 것이다.
유효한 username 으로 접근하더라도 bad authentication 의 공격은 답을 주지 않는다.
(어떤 것이 bad authentication 인지에 대한 정의는 좀더 조사 후 다시 포스팅하겠음)
3) 강력한 비밀번호를 사용하라.
가장 기본적이고 당연한 이야기지만, 흔히 우리가 사용하는 모든 패스워드들을 어렵게 조합하듯이, FreePBX, SSH, Database, FTP 로 접근하는 모든 password를 숫자, 영어(대소), 특수문자를 조합하여 최대한 어렵게 만들어라.
4) AMI manager port를 막아라.
manager.conf 에서 permit= 또는 deny= 를 설정하여 접근을 막아라.
AMI 에는 당신의 Manager Interface 비밀번호가 적혀있다.
이쪽의 보안은 반드시 강력해야 한다.
5) 하나의 sip entity 에서 여러개의 Call 을 허용하지 마라.
각각의 conf 설정에서 call-limit 옵션을 이용한다.
6) SIP username 과 extension 을 다르게 설정하라.
보통의 경우 sip username 과 extension 을 같게 설정하는 경우가 대부분이다. (나도 마찬가지..) 이유는 따로 설정하기 매우 귀찮기 때문.
하지만, 이 설정은 매우 취약하다. 따라서, SIP username 과 extension 의 이름을 다르게 설정하는 것만으로도 상당수의 공격은 이미 피해갔다고 말할 수 있다.
7) 당신의 [default] 설정이 안전한지 확인하라.
unauthentication attacker 가 당신의 어떤 context 에 접근하더라도, 이 후 이를 방어할 수 있는 대책을 마련해 놓아라.
기본적으로 당신의 sip.conf에 allowguest=no 를 설정해 놓고,
추가적으로 extension.conf 쪽에 당신만의 dialplan 을 조합하여 이 외의 콜은 허용하지 않도록 하라.
'Computer > Asterisk&A2B' 카테고리의 다른 글
Asterisk ) var/www/html/recordings/index.php 해커 2 (0) | 2017.03.23 |
---|---|
Asterisk 해커 (0) | 2017.03.23 |
(Asterisk, FreePBX ) Call Pick-up : 당겨받기 (1) | 2016.12.29 |
(Elastix) 2.4.0 Password 분실시 대처법 (0) | 2016.11.07 |
Your new Card hasn't been inserted. (1) | 2016.09.01 |
- Total
- Today
- Yesterday
- CentOS
- C
- 서버
- nodejs
- git hub
- BBC 가쉽
- Kotlin
- Phaser
- 배열
- 안드로이드
- php
- 스위프트
- C언어
- linux
- 노드
- node.js
- 뉴스룸
- IOS
- GIT
- 손석희
- 깃헙
- Swift
- xcode
- 점유율
- Node
- Asterisk
- 앵커브리핑
- 리눅스
- mysql
- Android
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |