2004/09/01

DNS 백업 및 복원하기

1. Windows2000 Server ----> Windows2000 Server

백업 방법은 간단하다.... 일단, %systemroot%\system32\dns 폴더에 있는 각 도메인 DB파일을 복사하여 백업한다음에,

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNS]과
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNS\Zones]

둘중에 한곳에서 등록된 도메인의 하위 키값을 레지스트리 내보내기로 해서 파일로 저장합니다.

복원은 반대로, 일단, DNS서비스를 중지한다음에, DB파일을 원래 위치에 복사해 넣은다음에, 앞서 백업했던 레지스트리값을 병합하면 됩니다.

그런다음에, DNS시작후 데이터파일 업데이트 한후 다시 서비스 재시작해 주심됩니다.

2. Windows2000 Server --> Windows Server 2003

백업방법은 앞서방법과 같고,  복원이 약간다릅니다. Windows Server 2003의 경우
DNS 레지스트리 값 위치가 약간 다릅니다.

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows
NT\CurrentVersion\DNSServer\Zones]


기존의 2000 것을 위것으로 메모장등으로 편집해서 바꿔야 합니다. 어크로에디트 같은 편집툴로 확 한번에 바꾸시면 됩니다.

3. Windows Server 2003 ---> Windows Server 2003

이건, 2000에서 하던 방법과 동일하게 하시면 됩니다.


*추가팁:

위의 경우는 DNS에 등록한 도메인 리스트 정보를 레지스트리에서 관리하는 것으로 해당 DNS서버에서 파일로 저장하기를 하면 system32\dns 에 boot 파일이 생성됩니다.
그러면, 이 boot 파일과, 각 도메인 DB파일을 다른 서버에 이동한후 DNS를 restart 하시면 됩니다. 복사전에 대상서버의 DNS 데이터 저장을 파일로 해놓아야 합니다.


Windows 2000 Server 기본 보안 검사 목록

1. 모든 디스크 파티션이 NTFS로 포맷되었는지 확인

2. Administrator 계정에 강력한 암호를 사용하고 있는지 확인

3. 불필요한 서비스를 사용 안함으로 설정
-> 2000에서는 필요없는 서비스가 실행되는게 많음.

4. 불필요한 계정을 사용 안함으로 설정하거나 삭제

5. 파일 및 디렉토리 보호
->특히 웹서버 주의..

6. Guest 계정을 사용하지 않는지 확인

7. 익명 액세스로부터 레지스트리 보호

8. 적절한 레지스트리 ACL을 적용

9. 공개 로컬 보안 인증(LSA)의 정보에 대한 액세스 제한

10. 강력한 암호 정책 설정
-> 최소 8자이상, 복잡성만족..

11. 계정 잠금 정책 설정
-> 웹서버일경우 주의하세요.

12. Administrator 계정 구성
-> 계정이름을 변경하거나 권한변경..

13. 모든 불필요한 파일 공유 제거
-> 당근.

14. 모든 필수적인 파일 공유에 대해 적절한 ACL 설정

15. 바이러스 백신 소프트웨어와 업데이트 설치
-> 백신소프트웨어 설치는 서버성능에 미치는 영향에 대해서 의견분분...

16. 최신 서비스 팩 설치

17. 적절한 post-Service Pack 보안 핫픽스 설치


이 정도만 해놓아도 상당한 효과가 있습니다.



31-TechNetB_masthead_ltr.gif

서비스 거부 공격에 대비한 TCP/IP 스택 강화 레지스트리 값

Windows 2000 기반 워크스테이션과 서버에서 TCP/IP(Transmission Control Protocol/Internet Protocol) 프로토콜 스택을 강화합니다.

