it-swarm-korea.com

계정 잠금 DoS 방지

다음 시나리오로부터 보호하는 방법에 대한 아이디어가 있습니까?

X 회사는 직원 인증을 위해 Active Directory를 사용합니다. 회사에는 준 공개 및 일부는 완전히 공개 된 여러 인증 지점이 있습니다. (예 : 인터넷에서 액세스 할 수있는 엑스트라 넷)

사용자 이름은 직원 이름을 기준으로 표준 명명 규칙을 따르므로 추측하기 쉽습니다.

Eve가 회사 X에 대해 DoS를 설치하고 많은 직원 이름에 액세스 할 수 있다면 회사의 많은 직원에 대한 계정을 잠그는 것이 사소한 것처럼 보일 것입니다.

이러한 유형의 공격으로부터 보호하는 방법에 대한 아이디어가 있습니까?

가변 길이 잠금이 도움이 될 수 있지만 직원이 로그인하지 않고 일하고 있음을 의미합니다.

생각?

23
Josh Brower

Microsoft Lync (이전의 Office Communications Server)를 사용하여 무차별 대입 공격을 완화하는 방법을 설명하는 문서가 있습니다.

http://blogs.technet.com/b/drrez/archive/2010/05/26/protecting-the-Edge-server-against-dos-and-password-brute-force-attacks-in- office-communications-server.aspx

짧은 발췌:

"DoS 공격은 합법적 인 로그인 요청과 구별 할 수 없습니다. 유일한 로그인 시도와 출처의 빈도 만 다릅니다. 빠른 연속으로 많은 로그인 시도가 DoS 공격을 나타낼 수 있습니다. DoS 공격은 인증되지 않은 액세스 권한을 얻기 위해 사용자의 비밀번호를 추측하고 Active Directory에서 보안 정책을 사용하는 경우 종종 사용자 계정을 잠 그게됩니다. "

"보안 서버는 Edge Server에서 계정 잠금을 시행함으로써 네트워크 경계의 Edge에서 DoS 공격을 방지하고 그 결과 내부 Office Communications Server 리소스를 보호합니다"

Microsoft에는 제목이 다른 백서가 있습니다 : 계정 잠금 모범 사례 백서
"외부 계정 잠금 서비스 거부 공격으로부터 보호"를 검색하십시오

주요 스 니펫 (복사 된 그대로) :

외부 계정 잠금 서비스 거부 공격으로부터 보호
악의적 인 사용자가 네트워크 외부에서 기업에 대한 서비스 거부 공격을 시작할 수 있습니다. 대부분의 네트워크가 서로 연결되어 있기 때문에 완화하기 어려운 공격이 될 수 있습니다. 다음 기술은 이러한 공격을 완화하거나 예방하는 데 사용할 수있는 일반적인 기술 및 기술입니다.

복잡한 암호 필요 : 모든 계정에는 복잡한 암호가 있어야합니다. 모든 관리자 계정 (로컬 및 도메인)은 길고 복잡한 암호를 가져야하며 정기적으로 암호를 변경해야합니다.

관리자 계정 이름 바꾸기 : 관리자 계정을 잠글 수 없으므로 계정 이름을 바꾸는 것이 좋습니다. 이렇게해도 관리자 계정에 대한 모든 공격이 완화되는 것은 아니지만 대부분의 경우 이러한 공격을 완화하는 데 도움이됩니다. 자세한 내용은 Microsoft 기술 자료 | http : //support.Microsoft.com/? id = 320053의 "방법 : Windows 2000에서 관리자 및 게스트 계정 이름 바꾸기"를 참조하십시오.

방화벽으로 환경을 보호하십시오 : 계정 잠금 서비스 거부 공격을 방지하려면 TCP 및 UDP 포트 135 ~ 139를 차단하십시오. 라우터 및 방화벽의 포트 445. 이렇게하면 네트워크 외부에서 발생하는 로그온 시도를 방지 할 수 있습니다.

