본문 바로가기
(필기) 정보보안기사&산업기사

오답노트 및 메모 (시스템 보안) ~147

by IT매니절 2024. 5. 29.

117.
윈도우 시스템 부팅 순서
1) POST (Power On Self Test) 실행
2) COMS 로드
3) MBR (Master Boot Record) 로드
4) 윈도우 부트 서브 시스템 실행 ( 실행가능한 OS 목록을 보여준다 )
5) 윈도우 OS 로드 실행 ( 실행가능한 장치 드라이브 로드 )

 

+ 윈도우 부팅이 리눅스/유닉스보다 늦다

 

118.
MBR
- 파티션(또는 볼륨)의 위치정보와 부트코드가 지정되어 있다
- 부트코드는 부팅 가능한 파티션을 찾아 해당 파티션으로 점프한다
- 저장 매체의 첫 섹터에만 위치한다

- 512바이트

- 파티션 정보를 갖고 있다

- 파괴될 경우 부팅이 불가능

 

119.
윈도우 시스템을 설치할 때 기본적으로 생성되고
시스템에서 최고 권한을 가진 계정
사용자가 원격 접속이나 로그인을 할 수 없다
=> SYSTEM

 

+ Administrator : 관리자 권한계정. 사용자가 사용 가능한 가장 강력한 권한을 가짐

 

120.
윈도우 일반사용자 그룹 Users
- 시스템 크기의 레지스트리 설정, 운영체제 파일이나 프로그램 파일을 수정할 수 없다
- 워크스테이션을 종료할 수 있지만, 서버는 종료할 수 없다
- 로컬 그룹을 만들 수 있지만, 자신이 만든 로컬 그룹만 관리가능
- 구성원은 자신이 만든 데이터 파일을 완전히 제어할 수 있다
- HKCU(현재 로그온 사용자) 레지스트리를 제어할 수 있다

 

121.
윈도우 시스템 인증 구성요소
모든 계정의 로그인에 대한 검증을 하고
비밀번호 변경을 처리하며 자원 접근 토큰을 생성하는 것

SRM이 생성한 로그를 기록하고, 보안서브시스템.
=> LSA (Local Security Authority)

+ 윈도우 시스템 인증 구성요소 : LSA, SAM, SRM

SAM : 인증관련 데이터베이스 관리, 인증여부 결정
SRM : SID 부여자원 접근여부 결정

 

+ NTLM : 윈도우 인증 프로토콜. 시도응답 방식 (LM -> NTML1 -> NTLM2)

 

 

122.

윈도우 시스템에서
파일이나 디렉터리에 대한 접근 허용 여부를 결정하기 위해
사용자에게 부여되는 SID

S - 1 - 5 - 21 - 1801674531 - 8399545215 - 197521565 - 500
1번      2번                                 3번                                   4번

1) 시스템이 윈도우라는 뜻
2) 도메인 컨트롤러 또는 단독 시스템이라는 뜻
3) 시스템의 고유한 숫자. 설치시 특성을 수집하여 생성됨
4) 사용자별 숫자로 표현하는 고유 ID. 관리자는 500번,  게스트는 501번, 1000번 이상은 일반 사용자.

 

 

123.
SAM
- 사용자 패스워드는 해시된 상태로 저장된다
- SAM 파일은 사용자, 그룹 계정 및 암호패스워드 정보를 저장하는 DB이다
- 사용자 로그인 정보, SAM 파일의 정보를 비교해 인증여부를 결정

SRM
- SID를 사용해 각 자원에 대한 접근권한 명시

 

124.
사용자 계정과 패스워드 인증을 위해 서버나 도메인 컨트롤러에 증명하는
챌린지 & 리스폰스 기반의 인증 프로토콜 (시도-응답)
=> NTML

 

+ 아이디/패스워드 입력시 Winlogin이 실행되고, NTLM을 통해 인증

                                                                                └로컬의 경우 - SAM
                                                                                └도메인 계정 - 도메인 컨트롤러

 

125. 

윈도우 OS 에서 ADMIN$라는 공유자원의 공유를 제거하는 명령어
=> net share ADMIN /delete

 

+ C$, D$, ADMIN$ : 기본 공유. 사용하지 않으면 제거하는 것이 바람직

IPC$ : 프로세스간 통신에 사용하므로 제거시 문제가 발생할 수 있음

 

net share ~ /delete는 부팅중에만 적용된다
영구적으로 적용하려면 HKML에서 DWORD를 0으로 설정해야 한다

 

126.
윈도우 서버 운영체제 관리목적을 위한 기본공유
- 관리목적을 위한 기본 공유 : ADMIN$, IPC$, C$ 등
- 일반 사용자도 네트워크상에서 관리목적을 위한 기본 공유자원을 공유 가능
- 명령 프롬프트에서 net share 명령어로 관리목적을 위한 기본 공유자원 확인 가능
- 드라이브 목적의 공유자원은 순차적으로 생성된다 (변경불가, ex) C, D, E, F ... )

 

