Part01_시스템 보안을 위한 기초 이해Chapter01 리눅스의 개요1.1 운영체제의 개요1.1.1 운영체제의 이해1.1.2 운영체제의 종류1.2 리눅스 기초1.2.1 리눅스의 역사1.2.2 리눅스의 철학1.2.3 리눅스의 특징Chapter02 정보 보안과 암호화 알고리즘2.1 정보 보안2.1.1 보호 및 보안의 개요2.1.2 보안의 3대 요소2.2 암호화 및 해시 알고리즘2.2.1 암호화(Encryption)의 개요2.2.2 암호화 알고리즘2.2.3 해시(Hash)의 개요2.2.4 해시 알고리즘2.2.5 해시와 암호화 알고리즘의 비교2.2.6 해시 함수(Hash Function)2.2.7 리눅스와 해시 함수2.3 공개 키 암호화와 디지털 서명2.3.1 공개 키 암호화 시스템2.3.2 디지털 서명(Digital Signature)Part02_리눅스 운영 관리와 보안Chapter01 셸(Shell) 관리1.1 셸의 이해1.1.1 셸의 개념 및 특징1.1.2 셸의 확인과 변경1.1.3 셸 변수와 환경 변수1.2 셸 사용하기1.2.1 bash의 주요 기능1.2.2 bash 관련 파일 및 디렉터리1.2.3 셸에서 사용되는 특수문자1.3 셸 관리와 보안1.3.1 리다이렉션의 이용1.3.2 나만의 명령어 작성: alias, function, shell script1.3.3 셸 사용 기록: history1.3.4 셸 기반 사용자의 로그인 제한Chapter02 사용자 생성 및 관리2.1 사용자(User) 관리2.1.1 사용자의 개요2.1.2 사용자 생성 명령어2.1.3 사용자 관련 파일2.1.4 사용자 계정 관리 및 삭제2.1.5 사용자 패스워드 관리2.1.6 사용자 패스워드와 해시 알고리즘2.1.7 패스워드 설정에 대하여2.2 그룹 관리2.2.1 그룹의 개요2.2.2 그룹(Group)의 조회2.2.3 그룹 관리 명령어2.3 사용자 조회 및 메시지 명령어2.3.1 사용자 조회 명령어2.3.2 사용자 간 메시지 전송 명령어2.4 사용자 보안 관리2.4.1 사용자 및 그룹 생성과 보안2.4.2 사용자 보안 관리2.5 사용자 보안 관리 도구2.5.1 sudo2.5.2 John the Ripper2.5.3 PAM(Pluggable Authentication Module)Chapter03 파일 시스템 관리3.1 권한의 개요3.1.1 소유권과 허가권3.1.2 특수 권한3.1.3 소유권 및 허가권 관련 명령어3.2 파일 시스템의 관리3.2.1 파일 시스템의 이해3.2.2 리눅스의 파일 시스템3.2.3 파일 시스템 관련 명령어3.2.4 파일 시스템 관련 파일과 명령어3.2.5 스왑(Swap) 생성3.2.6 Disk Quota3.2.7 파일 링크(Link)3.3 파일 시스템 관리 및 보안3.3.1 타임스탬프(Timestamp) 관리3.3.2 리눅스 파일 시스템의 추가 속성(attribute)3.3.3 ACL(Access Control Lists)3.3.4 GnuPG(GNU Privacy Guard)3.3.5 기타 보안 도구 소개3.4 관련 보안 사례 및 실습3.4.1 /tmp 디렉터리와 보안 사례3.4.2 UID 변경을 통한 일반 사용자를 슈퍼 유저로 만들기3.4.3 vi 편집기 파일 복사 후에 Set-UID 부여하기3.4.4 find 명령을 이용한 주요 파일 찾기Chapter04 프로세스 관리4.1 시스템의 시작과 종료4.1.1 부트 매니저와 GRUB4.1.2 부팅(Booting)4.1.3 systemd4.1.4 시스템 종료(Shutdown)4.2 프로세스 관리의 이해4.2.1 데몬(daemon)4.2.2 TCP Wrapper4.2.3 프로세스 우선순위와 /proc 디렉터리4.2.4 프로세스 스케줄링(Scheduling)4.2.5 프로세스 관련 명령어4.2.6 프로세스 모니터링 명령어4.3 프로세스 관련 실습4.3.1 PAM을 이용한 사용자 프로세스 제한4.3.2 ulimit 명령을 이용한 사용자 프로세스 제한4.3.3 프로세스에 의해 열려진 파일 확인: lsof4.4 관련 보안 도구 소개4.4.1 SELinux(Security Enhanced Linux)Chapter05 소프트웨어 설치 및 관리5.1 프로그램 설치의 개요5.1.1 프로그램 설치의 개요5.1.2 소스 파일을 이용한 설치5.1.3 패키지 파일을 이용한 설치5.2 소프트웨어 설치 및 관리5.2.1 tar와 압축 관련 유틸리티5.2.2 rpm 사용법5.2.3 yum 사용법 5.3 라이브러리(Library) 관리5.3.1 라이브러리의 개요5.3.2 공유 라이브러리 관리5.4 관련 보안5.4.1 공개 소프트웨어의 소스 파일 검증Part03_시스템 분석 및 보안 관리Chapter01 로그 관리 및 시스템 백업1.1 시스템 로그 분석 및 관리1.1.1 rsyslog1.1.2 로그 파일 관리: logrotate1.1.3 로그 관련 파일 및 명령어1.2 시스템 백업1.2.1 시스템 백업의 개요1.2.2 시스템 백업 관련 명령어Chapter02 시스템 보안 관리2.1 시스템 보안 관리2.1.1 리눅스와 보안의 개요2.1.2 커널 매개 변수와 sysctl2.2 관련 보안 도구2.2.1SSH(Secure Shell)Chapter03 네트워크 보안 관리3.1 네트워크 침해 유형 및 특징3.1.1 네트워크 침해 유형 및 특징3.1.2 기타 공격3.2 대비 및 대처 방안3.2.1 기본적인 대응책3.2.2 iptables3.2.3 firewalld3.3 관련 보안 도구3.3.1 nmap(network mapper)3.3.2 tcpdump