아래 내용은 Windows Server 2016 Datacenter 버전을 기준으로 작성/실습하였습니다.
▨ 설명
중요도 중에 해당하는 취약점으로, 'Everyone 사용 권한을 익명 사용자에 적용' 정책이 '사용'으로 설정될 경우 비인가자가 익명으로 계정 이름과 공유 리소스를 나열하고, 이를 사용해 암호를 추측하거나 DoS 공격을 실행할 수 있습니다. 따라서 익명 사용자를 차단하기 위해 정책을 '사용 안 함'으로 설정해야 합니다.
- DoS
- Denial of Service, 서비스 거부
- 관리자 권한 없이도 특정 서버에 처리할 수 없을 정도로, 대량의 접속 신호를 한거번에 보내 해당 서버가 마비되도록 하는 기법
▨ 설정
'secpol.msc'를 실행하여 '로컬 정책 > 보안 옵션'에서 '네트워크 액세스: Everyone 사용 권한을 익명 사용자에게 적용'의 속성 값을 '사용 안 함'으로 설정
▨ 설명
중요도 중에 해당하는 취약점으로, 로그인 실패 시 일정 시간 동안 계정을 잠그지 않았을 경우 공격자의 자동화된 암호 추측 공격이 가능하여 사용자 계정의 패스워드 정보가 유출될 수 있습니다. 따라서 계정 잠금 기간을 설정하여 무분별한 자동화 공격 시도를 차단해야 합니다. + '계정 잠금 임계값'과 설정 필수
- 계정 잠금 기간 설정
- 계정 잠금 임계값을 초과한 사용자 계정이 잠기는 시간을 설정
- 잠긴 계정은 관리자가 재설정하거나 해당 계정의 잠금 유지 시간이 만료되어야 사용할 수 있음
- 계정 잠금 정책
- 해당 계정이 시스템으로부터 잠기는 환경과 시간을 결정하는 정책
- '계정 잠금 기간', '계정 잠금 임계값', '다음 시간 후 계정 잠금 수를 원래대로 설정'의 세 가지 하위 정책을 가짐
▨ 설정
'secpol.msc'를 실행하여 '로컬 정책 > 보안 옵션'에서 '네트워크 액세스: Everyone 사용 권한을 익명 사용자에게 적용'의 속성 값을 '사용 안 함'으로 설정
▨ 설명
중요도 중에 해당하는 취약점으로, 패스워드 설정 시 문자/숫자/특수문자를 모두 포함한 강화된 패스워드를 사용 강제하는 정책입니다. 사용자 암호가 패스워드 복잡성을 만족하지 못하는 반복되는 문자, 연속되는 숫자, 계정이름이 포함된 패스워드 등을 사용할 경우 Brute-Force Attack이나 Password Guessing Attack에 쉽게 크랙될 수 있습니다.
이 정책은 암호를 변경하거나 새로운 암호를 생성할 때 아래와 같은 규정을 만족하는지 결정합니다.
- 영문, 숫자, 특수문자 중 2종류 이상을 조합하여 최소 10자리
- 또는 3종류 이상을 조합하여 최소 8자리 이상의 길이를 구성
▨ 설정
'secpol.msc'를 실행하여 '계정 정책 > 암호 정책'에서 '암호는 복잡성을 만족해야 함'의 속성 값을 '사용'으로 설정
▨ 설명
중요도 중에 해당하는 취약점으로, 길이가 짧거나 일반적인 단어나 어구를 이용해 패스워드를 설정한 경우 쉽게 크랙이 가능합니다. 따라서 패스워드 최소 암호 길이 정책을 설정하여 일정 길이 이상의 패스워드를 설정하도록 해야 합니다.
암호 정책은 아래 세 가지 하위 정책들을 통해 암호 설정을 사용자에게 강제하여 컴퓨터를 보호합니다.
- 사용자에게 암호를 정기적으로 변경하게 함
- 암호의 최소 길이를 지정함
- 암호가 특정 복잡성을 만족시키도록 함
▨ 설정
'secpol.msc'를 실행하여 '계정 정책 > 암호 정책'에서 '최소 암호 길이'의 속성 값을 '8문자' 이상으로 설정
▨ 설명
중요도 중에 해당하는 취약점으로, 오랜 시간 패스워드를 변경하지 않으면 암호 추측 공격에 의해 유출될 수 있고 비인가자가 장기간 공격을 할 수 있으므로 해당 정책을 통해 사용자가 암호를 자주 바꾸도록 해야 합니다.
▨ 설정
'secpol.msc'를 실행하여 '계정 정책 > 암호 정책'에서 '최대 암호 사용 기간'의 속성 값을 '90일' 이상으로 설정
▨ 설명
중요도 중에 해당하는 취약점으로, 패스워드 변경 후 최소 사용 기간이 설정되지 않으면 변경 직후 사용자에게 익숙한 패스워드로 즉시 재사용이 가능해집니다. 따라서 최소 암호 사용 기간 정책이 설정되지 않으면 주기적인 패스워드 변경이 무의미해집니다.
이 정책은 '최근 암호 기억' 정책과 같이 적용될 경우 보안성이 훨씬 강화됩니다.
▨ 설정
'secpol.msc'를 실행하여 '계정 정책 > 암호 정책'에서 '최소 암호 사용 기간'의 속성 값을 '0'보다 큰 값으로 설정
▨ 설명
중요도 중에 해당하는 취약점으로, 마지막으로 로그온한 사용자의 이름이 로그온 대화 상자에 표시될 경우 사회 공학적 기법으로 암호 추측이 가능해질 수 있는 가능성을 막아야 합니다. 따라서 해당 정책을 '사용'으로 설정하여 악의적인 공격자에게 계정 정보가 노출되는 것을 차단합니다.
Windows 로그인 화면에 마지막으로 로그온 한 사용자의 이름이 표시될 경우, 주로 Console 사용자 및 Terminal 서비스 이용자에게 시스템에 존재하는 사용자 계정 정보를 노출합니다.
▨ 설정
'secpol.msc'를 실행하여 '로컬 정책 > 보안 옵션'에서 '대화형 로그온: 마지막 사용자 이름 표시 안 함'의 속성 값을 '사용'으로 설정
▨ 설명
중요도 중에 해당하는 취약점으로, 불필요한 사용자에게 로컬 로그온이 허용된 경우 비인가자를 통한 권한 상승의 가능성이 있습니다. 따라서 '로컬로 로그온 허용' 권한은 반드시 시스템 콘솔에 접근이 필요한 사용자 계정에만 부여해야 합니다.
▨ 설정
'secpol.msc'를 실행하여 '로컬 정책 > 사용자 권한 할당'에서 '로컬 로그온 허용(= 로컬 로그온)'의 속성 값 중 'Administrators / ISUR_(IIS 서비스를 사용할 경우)'만 남기고 다른 그룹과 계정은 제거
▨ 설정
중요도 중에 해당하는 취약점으로 이 정책이 '사용함'으로 설정된 경우, 익명 사용자가 다른 사용자의 SID(보안 식별자) 특성을 요청할 수 있습니다. 따라서 로컬 접근 권한이 있는 사용자라면 잘 알려진 Administrator SID를 사용해 Administrator 계정의 실제 이름을 알아낼 수 있고, 암호 추측 공격도 실행할 수 있습니다.
하지만 '사용 안 함'으로 설정할 경우 Windows NT Domain 환경에서 통신이 불가능할 수도 있습니다.
- SID
- Security Identifier, 보안 식별자
- MS Windows NT 계열의 OS에서 NT/2000 시스템의 네트워크 안 사용자 그룹이나 사용자의 주체를 식별할 목적으로 Domain Controller가 할당하는 고유 이름
- SID의 구조
ex. S-1-5-21-3623811015-3361044348-30300820-1013
S | 1 | 5 | 21-3623811015-3361044348-30300820 | 1013 |
SID를 뜻함 | SID 규격 버전 | 식별자 권한 값 | 도메인 및 로컬 컴퓨터의 식별자 | RID |
사용할 수 있는 식별자 권한 값은 다음과 같습니다.
- 0 - 권한 없음(Null Authority)
- 1 - 워드 권한(World Authority)
- 2 - 로컬 권한(Local Authority)
- 3 - 작성자 권한(Creator Authority)
- 4 - 비고유 권한(Non-unique Authority)
- 5 - NT 권한(NT Authority)
- 9 - 리소스 관리자 권한(Resource Manager Authority)
RID는 상대 식별자로, 기본값으로 만들지 않은 그룹이나 사용자는 1,000 이상의 상대 ID값을 가집니다.
- 500 : 관리자(Administrator) 식별자
- 501 : 게스트(Guest) 식별자
- 1000 이상 : 일반 사용자 식별자
▨ 설정
'secpol.msc'를 실행하여 '로컬 정책 > 보안 옵션'에서 '네트워크 액세스: 익명 SID/이름 변환 허용'의 속성 값을 '사용 안 함'으로 설정
▨ 설명
중요도 중에 해당하는 취약점으로 사용자가 새로운 암호를 설정할 때 현재 사용하는 암호나 최근에 사용했던 것과 같은 암호를 사용하지 못하게 합니다. 이 정책이 설정되지 않은 경우 특정 계정에 동일한 암호를 오랜 기간 사용하는 것이 가능해져, 패스워드 정보 노출 가능성이 커집니다.
이 정책은 '패스워드 최소 사용 기간' 정책과 같이 적용될 경우 보안성이 훨씬 강화됩니다.
▨ 설정
'secpol.msc'를 실행하여 '로컬 정책 > 암호 정책'에서 '최근 암호 기억'의 속성 값을 '4'개 이상으로 설정
▨ 설정
중요도 중에 해당하는 취약점으로 빈 암호를 가진 계정의 콘솔 / 네트워크 서비스 접근을 차단하는 방법입니다. 이 정책이 '사용 안 함'으로 설정된 경우 빈 암호를 가진 로컬 계정이 터미널 서비스나 네트워크 서비스에 접근할 수 있게 됩니다. 즉, 원격 대화형 로그온이 가능해집니다.
윈도우 원격 제어(mstsc)는 보안상 계정에 암호가 걸린 계정만 접속하도록 하지만, 이 정책을 활성화하면 계정에 암호가 걸려 있지 않아도 원격 제어가 가능하게 합니다.
▨ 설정
'secpol.msc'를 실행하여 '로컬 정책 > 보안 옵션'에서 '계정: 콘솔 로그온 시 로컬 계정에서 빈 암호 사용 제한'의 속성 값을 '사용'으로 설정
▨ 설명
중요도 중에 해당하는 취약점으로 비인가자의 원격 터미널 접속을 막기 위해 원격 터미널 사용자 그룹의 구성원을 최소화합니다.
▨ 설정
(1) 제어판의 '사용자 계정 > 사용자 계정 > 계정 관리' 탭에서 관리자 계정 이외의 test 계정 생성
(2) 제어판의 '시스템 및 보안 > 시스템 > 원격 설정' 메뉴 선택
(3) 시스템 속성 창에서 '이 컴퓨터에 대한 원격 연결 허용' 선택, '사용자 선택' 클릭, '추가' 선택
(4) 사용자 계정을 입력하고 원격 데스크톱 사용자에 'TEST' 계정 (일반 사용자 계정) 추가
'SYSTEM > Windows Server 보안' 카테고리의 다른 글
[WinServer2016] 사용자 계정 생성 및 관리 (2) net user와 wmic useraccount (0) | 2021.03.17 |
---|---|
[WinServer2016] 사용자 계정 생성 및 관리 (1) net user (0) | 2021.03.16 |
[Windows Server 2016] 1. 계정관리 (필수 사항) (0) | 2021.03.05 |
Windows Server 보안 List (0) | 2021.03.03 |
Windows Server 2016 다운로드 및 환경 구성 + 한국어 설정 (0) | 2021.03.02 |