dns는 도메인 이름 시스템입니다. 그것은 udp -와 tcp - 기반 프로토콜이 수신 대기 포트 53. tcp 연결이 자주 사용에 대한 영역 전송합니다.
가 dns 일치 주소를 호스트 이름 (및 호스트 이름을 주소)입니다. 초과가 서버는 책임, 또는 권위를 위해 특정 부분을 도메인 이름 시스템 (예를 들어, mybitofthenet.com)입니다.
고객을하게 요구의 서버와 통신할 때 시스템에 대한하려면 어떤 이들이 전용의 정규화된 호스트 이름 (예를 들어, myserver.mybitofthenet.com)입니다.
가 dns는 중요한 부분을 네트워크 인프라입니다. 그 실패 - 여부를 통해 행정 무능하거나 서비스 거부 - 주요 결과를가 질 수있습니다.
|
|
dns 프로토콜은 보안 문제가있습니다. 약점에 대한 자세한 설명과 dns와 그 프로토콜에서 찾을 수있습니다 http://www.geocities.com/compsec101/papers/dnssec/dnssec.html. dns입니다에서 정의하는 여러가 지 rfc - http://www.dns.net/dnsrd/rfc/에 대한 전체 세부 사항을 참조하십시오.
으로까지 유닉스 호스트 보안 상태를가 장 널리 사용되는 dns 서버 소프트웨어는 바인드 (버클리 인터넷 이름 데몬), 개발한 인터넷 소프트웨어 컨소시엄 (isc)입니다. 기본적으로 바인드 데몬 "라는 이름"을 실행과 함께 루트 권한과 - 이것이 중요 -하지 않습니다 떨어진 후에 영구적으로 던져 그들 바인딩을 포트 53. 따라서, 취약점은 바인드 결과의 완전한 시스템이 손상될 수있습니다.
이 트랙의 기록을 살펴 봅시다 바인드합니다.
릴리스 8.2.3이 발표되었습니다 2001 년 1 월를 해결하기 위해 4 개의 보안 취약점을 발견하여 은밀한 랩 (pgp 보안), 클라우디오 musmarra. 2 개의 버퍼 오버플로우를 허용 원격의 공격자가 실행하는 코드들의 선택합니다. 가 입력 유효성 검사 오류를 사용하면 공격자가 실행하는 코드, 그리고 정보 유출을 사용하면 데이터에 스택으로 조회하여 공격자입니다. 이 마지막 한 것 같아 너무 나쁜하지 않을 수도있습니다. 결국,가 아닌 직접적인 루트 타협으로 - 대기, 그러나 실제로는 특정 사이트를 상대로 어시스트의 발전은 악용한다. 의 스택을 보유 지역 변수, 환경 변수, 그리고 중요한 과정을 해결할 수있습니다. 에 대한 액세스를 확보하여 이들을가 버퍼 오버플로 작성할 수있습니다없이 재판 및 오류입니다. 이것이 의미하는 1 - 촬영하기 때문에 버퍼 오버플로우는 주로 공격 - 있으면 그것도 약간 잘못 얻을 수있는가 능성이 충돌하는 서비스로 낙서 전체 스택 데이터가 프로그램에 의해 즉시 그후 신뢰합니다.
바인딩가있었습니다 12 보안 권고에서 4 년 만에 cert - 좀처럼를 보증의 구속 보안!
하는 주요 요인은 복잡의 바인드 코드가있습니다. 경험 많은 c 프로그래머 코멘트가 바인드 코드는 이해하기 어려운만큼합니다. 프로그래머 투쟁을 수행할 때 무엇이 문제를 이해하실 수있습니다의 보안 문제를 확인합니다. 복잡한 코드는 하드에 감사 - 모듈형 설계 업무 우수하며,이를 통해 중소, 개별 프로그램 (이 쉽게 감사)를 수행할 권한이 작업을합니다. 물론 isc 개발에 착수하지 않았다 쓰기 무언가도 그들은 찾을 하드를 유지 - 팽창 어려움이 결과는 기능입니다. 어쩌면 그것은 하나의 사유의 isc 최근 작성 주요 부품의 바인드합니다.
2001 년 1 월, isc의 출시를 발표하는 주요 새 버전의 구속 - 버전 9.1.0. 이 버전을 포함합니다에 대한 지원을 dnssec -하는 프로토콜 확장 기능이이기는의 일부 보안 디자인 약점은 주식 dns 프로토콜 (dnssec입니다에서 정의 rfc 2535입니다.) 특히 코드가 아니었 modularized, 지금 우리가 새로운 코드가 여전히 하드 을 감사합니다. 많은 사이트가 능성이 계속 실행 바인드 8, 최소한의 단기.
공격자와 같은 것으로 나타났다 위반으로 구속 서버, 순전히 있도록 sans 요금 unpatched 바인드 서버의 번호를 하나의 보안 문제가 인터넷에서입니다. 악용에 대한 구속 abound. 서버는 인터넷의 맛있는 대상으로하기 때문에 대단히 다릅니다 즉시 그 다음입니다. 와 통제의 구속 서버, 진정으로 작업을 수행할 수있습니다 싸 것들, 예를 들면 :
· 박탈하는 사이트의 트래픽으로 변경하고 ip / 이름 맵핑가 존재하지 않는 주소입니다. 악화 여전히 리디렉션할 수있습니다 트래픽을 포르노 또는 경쟁 업체의 사이트입니다. 잃어버린 수익과 나쁜 보도하지 않는 도움이 회사의 주식입니다.
· 도장 전자 - 비즈니스 사이트를 수정하는 사이트의 dns 서버를지도에 장할 사이트, 그리고 신용 카드의 세부 정보를 수집, 사용자 계정과 비밀 번호가 세부 사항입니다.
· 악용 신뢰 관계 체제를 매핑하여 범위의 한 쪽의 신뢰 관계를 귀하의 기계입니다.
· 타협을 하나의 루트 이름입니다.
그 마지막 하나가 특히 걱정입니다. 루트 이름은 인터넷에있는 주소 지정에 대한 출발점입니다. 지 불과 13 루트 이름은 총 (인해 프로토콜 제한). 인수는 루트 이름, 그리고 인터넷의 손으로 할 수있습니다. 로서 별도의 선택의 플랫폼과 운영 체제에 대한 이러한 기계를 다음과 같이 보안을 통해 다양성의 원칙입니다. 를 인용에서 발견한 내용에 의해서의 (가 인터넷 공사에 대한 할당된 이름과 번호) 사이트 :
루트 서버가 스스로 모든 일부 변종은 유닉스 운영 체제를 사용하지만 하드웨어가 자료를 모두와 vendors'unix 변종은 비교적 다양 :의 13 루트 서버에는 7가 지 하드웨어 플랫폼을 실행 8 서로 다른 운영 체제 버전 5가 지 공급 업체입니다.
이것은 소리가 아이디어 - 중고의 성격으로 어머니가 자연을 자신합니다. 물론, 그것 나누기 다운 충분히 다양하지 않은 경우 관리자는 8 개의 서로 다른 운영 체제에 손을 안전하게 관리할 수있습니다.
외에도 보안 결함, 잘못된 구성이 일반적입니다. 크기 조정을하면 귀하의 사이트, 공격자는 요청이 영역 전송의 dns 서버입니다. 이것은 기본적으로 덤프의 모든 정보가 본인에게 특정> 영역입니다. 이것이 못지않는 네트워크지도! 하지 않게 할 수있습니다 해당합니다.
또 다른 구성이 버전 번호를 (다시)입니다. 에 대한 검색을 실행하는 경우 버전의 구속을하는 클라이언트는 검색어를 귀하의 dns 서버 및 귀하의 서버는 그들에게 말한다. 이것은 그리 좋은합니다.
또 다른 주요 위험을 마주 dns 프로토콜과 바인딩 구현이 거부 ser 부위 공격을합니다. 수많은 dos 취약점들이 발견되었습니다 바인드합니다. 서버를 해제되는 것을 방지 dns 쿼리를 해결하고 따라서 고객을 중지하고 신뢰를 dns 해상도 서비스 (즉, 거의 모든 사람)이 자신을 추적합니다.
분명한 대책을 찾기는 대안을 실행 바인드합니다. 여기에 귀하의 선택이 제한된 - 우리가 살고으로 바인드 을까지. 수 스위치를 마이크로 소프트의 dns 구현 (그건 아닌 권장 사항), 또는 모양에 대한 초과가 서버를 어디에 보안을 구현했습니다 기본 목표입니다.
의 유일한 경적 대안 저는 알고는 djbdns 패키지를 통해 다니엘 번스타인. 이것은 충분한 생산 용도로했다가 심각한 행성에 바인드합니다. 이는 보안을 염두에두고 설계 및 서면으로 프로그래머 경험에 서면 보안 코드입니다. 더 자세히 알아 여기에있습니다 : http://cr.yp.to/djbdns.html.
스틱과 함께하는 경우 바인딩, 몇가 지 일을 할 수있는 작업입니다. 하는 유용한 요약의 문제와 대책 http://www.acmebw.com/papers/securing.pdf에서 구할 수있습니다. 여러분은 적어도주는 심각한 생각을 다음
· 바인딩 루트로 실행하지 마십시오. 대신, 사용자 및 그룹을 새로 만듭니다. 이러한으로 지정 명령 - 라인 옵션을 실행하면 바인드합니다.
· chroot 명령을 실행하려면 바인딩을 사용합니다 있도록했습니다 파일에 대한 액세스를 제한합니다. 가 chroot 프로그램을 사용하면 디렉토리를 지정하는 프로세스는 취급으로 루트 디렉토리 (시행은 커널)입니다. 이렇게 생각을해야합니다 미니 중복은 사용자의 운영 체제를 만드는 바인딩은 더 이상 사용할 수 있기 때문에 중요한 시스템 라이브러리 및 구성 파일을 볼 수있습니다. 전체 지침을 찾을 수있습니다 위치 : http://www.etherboy.com/dns/chrootdns.html.
·의 버전 번호는 하드 - 코딩에 바인드 코드, 그래서이있는 경우 소스 코드를 간단하게 제거할 수있습니다하거나 대체 그것을 짜 버전이나 silly 메시지 (즐겁게). 그렇지 않으면,하실 필요가 이진 패치의 실행 - 행운! 최신 버전의 구속 버전을 요청하도록 구성할 수있습니다 특정 주소에서만 활성화됩니다.
· 구성 바인딩을 금지 영역 전송 이외에 부여된 서버 (예 : dns 노예)입니다.
|
|