일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Shell code
- 정보처리기사 실기
- Spring Framework
- pwnable
- Payload
- webhacking.kr
- 정보보안기사
- LOB
- Buffer Overflow
- PWN
- Pwnable.kr
- BOF
- SQL
- 해킹
- Spring
- hacking
- Spring MVC
- 운영체제
- 정보보안기사 실기
- 네트워크
- 워게임
- webhacking
- Lord of BOF
- Operating System
- System
- OS
- system hacking
- wargame
- stack overflow
- 웹해킹
- Today
- Total
DongDD's IT
[정보보안기사 실기] 시스템 보안 - 서버 취약점 본문
[정보보안기사 실기] 시스템 보안 - 서버 취약점
UNIX/Linux 서버 취약점
계정 관리
1. root 이외의 사용자의 UID 0 금지
- root의 UID 0을 다른 사용자에게 부여하면 root와 동일한 권한을 가지게 됨
-> /etc/passwd 파일에서 uid 확인하여 0을 가진 계정 수정,삭제
-> usermod -u uid account
2. 패스워드
1) 적절한 유형을 가진 패스워드 설정, 관리
- 영문, 숫자, 특수문자를 이용해 복잡성을 높여야 함
- 유추 가능하거나 단순한 패스워드 사용 금지
2) 최소 길이 설정
- SunOS : /etc/default/passwd 파일의 PASSLENGTH 설정
- Linux : /etc/login.defs 파일의 PASS_MIN_LEN 설정
3) 최대 사용 기간 설정
- SunOS : /etc/default/passwd 파일의 MAXWEEKS 설정(주 단위)
- Linux : /etc/login.defs 파일의 PASS_MAX_DAYS 설정(일 단위)
4) 최소 사용 기간 설정
- SunOS : /etc/default/passwd 파일의 MINWEEKS 설정(주 단위)
- Linux : /etc/login.defs 파일의 PASS_MIN_DAYS 설정(일 단위)
5) 패스워드 파일 보호
- 패스워드는 암호화해서 보관해야 함(shadow)
- shadow 사용 시, 적절한 접근 제어를 해야 함
- /etc/passwd 파일의 두번째 필드가 'x'인지 점검
3. Session Timeout 설정
- 접속된 상태에서 연결을 방치하게 되면 중요시스템이 노출되어 악의적인 목적으로 사용될 수 있기 때문에 특정 시간동안 아무런 event가 없을 경우 연결을 종료해야함
- Linux : /etc/profile 파일의 TMOUT 설정
- SunOS : /etc/default/login 파일의 TIMEOUT 설정
파일 및 디렉토리 관리
1. root 홈 디렉토리, $PATH 관리
- root 계정의 PATH 환경 변수에 '.'이 포함되면 의도치 않은 명령이 실행될 수도 있음
-> 왠만하면 '.'을 사용하지 않고 사용해야 할 경우 $PATH의 맨 끝으로 이동시킴
2. 파일, 디렉토리 소유자 관리
- 소유자나 소유그룹이 존재하지 않는 파일에 대해 문제가 생길 수 있음
- 소유자 계정, 소유 그룹이 사라진 경우 UID, GID로 표시됨
- find 명령의 -nouser, -nogroup 옵션을 사용해 해당 파일을 찾고 변경하거나 삭제
3. 주요 파일 소유자, 권한 관리
1) /etc/passwd
- root 소유, 644 이하의 권한 설정
2) /etc/shadow
- root 이외에 접근하지 못하도록 400 이하의 권한 설정
3) /etc/hosts
- IP와 host 매핑에 사용되는 파일
- root 소유, 600 이하의 권한 설정
4) /etc/inted.conf
- root 소유, 600 이하의 권한 설정
5) /etc/syslog.conf
- 불법적인 접근에 의해 수정될 경우 로그가 기록되지 않게 되어 침입자, 오류 사항을 분석할 수 없게 됨
- root 소유, 644 이하의 권한 설정
6) /etc/services
- 불법적인 접근에 의해 변경되면 정상적 서비스를 제한, 비정상적 서비스가 등록될 수 있음
- root 소유, 644 이하의 권한 설정
윈도우 서버 취약점
계정 관리
1. Administrator 계정 이름 변경
- 이 계정을 그대로 사용할 경우, password만 찾으면 되기 때문에 Brute Force 공격에 취약할 수 있음
- 이 계정은 로그인 실패 횟수에 제한이 없음
- 제어판 -> 시스템 및 보안 -> 관리도구 -> 컴퓨터 관리 -> 로컬 사용자 및 그룹
2. Guest 계정 사용 제한
- 불특정 사용자의 시스템 접근을 허용하는 취약한 계정
- Guest 계정이 아닌 일반 사용자 계정을 생성해 이용하도록 해야함
- 제어판 -> 시스템 및 보안 -> 관리도구 -> 컴퓨터 관리 -> 로컬 사용자 및 그룹
3. 불필요한 계정 제거
- 불필요한, 의심스러운, 사용되지 않는 계정은 정보 유출의 위험성이 있으므로 계정 잠금/삭제
- 제어판 -> 시스템 및 보안 -> 관리도구 -> 컴퓨터 관리 -> 로컬 사용자 및 그룹
4. 관리자 그룹 관리
- 관리 업무, 일반 업무 계정은 분리해 사용하는게 좋음
- 관리자 그룹에는 최소한의 계정만 포함되도록 함
- 제어판 -> 시스템 및 보안 -> 관리도구 -> 컴퓨터 관리 -> 로컬 사용자 및 그룹
5. 패스워드 정책 설정(제어판 -> 시스템 및 보안 -> 관리도구 -> 로컬 보안 정책 -> 계정 정책 -> 암호 정책)
1) 패스워드 복잡성
- 대문자/소문자/숫자/특수문자 이용
- 2개 이상 조합 -> 10자리 이상, 3개 이상 조합 -> 8자리 이상
2) 최근 패스워드 기억 설정
- 최근에 사용한 패스워드를 다시 사용할 수 없게 함
- 권장 : 12개(12개를 사용할 동안 사용했던 패스워드 사용 X)
3) 최대 사용기간 설정
- 권장 : 90일 이하
- 계정 속성의 '암호 사용 기간 제한 없음' 해제
4) 최소 사용기간 설정
- 최근 패스워드 기억 기능을 무력화하는 것을 막기 위해 사용
- 권장 : 1일
5) 최소 길이 설정
- 권장 : 8자 이상
6) 해독 가능한 암호화 사용 설정
- 해독 가능하면 계정 정보가 유출될 수 있음
- 권장 : "사용 안함"
6. 계정 잠금 정책(제어판 -> 시스템 및 보안 -> 관리도구 -> 로컬 보안 정책 -> 계정 정책 -> 계정 잠금 정책)
1) 계정 잠금 기간
- 계정 잠금 임계값 도달 시, 제한 시간만큼 잠금
- 권장 : 60일 이상
2) 계정 잠금 임계값
- 권장 : 5 이하
- Administrator 계정은 잠기지 않음
3) 다음 시간 후 계정 잠금 수를 원래대로 설정
- 로그인 실패 후 로그인 실패 횟수 초기화 시간
- 권장 : 60분 이상
서비스 관리
1. 하드디스크 기본 공유 제거
- 윈도우는 기본적으로 C$, D$, ADMIN$, IPC$ 폴더를 기본 공유폴더로 설정함
- 기본 공유 폴더에 허가 받지 않은 사용자가 접근할 수 있고 바이러스가 침투할 수 있음
- 제어판 -> 시스템 및 보안 -> 관리도구 -> 컴퓨터 관리 -> 시스템 도구 -> 공유 폴더 -> 공유
- net share : 공유 폴더 확인
- net share name /delete : 공유 폴더 name을 삭제
- 재부팅하면 net share나 제어판에서 수정한 것이 사라짐
-> HKEY_LOCAL_MACHINE\CurrentControlSet\LanmanServer\Parameters에서 AutoShareServer 레지스트리 값을 0으로 수정
2. 공유 권한, 사용자 그룹 설정
- 익명 사용자에 의한 접근이 가능한 Everyone 그룹을 공유 폴더에서 제거
3. 불필요한 서비스 제거
- 불필요한 서비스는 공격 지점이 될 수 있으므로 제거해야함
-> Alterer : 서버->클라이언트 경고 메시지를 보내는 서비스
-> Clipbook : 서버내 Clipbook을 다른 클라이언트에게 공유하는 서비스
-> Messenger : net send 명령어로 클라이언트에게 메시지를 보내는 서비스
-> Simple TCP 서비스 : echo, discard, daytime 등
- 제어판 -> 시스템 및 보안 -> 관리도구 -> 서비스
-> 사용 안함
-> 수동 : 다른 서비스에서 필요 시 시작
-> 자동 : 운영체제에 의해 시작
로그 관리
1. 감사 정책 설정
- 감사 정책 : 어떤 이벤트에 대한 로그를 남길지 정의한 규칙
- 감사 설정 수준이 낮으면, 문제 발생 시 원인 파악이 어려움
- 감사 설정 수준이 높으면, 많은 로그 기록으로 혼동이 생기고 시스템 성능이 낮아질 수 있음
- 제어판 -> 시스템 및 보안 -> 관리도구 -> 로컬 보안 정책 -> 로컬 정책 -> 감사 정책
1) 감사 항목
- 개체 액세스 : 객체에 대한 접근 성공/실패 관련 이벤트(권장 : 감사 안함)
- 계정 관리 : 계정 관리에 대한 이벤트(권장 : 실패)
- 계정 로그온 이벤트 : 도메인 계정에 대한 로그온 성공/실패 관련 이벤트(권장 : 성공, 실패)
- 로그온 이벤트 : 로컬 계정에 대한 로그온 성공/실패 관련 이벤트(권장 : 성공, 실패)
- 권한 사용 : 권한 사용의 성공/실패 관련 이벤트(권장 : 실패)
- 디렉토리 서비스 액세스 : Active Directory 개체의 시스템 액세스 컨트롤 리스트(SACL)에 있는 사용자가 해당 개체에 접근을 시도하는 이벤트(권장 : 실패)
- 시스템 이벤트 : 시스템과 관련된 이벤트(권장 : 감사 안함)
- 정책 변경 : 감사 정책 변경에 대한 이벤트(권장 : 성공, 실패)
- 프로세스 추적 : 실행하는 프로세스의 자세한 추적 정보를 감사하려는 경우, 프로세스에 대한 이벤트(권장 : 감사 안함)
'자격증 > 정보보안기사' 카테고리의 다른 글
[정보보안 기사] 네트워크 보안 - 보안 (0) | 2018.04.29 |
---|---|
[정보보안기사 실기] 네트워크 보안 - 기초 (0) | 2018.04.25 |
[정보보안기사 실기] 시스템 보안 - UNIX/LINUX (0) | 2018.04.24 |
[정보보안기사 실기] 시스템 보안 - 기초 (1) | 2018.04.20 |
2018 11회 정보보안기사 필기 합격 후기 (6) | 2018.04.20 |