전편

이번에는 윈도우 서버 취약점에 대해 알아보자. 우선 크게 세 가지로 나누어 볼 수 있는데

1. 계정 관리

2. 서비스 관리

3. 로그 관리 가 있다.

1) 계정 관리부터 한번 알아보자. 먼저 Administrator 계정의 이름을 바꿔야 한다. 크게 중요해 보이지 않을 수 도 있는데 바꿔야 하는 이유를 설명하자면 윈도우의 Administrator는 컴퓨터의 모든 권한을 가지기 때문에 제일 털고싶은 계정이기 때문이다. 근데 대놓고 관리자 계정이라고 숨기지 못할망정 광고를 하고 있으면 당연히 쉽게 털릴게 뻔해서 일단 저 관리자 계정의 이름을 바꾸란 거다.

바꾸는 방법은 ‘제어판 > 관리도구 > 로컬보안정책 > 로컬정책 > 보안옵션’ 에 보면 ‘계정:Administrator 계정 이름 바꾸기’ 가 있는데 이걸로 바꾸면 된다.

 두 번째는 Guest 계정 사용을 제한 시키는거다. Guest계정은 외부 사용자가 컴퓨터를 잠시 접근할 수 있게 해주는 계정인데 얘는 SID 값이 500번 대로 상당히 높은 접근 권한을 가지고 있다. 그러니 외부 사용자를 접근 시켜야 한다면 일반 사용자 계정을 생성해서 접근하게끔 하자. 막는 방법은 

‘제어판 > 관리도구 > 컴퓨터 관리 > 로컬 사용자 및 그룹 > 사용자’에서 Guest 선택 후 계정 사용 안 함을 체크하면 된다.

 세 번째는 불필요한 계정 삭제이다. 안쓰는건 지우자 그냥 Guest처럼 사용자에서 해당 계정을 삭제 또는 사용 안 함 으로 설정하자

 네 번째는 관리자 그룹에 최소한의 사용자를 포함시켜야 한다. 이번엔 ‘로컬 사용자 및 그룹 > 그룹’에서 Administrator 그룹 선택 후 불필요한 계정을 삭제하자.

 다섯 번째는 암호 정책 설정이다. 왜 써야 하냐면 아무 정책을 안써버리면 뚫기 쉬운 비번만 주구장창 쓸것이기 때문에... 방법은 ‘관리도구 > 로컬 보안 정책 > 계정 정책 > 암호 정책’에서 여러 가지를 설정 할 수 있다.

여기에서 암호는 복잡성을 만족해야 함 은 영문자/숫자/특수문자를 모두 포함해서 비번을 만들라는 것이다.

최근 암호 기억은

ㅇㅇ 우리를 화나게 하는 이거다. 권장 설정은 12개 까지 저장하는 거다.

최대 암호 사용기간 설정은 

이거다 ㅇㅇ 보통 사이트들이 설정 되어있듯 최대 사용기간은 90일 이하로 설정 하자 

최소 암호 사용 기간은 암호를 계속 바꿔서 최근 암호 기억 정책을 무력화 하는 것을 방지해준다. 일반적으로 1일로 설정하고 최소 암호 길이도 설정해 주자 8자리 미만의 암호는 무차별 대입 공격에 잘 뚫린다. 보통 8자 이상으로 사용하길 권장한다. 해독 가능한 암호화를 사용하여 암호 저장 도 있는데 이것도 사용 안 함을 권장한다.

 여섯 번째는 계정 잠금 정책이다. 설정은 ‘계정정책 > 계정 장금 정책’에서 할 수 있다. 이게 어떤거냐면 

이거다ㅅㅂ 보기만 해도 빡치네 암호 인수인계 제대로 하라고... 이러고 몇 분 있어야 다시 비밀번호를 입력 할 수 있게 하는 정책이다. 정책 설정은

이렇게 설정 할 수 있는데 계정 잠금 기간은 말 그대로 로그인 실패 임계값에 도달하면 얼마 동안 로그인 못하게 하겠다는 설정이고 계정 잠금 임계값은 몇 번 까지는 봐 주겠다 라는 것이다. 참고로 Administrator 계정은 잠기지 않는다ㅎ. 다음 시간 후 계정 잠금 수를 원래대로 설정은 실패한지 몇 분이 지나면 다시 로그인 시도 카운트를 0으로 돌려놓겠다는 거다. 권장 설정은 잠금 기간 60분, 임계값 5회 원상복구 60분 설정을 권장한다.

2) 서비스 관리 이다. 말이 거창하게 서비스 관리이지 공유에 관한 내용밖에 없다. 

일단 하드디스크의 기본 공유를 제거 해야한다. 윈도우는 프로그램 이나 서비스를 네트워크나 컴퓨터 환경에서 관리하려고 시스템 기본 공유 항목을 자동으로 생성해낸다. 

‘관리도구 > 시스템 도구 > 공유 폴더 > 공유’ 에 들어가면

이렇게 내 C드라이브가 기본 공유 설정이 되어 있는걸 확인 할 수 있다. 

그래서 같은 네트워크에 속해 있는 미인가 사용자가 \\내 IP\c$(도메인 등록이 되어있으면 IP대신 도메인 명)를 치면 들어 올 수 있다.

ㅇㅇ 미인가 사용자가 아니여도 멀웨어 같은 바이러스의 침투 경로가 되니 공유 설정이 필요한게 아니면 제거해줘야한다.