+ 관리 목적의 공유 : 자동 생성, 관리자 권한이 있어야 접근 가능

   ( 드라이브(C, D, ... ), 설치폴더(ADMIN), 프로세스 통신(IPC) )

+ IPC$ : 널세션 취약점 (아이디, 패스워드 없이 접근 가능한 취약점. 익명사용자 접근 차단 필요 restrictanonymous)
+ 사용자 공유 : 사용자가 직접 설정함. 다른 사용자가 볼 수 있다

 

127.
윈도우 공유폴더
- 관리목적의 공유폴더란 "드라이브문자$", "ADMIN$", "IPC$", "PRINT$" 등이 있다
- 널 세션을 통해 계정의 아이디, 암호 없이도 세션을 맺을 수 있고 넷 바이오스 정보와 계정에 대한 정보를 얻을 수 있다 => IPC$ 취약점
- 사용자 공유란 사용자 필요에 의해 생성된 공유를 뜻한다
- "IPC$"는 공유해제 등 변경 시에 문제가 발생하므로 유지하는 것을 권장한다
- PRINT$ : 여러대의 컴퓨터가 프린터를 공유할 때 드라이버 저장을 위해 사용

 

128.
윈도우 NT 이상에서 공유 폴더 관리
- 기본 공유 : ADMIN$, IPC$, C$, PRINT$ 등
- 공유를 해제할 경우 HKLM\ ~ DWORD 값을 추가하고 0으로 설정
- 폴더를 공유하면 사용자별 읽기, 변경, 모든 권한을 선택하여 설정할 수 있다
- 윈도우 탐색기를 이용해 숨김파일은 공유 설정을 방지할 수 있다 (리소스를 공유하면서 숨길 수 있다)

 

+ 공유에서의 권한 ≠ 파일과 디렉터리에 대한 접근 권한

+ 공유에서만 변경 권한이 있음

 

129.
공유 자료 관리
- 관리 특성상 윈도우는 ADMIN$, C$, D$, IPC$ 등을 기본으로 공유
- IPC$는 윈도우 서버 초기 버전에서 해킹된 사례가 있다
- IPC$는 프로세스간 통신이므로 공유해제시 문제가 발생할 수 있다
- IPC$ 관련 Null 세션 관련 설정을 해제하는 것이 좋다 (익명 사용자 차단)

- 공유 해제 : HKLM ~ DWORD 추가하고 값을 0으로 설정
- 공유시 파일을 숨길 수 있다

 

130.
레지스트리키
- HKEY_CLASS_ROOT : 파일 확장자 정보, 파일-프로그램 연결정보
- HEKY_CURRENT_USER : 윈도우 설치 컴퓨터 환경설정 (현재 로그온 사용자의)
- HKEY_LOCAL_MACHINIE : 설치된 하드웨어/소프트웨어/드라이버 설정 정보
- HKEY_USERS : 모든 사용자의 윈도우 설치 컴퓨터 환경설정

- HKEY_CURRENT_CONFIG : 디스플레이, 프린터 정보

 

131.
윈도우 시스템이 시스템 시작시마다 자동으로 시작되도록 하여
내부의 정보를 유출하는 악성코드에 감염되어 있을 때 살펴보아야 하는 레지스트리 경로
=> HKEY_CURRENT_USER\SOFTWARE\Microsoft\Wrindows\CurrentVersion\Run

 

+ HKCU : 개별 사용자
+ HKLM : 전체 사용자
+ Run : 지속용
+ Runonce : 일회용

 

+ HKEY_LOCAL_MACHINE ~ RestrictAnonymous : 공유폴더 익명사용자 차단
+ HKEY_LOCAL_MACHINE ~ AutoShareWks : 부팅시 공유폴더 자동공유 해제
+ HKEY_LOCAL_MACHINE ~ Winlogin : 로그인 설정 (메세지창 등)

 

 

132.
시스템 전체적인 설정 정보를 담고 있는 레지스트리의 파일은
%SystemRoot%\System32\config 디렉터리에 저장된다.
- SAM : 로컬 계정과 그룹 정보
- SECURITY : 시스템 보안과 권한 정보
- SYSTEM : 시스템 부팅에 관련된 전역 설정 정보
- NTUSER.DAT : 사용자별 설정 정보
- SOFTWARE : 소프트웨어 목록과 환경설정정보

 

+ LSA : 로그인 검증

+ SAM : 데이터베이스

+ SRM : 자원 접근 권한

 

133.

중복문제여서 패스됨

 

134.
윈도우 시스템 암호화
BitLocker는 윈도우 운영체제에서 제공하는 볼륨단위 암호화 기능
EFS는 사용자단위 데이터 암호화 기능 제공
- EFS는 컴퓨터 단일 또는 복수 사용자에 대한 파일 및 폴더 단위 암호화 지원

 

