(필기) 정보보안기사&산업기사

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

IT매니절 2024. 5. 29. 17:46

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로 설정하고, 필요한 호스트 및 계정만 사용할 수 있게 설정