익명 액세스 방지 : 인터넷에 노출 된 모든 컴퓨터 및 모든 컴퓨터가 실행중인 경우 전체 도메인에 RestrictAnonymous 값을 2로 설정하십시오. Windows 2000 이상의 버전. 악의적 인 사용자가 리소스에 익명으로 연결하는 것을 막고 일부 유형의 공격을 물리 칠 수 있습니다. 일부 운영 체제는이 설정이있는 컴퓨터를 제한적으로 지원합니다. 프로그램이 익명 연결을 사용하여 리소스에 액세스하는 경우 일부 프로그램에이 설정에 문제가있을 수도 있습니다. 자세한 내용은 Microsoft 기술 자료 (http://support.Microsoft.com/?id=246261)에서 "Windows 2000에서 RestrictAnonymous 레지스트리 값을 사용하는 방법"을 참조하십시오.

VPN 터널을 사용하여 사이트 간 트래픽 보호 : 두 사이트의 도메인 구성원간에 통신이 필요한 경우 사이트 간을 사용하십시오. 사이트 네트워크를 안전하게 연결하기위한 VPN 터널. 방화벽에서 모든 NetBIOS 포트를 열지 마십시오. Windows 2000 Server 라우팅 및 원격 액세스 서비스를 사용하여 사이트 간 VPN 터널을 만들 수 있습니다. 사용 가능한 VPN 장치가없는 경우 각 사이트에서 사용하는 IP (Internet Protocol) 주소 범위 사이에서 흐름이 허용되는 트래픽을 제한하도록 Edge 방화벽 또는 라우터 필터를 구성해야합니다. 사이트에서 인터넷을 통해서만 Active Directory 복제를 사용해야하는 경우 방화벽을 통해 IPSec (인터넷 프로토콜 보안) 전송 모드를 사용하여 Active Directory 서버 간의 모든 트래픽을 보호하십시오. 방화벽을 통한 Active Directory 복제에 대한 자세한 내용은 Microsoft 웹 사이트 | http : //www.Microsoft.com/serviceproviders/columns/config_ipsec_p63623.asp의 "방화벽을 통한 Active Directory 복제"백서를 참조하십시오.

인터넷 공격으로부터 인증 및 NetBIOS 포트 보호 : 내부 네트워크를 인터넷에 연결하는 방화벽 또는 라우터에서 TCP 및 UDP 포트 135-139 및 포트 445. 사용 가능한 Edge 필터링 장치가없는 경우 IPSec 필터를 사용하여 이러한 포트를 차단할 수 있습니다. 이렇게하려면 Microsoft 기술 자료 | http : //support.Microsoft.com/? id = 813878의 "IPSec을 사용하여 특정 네트워크 프로토콜 및 포트를 차단하는 방법"에 설명 된 구성을 사용하십시오.

• 동일한 IPSec 정책에서 소스 주소가 내부 네트워크에서 사용하는 서브넷에있을 때 이러한 포트로 트래픽을 허용하도록 필터를 추가하는 추가 규칙을 만들어야합니다. 이렇게하려면 Microsoft 기술 자료 | http : //support.Microsoft.com/? id = 813878의 "IPSec을 사용하여 특정 네트워크 프로토콜 및 포트를 차단하는 방법"에 설명 된 구성을 사용하십시오.

내부 공격으로부터 인증 및 NetBIOS 포트 보호 : 내부 악의적 인 사용자로부터 인증 및 NetBIOS 포트에 대한 액세스를 모두 보호해야하는 경우 IPSec의 기능을 사용하여 보안을 협상 할 수있는 도메인 구성원 컴퓨터에만이 포트에 액세스 할 수 있습니다. 신뢰할 수있는 컴퓨터 (도메인 구성원 컴퓨터) 만 인증 및 NetBIOS 포트에 모두 액세스 할 수 있도록하여 공격을 수행 할 수있는 컴퓨터 수를 줄입니다. 이 추가 보호 기능은 보안 경계의 위반 및 내부 네트워크에 연결할 수있는 악의적 인 사용자로부터 보호합니다. TCP 및 UDP 포트 135-139 및 포트 445에 액세스하기 위해 IPSec 보안을 협상 할 때 Kerberos 인증을 사용하도록 사용자 지정 IPSec 정책을 만드는 방법에 대한 자세한 내용은 "인터넷 프로토콜 보안에 대한 단계별 가이드"를 참조하십시오. Microsoft 웹 사이트 | http : //www.Microsoft.com/windows2000/techinfo/planning/security/ipsecsteps.asp의 "IPSec)"를 참조하십시오.

서버 업데이트 : 모든 서버를 최신 버전의 바이러스 백신 소프트웨어, 방화벽 소프트웨어 및 Windows 보안 패치로 최신 상태로 유지하십시오. 이는 악의적 인 사용자가 인터넷 대신 내부 네트워크에서 공격을 시작할 수있는 경우 트로이 목마 프로그램 및 바이러스가 리소스를 공격하는 것을 방지합니다. 이러한 업데이트는 심층적이고 방어적인 보안 전략의 중요한 부분입니다.

9
Tate Hansen
  1. 발각
    • 높은 계정 잠금 빈도를 경고하려면 감사 제어가 필요합니다.
  2. 방어
    • 한 가지 아이디어는 계정 잠금을 유발하는 소스 IP 주소를 추적하는 것입니다. 이 src IP 주소가 정의 된 임계 값을 초과하면 (예 : 10 초에 2 개의 계정) 웹 사이트에서 인증 시도를 계속하려면 CAPTCHA를 입력하라는 메시지가 사용자에게 표시됩니다. 이렇게하면 공격자가 계정 잠금 공격을 스크립팅 할 수 없게됩니다.
    • Src IP 주소가 두 번째 임계 값을 초과하면 (예 : 60 초 내에 10 개의 계정이 잠김) IP 주소가 X 분 동안 차단됩니다. 공격자가 회사 NAT 뒤에있는 경우 다른 사용자를 차단할 수 있지만 응용 프로그램을 방어하는 데 사용할 수있는 옵션입니다.

공격자가 여러 프록시를 사용하고 있고 다양한 소스 IP 주소를 활용하는 계정 잠금 공격을 스크립팅 한 경우 이러한 아이디어를 사용할 수 없습니다. 그러나 1 단계의 감지 제어 기능이 문제를 수동으로 조사 할 수있는 관리자에게 경고했습니다.

이 중 어느 것도 LDAP에 내장되어 있지 않으며 모두 사용자 정의 코드입니다.

  • 남자 이름
7
Michael Coates

가장 먼저 염두에 두어야 할 것은 일단 계정이 잠겨 있으면 여러 계정에서 여러 번의 로그인 실패를 감시하는 것입니다. 예 : Eve는 Bob의 계정을 10 회 시도하여 잠 깁니다. 그런 다음 팀의 계정을 시도하여 잠 깁니다. n 번의 계정 후에 누군가가 계정을 DoS하려고한다는 것이 좋습니다. 그러나 이것이 실제로 문제를 해결하는 것은 아니며 감사 만 허용합니다.

간단한 해결책은 네트워크별로 로그인 잠금을 분리하는 것이므로 익스트라 넷을 통해 로그인을 시도하고 잠긴 경우에도 로컬로 로그인 할 수 있습니다. 그 말로, Active Directory를 통해 어떻게 그렇게 할 수 있는지 확실하지 않으며 이것이 어떤 영향을 미쳤는지 확실하지 않습니다.

3
Steve

어떤 이유로 든 내부 인증 계정에서 공개 인증 지점을 분리 할 수없는 경우 잠긴 사용자를 지속적으로 처리해야 할 가능성이 있습니다. 위반의 즉각적인 위협이없는 경우에도 잠금 해제 요청으로 관리자 팀에 과부하가 걸릴 수 있습니다.

또한 또 다른 측면이 있습니다. 계정 잠금은 내부 네트워크에서도 문제가 될 수 있습니다. 과거에 악성 코드는 확산하기 위해 강제로 계정을 무차별 화하려고 시도하는 것으로 알려져 있습니다 (예 : 일부 conficker 버전은 ADMIN $ 공유에 대한 사전 공격을 시도하고 있음). 이는 관리자에게 불편한 상황을 초래할 수 있습니다.

그러므로 나는 제안 할 것이다 :

  1. 전체 잠금을 방지하기 위해 잠금 정책을 신중하게 고려
  2. 최종 잠금 해제를 위해 "잠금 해제"안전을 미세 조정

LockOutThreshold, ObservationWindowLockOutDuration이 모든 것에 도움이 될 수 있습니다. 정확한 사용법을 보려면 MS 계정 잠금 모범 사례 를 확인하십시오.

내가 생각할 한 가지 접근법 (위의 문서에서 더 많은 제안)은 다음과 같습니다.

일반 사용자 :

  • (망각 사용자를 돕기 위해) 중간 또는 많은 시도 횟수,

  • (상대적으로) 짧은 관측 창 (무차별 대입 공격 방지)

  • 빠른 릴리스, 아마도 15'-30 '

관리자 :

  • 몇 번의 시도 (암호를 알아야 함)

  • 조금 더 긴 관찰 창

  • 몇 시간 후에 풀다

당신 아이디어?

2
George