기본 TCP/IP 스택 구성은 정상적인 인트라넷 트래픽을 처리하도록 조정되어 있으나, 컴퓨터를 인터넷에 직접 연결한 경우 서비스 거부 공격에 대비하여 TCP/IP 스택을 강화하는 것이 좋습니다.

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services

  • 값 이름: SynAttackProtect
    키: Tcpip\Parameters
    값 종류: REG_DWORD
    유효 범위: 0,1,2
    기본값: 0

    이 레지스트리 값은 전송 제어 프로토콜(TCP)이 SYN-ACKS의 재전송을 조정하도록 합니다. 이 값을 구성하면 SYN 공격(서비스 거부 공격의 한 종류)이 발생한 경우 연결 응답이 더 빨리 시간 초과됩니다.

    다음은 이 레지스트리 값과 함께 사용할 수 있는 매개 변수입니다.
    • 0(기본값): SYN 공격에 대한 일반적인 보호를 하려면 SynAttackProtect0으로 설정합니다.
    • 1 : SYN 공격에 대하여 보다 높은 수준의 보호를 하려면 SynAttackProtect1로 설정합니다. 이 매개 변수는 TCP가 SYN-ACKS의 재전송을 조정하도록 합니다. SynAttackProtect1로 설정하면 SYN 공격이 이루어지고 있는 경우 연결 응답이 더 빨리 시간 초과됩니다. Windows는 공격이 진행 중인지 확인하기 위하여 다음 값을 사용합니다.
      • TcpMaxPortsExhausted
      • TCPMaxHalfOpen
      • TCPMaxHalfOpenRetried

    • 2 : SYN 공격에 대하여 최상의 보호를 하려면 SynAttackProtect2로 설정합니다. 이 값은 연결 표시가 더 지연되도록 하며, SYN 공격이 진행 중일 때는 TCP 연결 요청이 더 빨리 시간 초과됩니다. 이 값은 권장 설정입니다.

      참고: 다음 소켓 옵션은 SynAttackProtect 값을 2로 설정하면 더 이상 작동하지 않습니다.
      • 확장 가능한 창
      • 각 어댑터에 구성된 TCP 매개 변수(초기 RTT 및 창 크기 포함)

  • 값 이름: EnableDeadGWDetect
    키: Tcpip\Parameters
    값 종류: REG_DWORD
    유효 범위: 0, 1(False, True)
    기본값: 1(True)

    다음은 이 레지스트리 값과 함께 사용할 수 있는 매개 변수입니다.
    • 1 : EnableDeadGWDetect1로 설정하면 TCP는 더 이상 작동하지 않는 게이트웨이를 검색할 수 있습니다. 더 이상 작동하지 않는 게이트웨이 감지가 사용되면 TCP는 여러 연결에 문제가 발생하는 경우 인터넷 프로토콜(IP)에 백업 게이트웨이를 변경하도록 요청할 수 있습니다. 백업 게이트웨이는 네트워크 제어판에 있는 TCP/IP 구성 대화 상자의 고급 섹션에서 정의됩니다.
    • 0 : EnableDeadGWDetect0으로 설정하는 것이 좋습니다. 0으로 설정하지 않으면 공격으로 인하여 서버가 강제로 원하지 않는 게이트웨이로 전환될 수 있습니다.
  • 값 이름: EnablePMTUDiscovery
    키: Tcpip\Parameters
    값 종류: REG_DWORD
    유효 범위: 0, 1(False, True)
    기본값: 1(True)

    다음은 이 레지스트리 값과 함께 사용할 수 있는 매개 변수입니다.
    • 1 : EnablePMTUDiscovery1로 설정하면 TCP는 최대 전송 단위(MTU)나 원격 호스트 경로에 대한 최대 패킷 크기의 검색을 시도합니다. TCP는 경로의 MTU를 검색하고 TCP 세그먼트를 이 크기로 제한하여 경로에 있는 각자 다른 MTU로 네트워크에 연결하는 라우터에서 조각을 제거할 수 있습니다. 조각이 있으면 TCP 처리량에 좋지 않은 영향을 줍니다.
    • 0 : EnablePMTUDiscovery0으로 설정하는 것이 좋습니다. 이렇게 하면 로컬 서브넷에서 호스트하지 않는 모든 연결에 576바이트의 MTU가 사용됩니다. 이 값을 0으로 설정하지 않으면 공격자가 강제로 MTU를 아주 작은 값으로 설정하여 스택의 부하가 커집니다.
  • 값 이름: KeepAliveTime
    키: Tcpip\Parameters
    값 종류: REG_DWORD-밀리초 단위 시간
    유효 범위: 1-0xFFFFFFFF
    기본값: 7,200,000(두 시간)

    이 값은 TCP가 연결 유지(Keep-alive) 패킷을 보내어 유휴 연결이 열려 있는지 확인하는 횟수를 결정합니다. 연결이 유지되어 있다면 원격 컴퓨터가 Keep-Alive 패킷을 인식합니다. Keep-Alive 패킷은 기본적으로 보내지지 않습니다. 연결에서 이 값을 구성하기 위한 프로그램을 사용할 수 있습니다. 권장값은 300,000(5분)입니다.
  • 값 이름: NoNameReleaseOnDemand
    키: Netbt\Parameters
    값 종류: REG_DWORD
    유효 범위: 0, 1(False, True)
    기본값: 0(False)

    이 값은 컴퓨터가 이름 해제 요청을 받을 때 NetBIOS 이름을 해제할지 여부를 결정합니다. 이 값은 관리자가 악의적인 이름 해제 공격으로부터 컴퓨터를 보호할 수 있도록 추가되었습니다. NoNameReleaseOnDemand 값을 1(기본값)로 설정하는 것이 좋습니다.

    참고: NoNameReleaseOnDemand 값을 사용하려면 Windows 2000 서비스 팩 2(SP2) 이상을 사용해야 합니다.

..
다음 부분을 Syn.reg 파일을 만들어 클릭해서 넣어시면 됩니다.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
"SynAttackProtect"=dword:00000002
"TcpMaxHalfOpen"=dword:00000100
"TcpMaxHalfOpenRetried"=dword:00000080
"EnableICMPRedirect"=dword:00000001
"NoNameReleaseOnDemand"=dword:00000001
"EnableDeadGWDetect"=dword:00000000
"KeepAliveTime"=dword:00300000
"PerformRouterDiscovery"=dword:00000000
"EnableICMPRedirects"=dword:00000000





31-TechNetB_masthead_ltr.gif

가장 많이 본 글