[정보보안기사] 3. 시스템 보안
1. 데몬
외부로부터 접속을 기다리는 프로세스
root@xubuntu:~# cat /etc/vsftpd.conf
listen=YES #독립형 방식
listen=NO #수퍼 데몬 방식
2. TCP Wrapper
수퍼 데몬 방식에서 사용가능한 방화벽
root@xubuntu:~# cat /etc/xinetd.conf
service ftp
{
disable = no #수퍼 데몬 방식 사용
socket_type = stream #TCP 방식
only_from = 192.168.10.0/24 #특정 대역/IP주소만 허용
no_access = 192.168.10.10 #특정 대역/IP주소만 차단
server = /usr/sbin/vsftpd vsftpd #허용 데몬
root@xubuntu:~# cat /etc/hosts.allow #접속허용(우선적용)
root@xubuntu:~# cat /etc/hosts.deny #접속차단
3. inode
유닉스 리눅스계열 파일시스템에서 파일에 부여되는 고유번호
'파일이름'을 제외한 파일의 모든 정보를 가진다.
4. shadow
itwiki : $6$7sqr8$b6/ : 17132 : 0 : 50 : 7 : 10 : 20000 :
[ID] [PW] [last_change] [minilife] [maxlife] [warn] [inactive] [expires]
last_change : 마지막 패스워드 변경 일(1970.01.01 이후)
minilife : 패스워드를 변경할 수 없는 기간
maxlife : 패스워드 변경없이 사용할 수 있는 일수
warn : 경고 일수
inactive : 최대 비활성 일수
expires : 계정 만료되는 날(1970.01.01 이후)
5. crontab
분 시간 일 월 요일
crontab -e : 설정
crontab -l : 목록보기
crontab -r : 제거
***** /home/script/test.sh #매분 test.sh 실행
45 5 **5 /home/script/test.sh #매주 금요일 오전 5시 45분에 test.sh 실행
0,20,40 **** /home/script/test.sh #매일 매 시간 0분,20분,40분에 test.sh 실행
0-30 1 *** /home/script/test.sh #매일 1시간 0분부터 30분까지 매분 test.sh 실행
*/10 **** /home/script/test.sh #매10분마다 test.sh 실행
6. 운영체제 5계층
1계층 - CPU / 2계층 - RAM / 3계층 - Process / 4계층 - Device / 5계층 - File, Data
7. HKEY(Handle to Registry Key)
HKEY_CLASSES_ROOT(HKCR) : 파일연결, OLE 객체 클래스 ID와 같은 등록된 응용 프로그램의 정보를 저장
HKEY_CURRENT_USER(HKCU) : 현재 로그인한 사용자의 설정
HKEY_LOCAL_MACHINE(HKLM) : 컴퓨터의 모든 사용자의 설정
HKEY_USERS(HKU) : 컴퓨터에서 사용 중인 각 사용자 프로파일에 대한 HKCU키에 일치하는 서브키
8. 무결성 검증 도구
Tripwire, fcheck, MD5
9. 패스워드 크랙 툴
John the Ripper, L0phtcrack, Pwdump
10. 리눅스 유저로그
wtmp : 사용자들의 성공한 로그인, 로그아웃한 정보
btmp : 사용자들의 로그인 실패한 경우의 실패 정보
utmp : 현재 로그인한 사용자들에 대한 상태 정보
pacct : 사용자의 로그인~로그아웃 시간동안 입력한 명령과 시간, 작동된 tty등에 대한 정보
lastlog : 사용자별 가장 마지막에 로그인한 시간과 접속 IP, tty등에 대한 정보
sulog : switch user를 사용한 로그 기록
11. HTTP 상태응답 코드
1xx : 조건부 응답
2xx : 성공
3xx : 리다이렉션 완료
4xx : 요청 오류
5xx : 서버 오류
12. rlogin
리눅스 운영체제에서 원격서버에 접속하기 위한 명령어
접속하고자하는 호스트를 /etc/hosts.equiv 파일에 사전 등록함
13. 가상기억장치
페이징 : 기억장치의 영역을 동일한 크기로 나누어 적재(내부 단편화)
세그먼테이션 : 기억장치의 영역을 다양한 크기의 논리적인 단위로 나누어 적재(외부 단편화)
14. 악성 소프트웨어
바이러스 : 자기 자신 또는 자신의 변형을 복사하여 컴퓨터 작동에 피해를 주는 명령어 집합
웜 : 자기 자신을 복제하여 네트워크를 통해 스스로 확산
트로이목마 : 자신의 실체를 드러내지 않으면서 다른 프로그램의 한 유형인 것처럼 가장
(사용자 정보 유출/파괴, Dos공격, 원격 조정, 키로거 등)
Exploit : 하나 혹은 여러 개의 취약점을 공격하기 위한 스크립트 혹은 프로그램
루트킷 : 시스템에 침입 후 관리자(root) 수준의 접근 허락을 얻기 위해 사용하는 해킹 도구 모음
15. 윈도우 인증
LSA(Local Security Authority) : 모든 계정 로그인 검증, 접근 권한 검사 / SRM이 생성한 로그를 기록, 보안 서브시스템이라 불림
SAM(Security Account Manager) : 사용자, 그룹 계정정보 DB 관리 / %systemroot%/system32/config/sam
SRM(Security Reference Monitor) : 사용자에게 SID부여 / SID에 기반하여 파일, 디렉터리에 대한 접근 권한 결정
16. 윈도우 접근권한 우선순위
파일 > 디렉터리
거부 > 허용
17. 레지스트리 백업
USER.DAT
SYSTEM.DAT
SYSTEM.INI
WIN.INI
* NTUSER.DAT - 사용자별 설정 정보
18. 디렉터리 권한 관리
* 읽기(r) 4 / 쓰기(w) 2 / 실행(x) 1
* 파일 권한 : chmod
-R : 하위 디렉터리와 파일의 권한까지 변경
* 소유자/그룹 : chown/chgrp
19. Run Level
1 : 시스템 단일 사용자 모드
3 : 네트워킹을 지원하는 다중 사용자 모드(NFS 서버 모드) / UNIX 기본 Run Level
6 : 시스템 재부팅
20. PAM
* PAM(Pluggable Authentication Modules)
- 리눅스 배포판에서 사용자 인증의 핵심
- 각 프로그램은 인증이 필요한 부분에 PAM 라이브러리를 호출한다
* 패스워드 복잡도
- /etc/pam.d/system-auth
21. AAA
* 인증, 권한부여, 계정관리
Authentication, Authorization, Accounting
* 종류
- RADIUS : 리빙스톤 개발, 루슨트에 합병, PAP/CHAP
- TACACS+
- Kerberos : 미국 MIT개발
- DIAMETER : RADIUS 한계를 극복하기 위해 개발
RADIUS | TACACS+ | |
전송계층 특징 | UDP | TCP |
패킷 암호화 | 사용자 비밀번호만 | 패킷의 페이로드 전체 |
인증 및 권한검증 | 둘을 하나로 취급 | 각각 분리하여 취급 |