방법은 여러 가지가 있는데 가장 간단하게 공유에 들어가서 해당 드라이브 들은 공유 중지 하면 된다.

굳ㅋ 참고로 cmd로도 할 수 있다.

명령어가 net share <sharename> \\<computername> /delete 하면 지워지는데

sharename은 공유하고있는 폴더의 폴더명 computername은 컴퓨터의 IP나 도메인 이름을 넣으면 됨

문제는 이렇게 공유를 막았는데 재부팅하면 기본 공유 설정이 된 애들은 다시 공유 설정이 되는 찐빠가 난다. 이것을 해결하려면 레지스트리를 수정을 해야 한다. 레지스트리? 어디서?

레지스트리 에딧, regedit에 들어간다.

그러면 HKEY_LOCAL_MACHINE > SYSTEM > CurrentControlSet > Services > LanmanServer > Parameters를 선택 한 후

이따구로 길을 찾으면 된다. 경로로 찾을 수 있으면 그걸로 찾구... 여기에다가 AutoShareServer를 DWORD 값으로 생성해 주자

그러고 값을 0으로 설정하라는데 기본값으로 0이 설정 되어있네?

이렇게 하고 다시 net share 명령어나 공유에서 공유 중지를 하고 재부팅을 하면

굳ㅋ 이제 아무도 내 공유 폴더에 접근 할 수 없게 되어따

사실 위에 레지스트리인 AutoShareServer로 설정을 해놨으면 아마 설정이 안되었을 것이다. 위의 레지스트리는 윈도우 서버인 경우에 먹히는 레지스트리고 데스크톱 OS인 경우에는 이름을 바꿔야한다.

AutoShareWks로 바꿔서 다시 net share로 지운 후 해보자 아마 적용이 될 것이다 ㅇㅇ

그리고 공유 폴더를 사용하는 경우에 공유 폴더에 Everyone 그룹이 공유 폴더 속성에 공유 사용 권한을 가지고 있을 텐데 이거 없애주자 ㅇㅇ Everyone 그룹이 사용권한을 가지는 경우는 익명 사용자. 즉, 아무나 들어와서 쓰는 허벌 폴더가 될 수 있다. 얘도 컴퓨터 관리의 공유 속성에서 확인 하고 제거 할 수 있다.

참고로 관리용으로 설정 되어있는 c$ 라던지 그런 관리 성격을 띄는 공유 폴더는 속성 자체를 설정 할 수 없으니 참고하자. 이렇게 공유에 대한 서비스를 한번 점검 해 봤고 남은 것은 또 다른 불필요한 서비스를 제거하는 것이다. 취약한 서비스들이 기본값으로 설치되어 실행되고 있으면 그 서비스나 응용 프로그램 취약점을 통해 공격 받을 수 있으므로 필요가 없으면 제거 하는 것을 권장한다.

취약한 서비스는 Alerter(경고 메시지 전송), Clipbook(무슨 공유 프로그램 같은?), Messenger(net send로 메시지를 보내는 프로토콜? 서비스?), Echo, Discard, Daytime 같은 심플 TCP/IP 서비스들 등이 있다. 없애는 법은 ‘관리도구 > 서비스’ 에 들어가서 필요 없는 서비스 들을 찾아서 사용 안 함 으로 설정 하면 된다.

3) 로그관리 이다. 사용자가 컴퓨터 내에서 뭔가를 하면 그 행동(이벤트)을 기록한 것을 로그라고 하는데 감사(Audit) 라고도 한다. 윈도우 에서는 감사 정책을 통해 일정 이벤트 범주에 대해서만 로그를 남긴다. 그래서 적절한 수준의 이벤트 범주를 설정해야 한다. 얘는 ‘로컬 보안 정책 > 로컬 정책 > 감사 정책’에서 설정이 가능하며 각 설정 마다 권장하는 설정 값이 있다.

이 표를 참고하자 ㅇㅇ 참고만 하라고

그 외에도 윈도우에 로그를 조회하고 관리하는 도구인 ‘이벤트 뷰어‘ 가 있으며 기본적으로 가지고 있는 로그 파일의 이름도 기억해 두자. 기본적으로 애플리케이션 로그, 시스템 로그, 보안 로그를 이벤트 뷰어는 가지고 있는데 XP 이하의 버전과 Vista 이상 버전에서의 로그 파일명이 다르다. 참고만 하자

각 로그 별로 어떤 이벤트가 발생했을 때 기록을 남기냐고 대충 알아두자.

애플리케이션 로그는 그냥 프로그램 실행 시 발생하는 로그, 시스템 로그는 운영체제가 ON/OFF, 또는 원격으로 접속할 때, 보안 로그는 계정에 관한 거의 모든 이벤트가 발생했을 때 기록된다고 보면 된다. 그 외에도 같은 네트워크에 연결된 윈도우 시스템 끼리 아이디/패스워드 없이 다른 시스템에 접속 할 수 있는 시스템이 있는데 이것을 ’널 세션‘이라고 한다. 왜 널 세션이냐면 아이디와 패스워드를 비워두고(Null 인 상태로) 접속 할 수 있게 해줘서 그렇다. ㅇㅇ 


다음은 리눅스에 대해서 알아보도록하겠다


이상한 부분 있는거 지적해주시면 감사합니다