+ 시스템 파티션 부분을 암호화하면 부팅시 문제가 된다

 

 

135.
윈도우의 net 명령어
- net share : 공유 리소스 확인, 제거(/delete)
- net user : 사용자 계정 확인 및 관리
- net session : 현재 원격 로그인된 사용자 확인, 종료
- net computer : 도메인 데이터베이스에 컴퓨터를 추가/삭제
net account : 암호정책, 계정잠금정책, 최근 암호기억정책 확인
- net localgroup : 로컬그룹의 추가, 수정, 삭제
- net statistics : 통계정보

 

136.
윈도우 시스템에서 administrator 계정에 대해 마지막으로 암호를 변경한 날짜를 확인할 수 있는 명령어
=> net user administrator

( 계정 만료일자, 암호 변경일자, 암호를 바꿀 수 있는 날짜, 최근 로그인 시각 등 )

 

137.
유닉스 파일시스템의 i-node가 갖는 정보
- 파일 유형
- 파일 수정시각
- 파일의 링크 수

+ 파일의 이름은 i-node가 아니라 디렉터리가 갖고 있다

 

138.
리눅스/유닉스 시스템에서 사용자 계정 관리
useradd : 계정 생성
passwd : 패스워드 설정
userdel : 계정 삭제

 

+ 그룹정보는 /etc/group에 있다

 

 

139.
유닉스 시스템에서 secure.txt 파일의 소유자에게 읽기와 실행권한을 부여하고
다른 사용자에게 읽기 권한을 제거하는 명령

#chmod u=rx,o-r secure.txt

 

+ chgrp(그룹설정 변경), chown(소유자 변경)

 

 

140.
유닉스 부팅 수행내용
1) POST 실행
2) 기본 부팅 관련 설정사항 로드 (CMOS)
3) MBR 로드
4) 부트로더 실행
5) 실행 레벨에 따른 서비스 실행

 

+ 리눅스의 경우, 부트로더가 LILO/GRUB 실행

 

 

141.
/etc/passwd 필드
- 로그인 ID
- 비밀번호 (X는 shadow 방식)
- 사용자 UID
- 그룹 GID
- 사용자 설명 (코멘트)
- 홈 디렉터리
- 사용자 로그인 쉘

 

 

 

142.
/etc/passwd 파일

로그인 사용자 ID : 암호화된 PW : 마지막 PW 변경한 일수 : PW 최소 사용 일수 : PW 최대 사용 일수 : 만료전 경고일수 지정 : 만료이후 비활성화일수 : 만료일수

 

+ $1$... $... : 암호화된 PW는 세 부분으로 나뉨.
1) 적용된 해시함수 종류 (1번 MD5, 5번 SHA-256, 6번 SHA-512)
2) Salt
3) 암호화된 패스워드

 

143.
해시함수, 해시값 및 유닉스 시스템에서의 용도
- 임의의 크기 입력값을 받아 해시함수를 통해 고정길이 결과값 출력
- 문서의 진본성과 관련하여 해시값 활용
- 결과값을 통해 입력값을 유추할 수 없음
- /etc/shadow파일에 해시값이 저장된다 (암호는 저장X)

 

144.
PAM
- 사용자를 인증하는 방법을 선택할 수 있게 해주는 공유 라이브러리 묶음
- 응용 프로그램이 사용자 인증을 처리하기 위해 사용될 함수 라이브러리 제공
- /etc/pam.conf 또는 /etc/pam.d에 있는 파일들에서 각 시스템에 맞게 설정한다
- 다양한 인증방법을 선택 가능, 기존 응용 프로그램을 수정할 필요 없음

 

145.
리눅스 운영체제를 사용하여 얻는 보안 이점
- 보안취약점이 있는 서비스, 기능을 커널 수준에서 차단 가능 (ex) SELinux) 
- 커널 수준에서 암호화를 통해 네트워크 트래픽 보호
- 수백만 개발자들이 참여하여 패치와 소스코드 작업을 수행하므로 문제가 발생해도 빠른 수정 가능

 

146.
리눅스 운영체제 상태를 보는 명령어
- netstat
- iostat (CPU, 입출력 통계정보)
- top (프로세스 정보, CPU 사용량 등)

+ tasklist : MS 계열에서 프로세스 상태를 조회할 때 사용됨

 

147.
유닉스 서버 시스템 최적화
- 소유자가 존재하지 않는 파일, 디렉터리는 필요에 따라 소유자 및 그룹을 변경하거나 삭제
- root 계정의 PATH 환경변수에 " . " 이 필요하다면 맨 마지막으로 이동시켜야 한다
- 특정 디렉터리내에 " . " 으로 시작하는 숨겨진 파일이 있다면 소유자에게 확인후 불필요시 삭제
- (rlogin) hosts.equiv 파일 소유자를 root로 설정하고, 필요한 호스트 및 계정만 사용할 수 있게 설정