상세 컨텐츠

본문 제목

[주요정보통신기반시설 취약점 분석 평가] 윈도우즈(Windows) 서버 - 계정관리 <1.1~1.4>

[Tech] 정보보안/취약점 분석평가

by tech-dailylife 2021. 1. 12. 14:05

본문

반응형

개인적으로 교육 교안으로 활용하기 위해 작성하였습니다.

 

 

윈도우즈 서버에서 계정 관리는 보안사고를 예방할 수 있도록 설정을 안전하게 했는지 점검하고 개선하는 데 목적이 있습니다. 아래 뉴스 기사에서 보듯이 비인가자가 관리자 권한으로 로그인을 했을 때 PC에 악성코드를 심거나 랜섬웨어를 통해 공격할 수 있기 떄문에 윈도우즈 서버에서는 특히 기본에 충실하도록 설정값을 보안해야 합니다.

 

 

 

------------------------------------------------------------------------------------------------------------------------

 

 

1.1 Administrator 계정 이름 바꾸기

 

 

[점검 방법]

아래의 net localgroup Administrators 명령을 기반으로 스크립트를 작성하여 점검합니다.

Administartors 그룹에 존재하는 계정들을 출력하는 명령어입니다.

 

 

[분석 평가]

Administrator Default 계정을 그대로 사용하고 있어 패스워드 크래킹 위협에 노출되고 있습니다.

Adminstrator 계정명을 그대로 사용할 경우, 잘 알려진 계정명을 사용하기 때문에 패스워드 추측 공격, Brute Force 공격 등으로 사용자가 권한을 상승하거나 원격을 통한 접속 위협에 더 노출되어집니다.

 

 

[조치 방법]

"제어판 > 관리도구 > 로컬 보안 정책 > 로컬 정책 > 보안 옵션 > 계정 : Administrator 계정 이름 바꾸기"를 통해 조치를 진행합니다.

임의의 문자열로 변경합니다.

 

[이행 점검]

Administrator Default 계정 이름을 itpeadmin 으로 변경하여 패스워드 크래킹 위협을 방지하였습니다.

 

 

------------------------------------------------------------------------------------------------------------------------

 

 

1.2 Guest 계정 상태

 

[점검 방법]

아래의 net user guest 명령을 기반으로 스크립트를 작성하여 점검합니다.

net user는 계정 정보를 보기 위한 명령어입니다.

 

 

[분석 평가]

Guest 계정이 활성화되어 있어 불특정 다수의 임시적 시스템 접근이 무분별하게 허용되어 익명으로 비인가자가 접근하하여 정보 유출 등의 위험이 존재합니다.

 

[조치 방법]

"제어판 > 관리도구 > 로컬 보안 정책 > 로컬 정책 > 보안 옵션 > 계정 : Guest 계정 상태"를 통해 조치를 진행합니다.

사용에서 사용 안 함으로 변경합니다.

 

[이행 점검]

Guest 계정을 비활성화하여 익명으로 액세스하는 비인가자 접근을 방지하였습니다.

 

 

------------------------------------------------------------------------------------------------------------------------

 

 

1.3 불필요한 계정 제거

 

[점검 방법]

net user 명령으로 모든 계정을 조회하고 각 계정을 인자로 넣어 net user [계정명]으로 모든 계정의 정보를 조회합니다.

불필요한 계정을 판단하여 점검하며, 필요에 따라 담당자와 인터뷰를 진행합니다.

 

[분석 평가]

불필요한 계정이 존재할 경우 제거를 해야하며, 주기적으로 불필요한 계정이 있는지 확인하는 것이 좋습니다.

점검을 하면 보통 계정이 여러개 나눠져있는 서버가 많기 때문에 계정을 실제 사용하는지 불필요하게 남아있는 계정이 없는지 운영 담당자와의 인터뷰를 통해 확인해야 합니다.

불필요한 계정이라 하면 퇴직, 전직, 휴직 등의 사유롤 더이상 사용하지 않는 계정이 포함됩니다. 또한 실사용자가 없는 의심스러운 계정도 포함됩니다. 이런 계정들은 사용자가 없기 때문에 관리가 안되고 있을 가능성이 높아 새로운 침입 경로가 될 수도 있습니다.

담당자 인터뷰 결과,

tester 계정이 실사용 중이고 관리되고 있다고 확인된다면 양호로 판단하며,

반대로 사용 중이지 않는 계정이라면 취약으로 판단됩니다.

해당 계정을 삭제하여 조치하도록 가이드 합니다.

 

 

[조치 방법]

"실행 > LUSRMGR.MSC > 사용자 > 불필요 계정 선택하여 삭제" 를 통해 조치를 진행합니다.

 

[이행 점검]

불필요한 계정 없도록 조치가 되었습니다.

(참고로 해당 예시는 1.1 항목 Administrator 이름 바꾸기는 취약한 상황입니다.)

 

 

------------------------------------------------------------------------------------------------------------------------

 

 

1.4 계정 잠금 임계값 설정

[점검 방법]

net accounts 명령은 계정 정책에 관한 정보를 나타냅니다. 이 중 잠금 임계값(Lockout threshold)을 확인하여 점검합니다.

 

[분석 평가]

계정 잠금 임계값은 사용자 계정이 잠기는 로그온 실패 횟수를 말합니다. 계정 잠금 임계값이 5라고 한다면 5번 반복해서 로그온 실패를 한다면 계정이 잠겨버립니다. 이를 통해 무작위 대입 공격 등의 크래킹을 방지할 수 있습니다.

 

Never의 경우 0으로 설정된 경우이며, 이 것은 계정 잠금 임계값 설정이 없다는 것입니다. 따라서 무제한으로 로그온 시도를 할 수 있어 무작위 대입 공격에 취약합니다.

잠금 임계값이 5 이하인 경우에는 양호이며, 6보다 크거나 Never로 설정되지 않아 있으면 취약입니다.

 

 

[조치 방법]

"제어판 > 관리도구 > 로컬 보안 정책 > 계정 정책 > 계정 잠금 정책 > 계정 잠금 임계값"을 통해 조치를 진행합니다.

기존에 0이던 설정값을 5 이하인 3으로 설정합니다.

 

[이행 점검]

계정 잠금 임계값 설정이 조치되었습니다.

참고로 Administrator 계정은 계정 잠금 임계값 설정에 영향을 받지 않습니다. 일반 계정의 경우에만 3번 패스워드 입력 실패 시 잠기게 됩니다.

 

 

 

 

반응형

관련글 더보기

댓글 영역