Top

유닉스·리눅스 시스템 관리 핸드북 5/e

  • 원서명UNIX and Linux System Administration Handbook, 5th Edition (ISBN 9780134277554)
  • 지은이에비 네메스(Evi Nemeth), 가스 스나이더(Garth Snyder), 트렌트 헤인(Trent R. Hein), 벤 웨일리(Ben Whaley), 댄 맥킨(Dan Mackin)
  • 옮긴이김세영, 정윤선
  • ISBN : 9791161755991
  • 64,000원
  • 2022년 01월 10일 펴냄
  • 페이퍼백 | 1,660쪽 | 188*235mm
  • 시리즈 : 오픈소스 프로그래밍

책 소개

요약

유닉스, 리눅스 시스템 관리자에게 필요한 방대한 사항을 하나하나 설명한다. 기본적인 시스템 관리에 필요한 사항뿐 아니라 현대에 집중 조명되고 있는 클라우드 컴퓨팅 및 가상화에 필요한 사항들도 함께 다룬다. 어떠한 환경에서 유닉스 및 리눅스 시스템을 사용하는지에 따라 대부분의 시스템 관리자가 현업에 맞게 주제를 찾아볼 수 있도록 돼 있다. 초보자에게는 방대한 지식을 얻을 수 있는 바이블로, 숙련자에게는 필요에 따라 찾아보는 레퍼런스로 참고할 수 있다.

추천의 글

“이 버전은 시스템이 클라우드 또는 가상화된 데이터 센터에 있는 사용자를 위한 것이다. 주로 자동화 및 구성 소스 코드의 형태의 관리 작업을 하는 사람들이며, 개발자, 네트워크 엔지니어, 특별 감사 책임자, 현대 문명에 살고 있는 모든 작업자와 긴밀히 협력하는 사람을 대상으로 한다.”

— 폴 빅시(Paul Vixie),
인터넷 명예의 전당에서 인정받은 혁신가,
ISC 및 파사이트 시큐리티(Farsight Security) 창립자

“이 책은 재미있고 데스크톱 참조용으로 유용하다. 유닉스, 리눅스 시스템을 사용하는 경우 단기 참조용으로 이 책이 필요하다. 시스템 역사의 일부를 다루지만 과장하지 않았다. 다채롭고 기억에 남는 방식으로 전달되는 단순 정보일 뿐이다.”

— 제이슨 누넬리(Jason A. Nunnelley)

이 책의 구성

이 책은 기본 관리, 네트워킹, 스토리지, 운영의 네 가지 큰 부분으로 나뉜다.
1부, ‘기본 관리’에서는 시스템 관리자의 관점에서 유닉스와 리눅스에 대한 개괄적인 개요를 제시한다. 1부에서는 독립형 시스템을 실행하는 데 필요한 대부분의 요소와 기술을 다룬다.
2부, ‘네트워킹’에서는 유닉스 시스템에서 사용되는 프로토콜과 네트워크, 인터넷 연결 서버를 설정, 확장, 유지 관리하는 데 사용되는 기술을 설명한다. 여기서는 고수준 네트워크 소프트웨어도 다루며, 특집 주제 중에는 도메인 네임 시스템(DNS), 이메일, 통합 인증(Single sign-on), 웹 호스팅이 있다.
3부, ‘스토리지’에서는 데이터 저장과 관리에 대한 난제를 해결한다. 네트워크 파일 시스템과 윈도우 친화적인 SMB 프로토콜과 같은 네트워크에서 파일 공유를 허용하는 서브시스템도 다룬다.
4부, ‘오퍼레이션'에서는 시스템 관리자가 프로덕션 환경을 관리할 때 매일 직면하는 주요 주제를 다룬다. 이러한 주제에는 모니터링, 보안, 성능, 개발자와의 상호작용, 시스템 관리 그룹을 운영하는 정책이 포함된다.

저자/역자 소개

지은이의 말

현대 기술자는 구글(Google)에서 답을 찾는 기술의 대가다. 다른 시스템 관리자가 이미 문제를 만났거나 해결할 수 있는 경우 인터넷에서 해당 글을 찾을 가능성이 있다. 우리는 아이디어와 솔루션에 대한 공개적인 공유에 박수를 보내고 격려한다.
인터넷에서 훌륭한 정보를 이미 얻을 수 있다면 왜 이 책의 개정판이 필요할까 이 책이 시스템 관리자의 성장을 돕는 방법은 다음과 같다.

◆ 적절하게 기술을 적용하기 위한 철학, 지침, 내용을 제공한다. 보안, 규정 준수, 데브옵스(DevOps), 클라우드 컴퓨팅, 소프트웨어 개발 생명주기와 같은 인접 분야에 대한 배경 지식이 포함된다.
◆ 시스템 관리에 대한 집단적인 관점을 요약하고 오랜 시간 견고한 접근 방법을 권장하는 것이 목적이다. 이 책은 수많은 전쟁 이야기와 풍부한 실용적인 조언을 담고 있다.
◆ 기업, 관공서, 대학과 같은 생산 환경에서의 관리를 설명한다. 이러한 환경에는 일반적인 사용자와는 다른 (그리고 훨씬 앞서는) 요구 사항이 있다.
◆ 전문가가 되는 방법을 가르친다. 효과적인 시스템 관리는 기술 및 ‘소프트’ 기술이 모두 필요하다.

지은이 소개

에비 네메스(Evi Nemeth)

2001년에 콜로라도 대학의 컴퓨터 과학 교수진에서 은퇴했다. 2013년에 바다에서 길을 잃기 전에 원더랜드(Wonderland)라는 이름의 40피트 범선을 타고 태평양을 탐험했다. 마지막으로 적극 참여한 책은 4판이지만 가능한 한 그녀의 글을 그대로 유지하려고 노력했다.

가스 스나이더(Garth Snyder)

넥스트(NeXT)와 썬(Sun)에서 근무했으며 스와드모어 대학교(Swarthmore Collage)에서 공학 학사 학위를 취득하고, 로체스터 대학교(University of Rochester)에서 MD 및 MBA를 취득했다.

트렌트 헤인(Trent R. Hein)

실질적인 사이버 보안 및 자동화에 열정적인 연쇄 창업자다. 기술 이외에도 하이킹, 스키, 플라이 낚시, 캠핑, 블루그래스, 개, 옥스포드 쉼표를 좋아한다. 콜로라도 대학교에서 컴퓨터 과학 학사를 취득했다.

벤 웨일리(Ben Whaley)

독립 컨설팅 회사인 웨일테크(WhaleTech)의 설립자다. 아마존(Amazon)에서 최초의 AWS Community Heroes 중 한 명으로 선정됐다. 볼더(Boulder)의 콜로라도 대학교에서 학사 학위를 받았다.

댄 맥킨(Dan Mackin)

볼더의 콜로라도 대학교에서 전기 및 컴퓨터 공학 학사 학위를 취득했다. 작업뿐만 아니라 가정에서의 자동화, 모니터링, 날씨 메트릭 수집 프로젝트에 리눅스와 기타 오픈소스 기술을 적용한다. 스키, 항해, 오지 여행, 아내 및 개와 함께 시간을 보내는 것을 좋아한다.

옮긴이의 말

유닉스와 리눅스를 잘 사용하는 것은 현대 모든 기술의 기반 중 하나라고 봐도 과언이 아닙니다. 우리가 사용하는 모든 웹과 앱 서비스의 이면에는 유닉스나 리눅스 기반의 서버들이 돌아가고 있으며, 그 규모는 상상을 초월합니다. 그만큼 현대 사회에서 유닉스와 리눅스는 떼려야 뗄 수 없습니다.

이 책은 유닉스와 리눅스를 잘 다루는 데 필요한 거의 모든 정보를 다루고 있습니다. 인덱스에서 가볍게 훑어보기만 해도 방대한 양을 짐작할 수 있으며, 실제로 현업에서 쓰이는 중요한 내용을 다루고 있습니다. 부팅, 시스템 관리 데몬, 접근 제어, 프로세스 관리, 파일 시스템, 소프트웨어의 설치와 관리, 셸 스크립트, 사용자 관리, 클라우드 컴퓨팅, 로그 관리, 드라이버와 커널, 네트워킹, 인증, 스토리지, 환경설정, 가상화, 지속적인 통합과 배포, 보안, 모니터링, 성능 분석 등 유닉스와 리눅스 시스템 관리자라면 한 번쯤 접해봤거나 접할 수밖에 없는 주제를 다뤘기 때문에 초보 시스템 관리자나 숙련 시스템 관리자라도 사안과 상황에 따라 참고할 수 있는 주제들로 가득 차 있습니다. 시스템 관리자가 이 책을 구비해 놓는다면 많은 상황에서 도움을 얻을 수 있을 거라 생각합니다.

옮긴이 소개

김세영

성균관대학교 정보통신공학부와 기계공학부를 졸업했으며 웹, 서버, 커널 등 여러 분야에 관심이 많다. 어떻게 하면 지식을 효율적으로 습득, 저장, 관리할 수 있는지 고민하고 있다. 현재 캐노니컬에서 근무하며 우분투를 발전시키고 클라우드 환경의 버그를 잡는 등 오픈소스 프로젝트 발전에 힘쓰고 있다.

정윤선

성균관대학교 정보통신공학부를 졸업했으며 웹 기술과 서버 API, 하이퍼바이저에 관심이 많다. 아헴스, KT클라우드웨어, A2C를 거치며 웹, 가상화 등의 업무를 수행했다. 현재 육아를 병행하며 스포츠 영양사 유튜버와 협업을 통한 next.js 웹 및 react-native를 이용한 모바일 앱 개발을 진행하며 번역에 참여하고 있다. 다시 현업으로 돌아갈 날을 손꼽아 기다리고 있다.

목차

목차
  • 1부. 기본 관리

  • 1장. 시작하기
  • 1.1 시스템 관리자의 핵심 임무
    • 접근 제어
      • 하드웨어 추가
      • 업무 자동화
      • 백업 관리
      • 소프트웨어 설치와 갱신
      • 모니터링
      • 문제 해결
      • 내부 문서 관리
      • 상시 보안 모니터링
      • 성능 튜닝
      • 사이트 정책 개발
      • 거래처 관리
      • 진화 작업
  • 1.2 필요한 배경 지식
  • 1.3 리눅스 배포판
  • 1.4 이 책에서 사용된 예시 시스템
    • 리눅스 배포판 예시
    • 유닉스 배포판 예시
  • 1.5 표기법과 표기 규칙
  • 1.6 단위
  • 1.7 매뉴얼 페이지와 온라인 문서
    • 맨페이지의 구성
    • man: 맨페이지 읽기
    • 맨페이지 저장소
  • 1.8 기타 권위 있는 문서
    • 시스템 특정 가이드
    • 패키지 특정 문서
    • 도서
    • RFC 출판물
  • 1.9 기타 정보 출처
    • 최신 동향 파악
    • 하우투와 레퍼런스 사이트
    • 콘퍼런스
  • 1.10 소프트웨어 탐색과 설치 방법
    • 소프트웨어 설치 여부를 판단하는 방법
    • 신규 소프트웨어 추가
    • 소스코드에서 소프트웨어 빌드
    • 웹 스크립트에서 설치
  • 1.11 호스팅 장소
  • 1.12 전문화와 인접 분야
    • 데브옵스
    • 사이트 신뢰성 엔지니어
    • 보안 운영 엔지니어
    • 네트워크 관리자
    • 데이터베이스 관리자
    • 네트워크 운영 센터 엔지니어
    • 데이터 센터 기사
    • 설계자
  • 1.13 추천 자료
    • 시스템 관리와 데브옵스
    • 핵심 도구

  • 2장. 부팅과 시스템 관리 데몬
  • 2.1 부트 프로세스 개요
  • 2.2 시스템 펌웨어
    • 바이오스와 UEFI
    • 레거시 바이오스
    • UEFI
  • 2.3 부트 로더
  • 2.4 GRUB: GRand Unified Boot loader
    • GRUB의 환경설정
    • GRUB 커맨드라인
    • 리눅스 커널 옵션
  • 2.5 FreeBSD 부트 프로세스
    • 바이오스 경로: boot0
    • UEFI 경로
    • loader 환경설정
    • loader 명령
  • 2.6 시스템 관리 데몬
    • init의 역할
    • init의 구현
    • 전통적인 init
    • systemd와 세계
    • 판결과 합당한 처벌을 받은 init
  • 2.7 systemd 세부 사항
    • 유닛과 유닛 파일
    • systemctl: systemd의 관리
    • 유닛 상태
    • 타깃
    • 유닛 간의 의존성
    • 실행 순서
    • 복잡한 유닛 파일 예제
    • 로컬 서비스와 사용자화
    • 서비스와 시동 제어에서 주의할 점
    • systemd 로깅
  • 2.8 FreeBSD init와 시동 스크립트
  • 2.9 재부팅과 종료 절차
    • 물리적 시스템의 종료
    • 클라우드 시스템의 종료
  • 2.10 부팅되지 않는 시스템을 위한 수단
    • 단일 사용자 모드
    • FreeBSD의 단일 사용자 모드
    • GRUB과 단일 사용자 모드
    • 클라우드 시스템의 복구

  • 3장. 접근 제어와 루트 권한
  • 3.1 표준 유닉스 접근 제어
    • 파일 시스템 접근 제어
    • 프로세스 소유권
    • 루트 계정
    • setuid와 setgid의 실행
  • 3.2 루트 계정 관리
    • 루트 계정 로그인
    • su: 사용자 ID 치환
    • sudo: 제한된 su
      • 환경설정 예제
      • sudo의 장점과 단점
      • sudo와 고급 접근 제어
      • 표준 설정
      • 환경 관리
      • 암호 없는 sudo
      • 우선권
      • 컨트롤 터미널 없는 sudo
      • 사이트 sudo 환경설정
    • 루트 계정의 비활성화
    • 루트 외의 시스템 계정
  • 3.3 표준 접근 제어 모델로의 확장
    • 표준 모델의 단점
    • PAM: 탈착형 인증 모듈
    • 커버로스: 네트워크 암호화 인증
    • 파일 시스템 접근 제어 목록
    • 리눅스 자격
    • 리눅스 네임스페이스
  • 3.4 최신 접근 제어
    • 분리된 생태계
    • 강제 접근 제어
    • 역할 기반 접근 제어
    • SELinux: 보안 강화 리눅스
    • 앱아머
  • 3.5추천 자료

  • 4장. 프로세스 제어
  • 4.1 프로세스의 구성 요소
    • PID: 프로세스 ID 번호
    • PPID: 부모 PID
    • UID와 EUID: 실제/유효 사용자 식별자
    • GID와 EGID: 실제/유효 그룹 식별자
    • 나이스 값
    • 제어 터미널
  • 4.2 프로세스의 생애 주기
    • 시그널
    • kill: 시그널 전송
    • 프로세스와 스레드 상태
  • 4.3 ps: 프로세스 모니터링
  • 4.4 top을 이용한 대화형 모니터링
  • 4.5 스케줄링 우선순위에 영향을 주는 nice와 renice
  • 4.6 /proc 파일 시스템
  • 4.7 strace와 truss: 시그널과 시스템 콜의 추적
  • 4.8 런웨이 프로세스
  • 4.9 주기성 프로세스
    • cron: 명령 스케줄링
      • 크론탭 파일의 포맷
      • 크론탭 관리
      • 기타 크론탭
      • cron 접근 제어
    • systemd 타이머
      • systemd 타이머의 구조
      • systemd 타이머 예
      • systemd 시간 표현식
      • 일시적 타이머
    • 작업 스케줄의 일반적 용도
      • 메일 전송
      • 파일 시스템 청소
      • 로그 파일 로테이션
      • 배치 작업의 실행
      • 백업과 미러링

  • 5장. 파일 시스템
  • 5.1 경로명
  • 5.2 파일 시스템 마운트와 언마운트
  • 5.3 파일 트리의 조직화
  • 5.4 파일 유형
    • 일반 파일
    • 디렉터리
    • 하드 링크
    • 문자 장치 파일과 블록 장치 파일
    • 지역 도메인 소켓
    • 네임드 파이프
    • 심볼릭 링크
  • 5.5 파일 속성
    • 사용 권한 비트
    • etuid와 setgid 비트
    • 스티키 비트
    • ls: 파일의 목록과 검사
    • chmod: 사용 권한 변경
    • chown과 chgrp: 소유권과 그룹의 변경
    • umask: 기본 사용 권한의 지정
    • 리눅스 보너스 플래그
  • 5.6 접근 제어 목록
    • 경계해야 할 사항
    • ACL 유형
    • ACL의 구현
    • 리눅스 ACL 지원
    • FreeBSD ACL 지원
    • 포직스 ACL
      • 전통 모드와 ACL 간의 상호작용
      • 포직스 접근 결정
      • 포직스 ACL 상속
    • NFSv4 ACL
      • 사용 권한을 지정할 수 있는 NFSv4 개체
      • NFSv4 접근 결정
      • NFSv4에서의 ACL 상속
      • NFSv4 ACL 사례
      • ACL과 모드 간의 상호작용
      • NFSv4 ACL 설정

  • 6장. 소프트웨어 설치와 관리
  • 6.1 운영체제 설치
    • 네트워크 설치
    • PXE 설정
    • 킥스타트를 이용한 레드햇과 센트OS용 자동 인스톨러
      • 킥스타트 환경설정 파일의 구성
      • 킥스타트 서버 구축
      • 킥스타트의 환경설정 파일 지정
    • 데비안과 우분투의 설치 자동화
    • 오픈소스 리눅스 프로비저닝 서버, 코블러를 이용한 넷부팅
    • FreeBSD 설치 자동화
  • 6.2 패키지 관리
  • 6.3 리눅스 패키지 관리 시스템
    • rpm: RPM 패키지 관리
    • dpkg: .deb 패키지 관리
  • 6.4 고수준 리눅스 패키지 관리 시스템
    • 패키지 저장소
    • RHN: 레드햇 네트워크
    • APT: 고급 패키지 도구
    • 저장소 환경설정
    • /etc/apt/sources.list 파일의 사례
    • 로컬 저장소 미러의 생성
    • APT 자동화
    • yum: RPM용 릴리스 관리
  • 6.5 FreeBSD 소프트웨어 관리
    • 베이스 시스템
    • 패카지 관리자
    • 포트 컬렉션
  • 6.6 소프트웨어 지역화와 환경설정
    • 지역화 조직
    • 업데이트 구조화
    • 경기장 제한
    • 테스트
  • 6.7 추천 자료

  • 7장. 스크립트와 셸
  • 7.1 스크립트 철학
    • 마이크로스크립트 작성
    • 일부 도구를 잘 학습하라
    • 모든 것을 자동화하라
    • 너무 일찍 최적화를 하지 말라
    • 올바른 스크립트 언어를 선택하라
    • 모범 사례를 따르라
  • 7.2 셸 기초
    • 명령 편집
    • 파이프와 리다이렉션
    • 변수와 인용
    • 환경변수
    • 일반적인 필터 명령
    • cut: 여러 줄을 필드로 분리한다
    • sort: 줄들을 정렬한다
    • uniq: 중복 없는 고유한 줄들을 출력한다
    • wc: 줄, 단어, 문자의 수를 센다.
    • tee: 입력을 두 곳으로 복사한다
    • head와 tail: 파일의 시작이나 끝을 읽어낸다
    • grep: 텍스트 검색
  • 7.3 sh 스크립트
    • 실행
    • 명령에서 스크립트로
    • 입력과 출력
    • 파일명 내의 공백
    • 커맨드라인 인수와 함수
    • 제어 흐름
    • 루프
    • 산술 연산
  • 7.4 정규표현식
    • 매칭 절차
    • 리터럴 문자
    • 특수 문자
    • 정규표현식의 예
    • 캡처
    • 그리디, 레이지, 재앙과 같은 백트래킹
  • 7.5 파이썬 프로그래밍
    • 파이썬 3의 열정
    • 파이썬 2인가 파이썬 3인가?
    • 파이썬 빠르게 시작하기
    • 객체, 문자열, 숫자, 리스트, 딕셔너리, 튜플, 파일
    • 입력 검증 예제
    • 루프
  • 7.6 루비 프로그래밍
    • 설치
    • 루비 빠르게 시작하기
    • 블록
    • 심볼과 옵션 해시
    • 루비에서의 정규표현식
    • 필터로서의 루비
  • 7.7 파이썬과 루비를 위한 라이브러리와 환경 관리
    • 패키지 찾기와 설치
    • 재현 가능한 환경의 생성
    • 다중 환경
      • virtualenv: 파이썬용 가상 환경
      • RVM: 루비 환경 관리자
  • 7.8 깃 이용한 리비전 제어
    • 간단한 깃 사용 예
    • 깃의 주의 사항
    • 깃을 이용한 소셜 코딩
  • 7.9 추천 자료
    • 셸과 셸 스크립트
    • 정규표현식
    • 파이썬
    • 루비

  • 8장. 사용자 관리
  • 8.1 계정 관리
  • 8.2 /etc/passwd 파일
    • 로그인명
    • 암호화된 암호
    • UID(사용자 ID) 번호
    • 기본 GID(그룹 ID) 번호
    • GECOS 필드
    • 홈 디렉터리
    • 로그인 셸
  • 8.3 리눅스 /etc/shadow 파일
  • 8.4 FreeBSD의 /etc/master.passwd와 /etc/login.conf
    • /etc/master.passwd 파일
    • /etc/login.conf 파일
  • 8.5 /etc/group 파일
  • 8.6 수작업으로 사용자 추가
    • passwd와 group 파일의 편집
    • 암호 설정
    • 홈 디렉터리 생성과 시동 파일 설치
    • 홈 디렉터리의 사용 권한과 소유권 설정
    • 역할과 시스템 관리 권한 구성
    • 끝내기
  • 8.7 사용자 추가 스크립트: useradd, adduser, newusers
    • 리눅스에서의 useradd
    • 데비안과 우분투에서의 adduser
    • FreeBSD에서의 adduser
    • 리눅스의 newusers: 일괄 추가
  • 8.8 사용자 계정과 파일의 안전한 제거
  • 8.9 사용자 로그인 잠금
  • 8.10 PAM을 이용한 리스크 감소
  • 8.11 중앙 집중식 계정 관리
    • LDAP와 액티브 디렉터리
    • 애플리케이션 레벨의 싱글 사인온 시스템
    • ID 관리 시스템

  • 9장. 클라우드 컴퓨팅
  • 9.1 클라우드 개요
  • 9.2 클라우드 플랫폼 선택
    • 공용, 사설, 하이브리드 클라우드
    • 아마존 웹 서비스(AWS)
    • 구글 클라우드 플랫폼
    • 디지털오션
  • 9.3 클라우드 서비스 기초
    • 클라우드에 접근
    • 리전과 가용 영역
    • 가상 사설 서버
    • 네트워킹
    • 스토리지
    • 식별과 승인
    • 자동화
    • 서버리스 함수
  • 9.4 클라우드: 플랫폼을 통한 빠른 VPS의 시작
    • 아마존 웹 서비스
      • aws: AWS 서브시스템 제어
      • EC2 인스턴스 생성
      • 콘솔 로그 보기
      • 인스턴스의 중지와 종결
    • 구글 클라우드 플랫폼
    • gcloud의 설정
    • GCE에서의 인스턴스 실행
    • 디지털오션
  • 9.5 비용 관리
  • 9.6 추천 자료

  • 10장. 로깅
  • 10.1 로그 위치
    • 관리하지 않는 파일
    • systemd 저널로 로그를 보는 방법
  • 10.2 systemd 저널
    • systemd 저널의 환경설정
    • journalctl에 필터링 옵션 추가
    • syslog와의 공존
  • 10.3 syslog
    • syslog 메시지 읽기
    • rsyslog 구조
    • rsyslog 버전
    • rsyslog 환경설정
      • 모듈
      • sysklogd 문법
      • 레거시 지시어
      • 레이너스크립트
    • 환경설정 파일 예
      • rsyslog 기본 환경설정
      • 네트워크 로깅 클라이언트
      • 중앙 로깅 호스트
    • syslog 메시지 보안
    • syslog 환경설정 디버깅
  • 10.4 커널 로깅과 부트타임 로깅
  • 10.5 로그 파일의 관리와 로테이션
    • logrotate: 크로스플랫폼 로그 관리
    • newsyslog: FreeBSD에서의 로그 관리
  • 10.6 대규모 로그 관리
    • ELK 스택
    • Graylog
    • 서비스형 로깅
  • 10.7 로깅 정책

  • 11장. 드라이버와 커널
  • 11.1 시스템 관리자용 커널 작업
  • 11.2 커널 버전 부여
    • 리눅스 커널 버전
    • FreeBSD 커널 버전
  • 11.3 장치와 드라이버
    • 장치 파일과 장치 번호
    • 장치 파일 관리의 난제
    • 수작업에 의한 장치 파일 생성
    • 현대적인 장치 파일 관리
    • 리눅스 장치 관리
      • sysfs: 장치의 영혼으로 들어가는 문
      • udevadm: 장치 탐색
      • 룰과 영속 네임
    • FreeBSD 장치 관리
      • devfs: 자동 장치 파일 구성
      • devd: 고수준 장치 관리
  • 11.4 리눅스 커널 환경설정
    • 리눅스 커널 매개변수 튜닝
    • 커스텀 커널 빌드
      • 망가진 게 아니라면 고치려고 하지 말라
      • 리눅스 커널 빌드를 위한 준비
      • 커널 옵션의 설정
      • 커널 바이너리 만들기
    • 리눅스 장치 드라이버 추가
  • 11.5 FreeBSD 커널 환경설정
    • FreeBSD 커널 매개변수 튜닝
    • FreeBSD 커널 작성
  • 11.6 로드 가능한 커널 모듈
    • 리눅스에서의 로드 가능한 커널 모듈
    • FreeBSD에서의 로드 가능한 커널 모듈
  • 11.7 부팅
    • 리눅스 부트 메시지
    • FreeBSD 부트 메시지
  • 11.8 클라우드 교대 커널의 부팅
  • 11.9 커널 에러
    • 리눅스 커널 에러
    • FreeBSD 커널 패닉
  • 11.10 추천 자료

  • 12장. 프린팅
  • 12.1 CUPS 프린팅
    • 프린팅 시스템 인터페이스
    • 프린트 큐
    • 다수의 프린터와 큐
    • 프린터 인스턴스
    • 네트워크 프린터 브라우징
    • 필터
  • 12.2 CUP 서버 관리
    • 네트워크 프린트 서버 설정
    • 프린터 자동 설정
    • 네트워크 프린터 환경설정
    • 프린터 환경설정 사례
    • 서비스 중단
    • 기타 환경설정 작업
  • 12.3 문제 해결 팁
    • 프린트 데몬 재시작
    • 로그 파일
    • 직접 프린팅 접속
    • 네트워크 프린팅 문제
  • 12.4 추천 자료

  • 2부. 네트워킹

  • 13장. TCP/IP 네트워킹
  • 13.1 TCP/IP와 인터넷의 관계
    • 누가 인터넷을 운용하는가?
    • 네트워크 표준과 문서화
  • 13.2 네트워킹 기초
    • IPv4와 IPv6
    • 패킷과 캡슐화
    • 이더넷 프레이밍
    • 최대 전송 단위
  • 13.3 패킷 어드레싱
    • 하드웨어(MAC) 주소 지정
    • IP 주소 지정
    • 호스트명 ‘주소 지정’
    • 포트
    • 주소 유형
  • 13.4 IP 주소: 상세 설명
    • IPv4 주소 클래스
    • IPv4 서브넷팅
    • 서브넷 계산을 위한 요령과 도구
    • CIDR: 클래스 없는 도메인 간 라우팅
    • 주소 할당
    • 사설 주소와 네트워크 주소 변환(NAT)
    • IPv6 주소 지정
      • IPv6 주소 표기법
      • IPv6 접두어
      • 자동 호스트 번호 부여
      • 스테이트리스 주소 자동 설정
      • IPv6 터널링
      • IPv6 정보 출처
  • 13.5 라우팅
    • 라우팅 테이블
    • ICMP 리다이렉트
  • 13.6 IPv4 ARP와 IPv6 이웃탐색
  • 13.7 DHCP: 동적 호스트 구성 프로토콜
    • DHCP 소프트웨어
    • DHCP 동작 원리
    • ISC의 DHCP 소프트웨어
  • 13.8 보안 문제
    • IP 포워딩
    • ICMP 리다이렉트
    • 소스 라우팅
    • 브로드캐스트 핑과 다이렉티드 브로드캐스트
    • IP 스푸핑
    • 호스트 기반 방화벽
    • 가상 사설 네트워크
  • 13.9 기본 네트워크 환경설정
    • 호스트명과 IP 주소 할당
    • 네트워크 인터페이스와 IP 환경설정
    • 라우팅 환경설정
    • DNS 환경설정
    • 시스템 특정 네트워크 환경설정
  • 13.10 리눅스 네트워킹
    • 네트워크매니저
    • ip: 수작업에 의한 네트워크 환경설정
    • 데비안과 우분투의 네트워크 환경설정
    • 레드햇과 센트OS 네트워크 환경설정
    • 리눅스 네트워크 하드웨어 옵션
    • 리눅스 TCP/IP 옵션
    • 보안 관련 커널 변수
  • 13.11 FreeBSD 네트워킹
    • ifconfig: 네트워크 인터페이스의 환경설정
    • FreeBSD의 네트워크 하드웨어 환경설정
    • FreeBSD 부트타임 네트워크 환경설정
    • FreeBSD TCP/IP 환경설정
  • 13.12 네트워크 문제 해결
    • ping: 어떤 호스트가 살아 있는지를 알기 위한 체크
    • traceroute: IP 패킷 추적
    • 패킷 스니퍼
    • tcpdump: 커맨드라인 패킷 스니퍼
    • 와이어샤크와 티샤크: 더욱 강력한 tcpdump
  • 13.13 네트워크 모니터링
    • 스모크핑: 시간 경과에 따른 핑 통계 수집
    • iPerf: 네트워크 성능 추적
    • Cacti: 데이터의 수집과 그래프 작성
  • 13.14 방화벽과 NAT
    • 리눅스 iptables: 룰, 체인, 테이블
    • iptables 룰 타깃
    • iptables 방화벽 설정
    • 종합적인 사례
    • 리눅스 NAT와 패킷 필터링
    • 유닉스 시스템용 IPFilter
  • 13.15 클라우드 네트워킹
    • AWS의 가상 사설 클라우드
    • 서브넷과 라우팅 테이블
    • 보안 그룹과 NACL
    • 샘플 VPC 아키텍처
    • 테라폼으로 VPC 생성
    • 구글 클라우드 플랫폼 네트워킹
    • 디지털오션 네트워킹
  • 13.16 추천 자료
    • 역사
    • 고전과 필독서
    • 프로토콜

  • 14장. 물리적 네트워킹
  • 14.1 이더넷: 네트워킹의 맥가이버칼
    • 이더넷 시그널링
    • 이더넷 토폴로지
    • 비차폐 연선
    • 광섬유
    • 이더넷 접속과 확장
      • 허브
      • 스위치
      • VLAN 스위치
      • 라우터
    • 자동 협상
    • 이더넷 전원장치
    • 점보 프레임
  • 14.2 무선: 노마드를 위한 이더넷
    • 무선 표준
    • 무선 클라이언트 접근
    • 무선 인프라와 WAP
      • 무선 토폴로지
      • 저가 무선 제품
      • 고가 무선 제품
    • 무선 보안
  • 14.3 SDN: 소프트웨어 정의 네트워킹
  • 14.4 네트워크 테스팅과 디버깅
  • 14.5 빌딩 배선
    • UTP 케이블링 옵션
    • 사무실까지 연결
    • 배선 표준
  • 14.6 네트워크 설계 이슈
    • 네트워크 아키텍처와 빌딩 아키텍처
    • 확장
    • 정체 현상
    • 유지 관리와 문서화
  • 14.7 관리 이슈
  • 14.8 권장 업체
    • 케이블과 커넥터
    • 테스트 장비
    • 라우터/스위치
  • 14.9 추천 자료

  • 15장. IP 라우팅
  • 15.1 패킷 포워딩: 자세히 살펴보기
  • 15.2 라우팅 데몬과 라우팅 프로토콜
    • 거리-벡터 프로토콜
    • 링크-상태 프로토콜
    • 비용 메트릭
    • 인테리어와 익스테리어 프로토콜
  • 15.3 프로토콜 소개
    • RIP와 RIPng: 라우팅 정보 프로토콜
    • OSPF: 개방형 최단 경로 우선
    • EIGRP: 향상된 인테리어 게이트웨이 라우팅 프로토콜
    • BGP: 보더 게이트웨이 프로토콜
  • 15.4 라우팅 프로토콜 멀티캐스트 코디네이션
  • 15.5 라우팅 전략 선택 기준
  • 15.6 라우팅 데몬
    • routed: 구식 RIP 구현
    • 콰가: 주류 라우팅 데몬
    • XORP: 박스형 라우터
  • 15.7 시스코 라우터
  • 15.8 추천 자료

  • 16장. DNS: 도메인 네임 시스템
  • 16.1 DNS 아키텍처
    • 질의와 응답
    • DNS 서비스 공급자
  • 16.2 검색용 DNS
    • resolv.conf: 클라이언트 리졸버 환경설정
    • nsswitch.conf: 누구에게 이름을 요청했는가?
  • 16.3 DNS 네임스페이스
    • 도메인명 등록
    • 서브도메인 만들기
  • 16.4 DNS의 동작 원리
    • 네임 서버
    • 권한 서버와 캐싱온리 서버
    • 재귀적 서버와 비 재귀적 서버
    • 리소스 레코드
    • 위임
    • 캐싱과 효율성
    • 다중 응답과 라운드로빈 DNS 로드밸런싱
    • 쿼리 도구를 이용한 디버깅
  • 16.5DNS 데이터베이스
    • 존 파일의 파서 명령
    • 리소스 레코드
    • SOA 레코드
    • NS 레코드
    • A 레코드
    • AAAA 레코드
    • PTR 레코드
    • MX 레코드
    • CNAME 레코드
    • SRV 레코드
    • TXT 레코드
    • SPF, DKIM, DMARC 레코드
    • DNSSEC 레코드
  • 16.6BIND 소프트웨어
    • BIND의 구성 요소
    • 환경설정 파일
    • include문
    • options문
    • acl문
    • (TSIG) key문
    • server문
    • masters문
    • logging문
    • statistics-channels문
    • zone문
      • 존을 위한 마스터 서버의 환경설정
      • 존을 위한 슬레이브 서버의 환경설정
      • 루트 서버 힌트의 설정
      • 포워딩 존의 구성
    • rndc용 controls문
  • 16.7 분리된 DNSSplit DNS와 view문
  • 16.8 BIND 환경설정 예
    • 로컬호스트 존
    • 소규모 보안 회사
  • 16.9 존 파일 업데이트
    • 존 전송
    • 동적 업데이트
  • 16.10 DNS 보안 이슈
    • BIND의 접근 제어 목록
    • 오픈 리졸버
    • chroot된 감옥에서 실행
    • TSIG와 TKEY를 이용한 안전한 서버 대 서버 통신
    • BIND용 TSIG 설정
    • DNSSEC
    • DNSSEC 정책
    • DNSSEC 리소스 레코드
    • DNSSEC 활성화
    • 키 쌍 생성
    • 존 서명
    • DNSSEC 신뢰 체인
    • DNSSEC 키 롤오버
    • DNSSEC 도구
      • ldns tools, nlnetlabs.nl/projects/ldns
      • dnssec-tools.org
      • RIPE 도구, ripe.net
      • OpenDNSSEC, opendnssec.org
    • DNSSEC 디버깅
  • 16.11 BIND 디버깅
    • BIND의 로깅
      • 채널
      • 카테고리
      • 로그 메시지
      • BIND 로깅 환경설정의 예
      • BIND의 디버깅 레벨
    • rndc를 이용한 네임 서버 제어
    • 불완전 위임에 대한 커맨드라인 쿼리
  • 16.12 추천 자료
    • 도서와 문서
    • 온라인 자원
    • RFC 자료

  • 17장. 싱글 사인온
  • 17.1 SSO의 핵심 요소
  • 17.2 LDAP: 경량 디렉터리 서비스
    • LDAP의 사용
    • LDAP 데이터 구조
    • OpenLDAP: 전통적인 오픈소스 LDAP 서버
    • 389 디렉터리 서버: 오픈소스 LDAP 서버의 대안
    • LDAP 쿼리
    • passwd와 group 파일을 LDAP로 변환
  • 17.3 로그인을 위한 디렉터리 서비스 사용
    • 커버로스
      • AD 통합을 위한 리눅스 커버로스 환경설정
      • AD 통합을 위한 FreeBSD 커버로스 환경설정
    • sssd: 시스템 보안 서비스 데몬
    • nsswitch.conf: 네임 서비스 스위치
    • PAM: 쿠킹 스프레이인가 경이로운 인증 수단인가?
      • PAM 환경설정
      • PAM의 예
  • 17.4 다른 대안
    • NIS: 네트워크 정보 서비스
    • rsync: 보안 파일 전송
  • 17.5 추천 자료

  • 18장. 이메일
  • 18.1 메일 시스템 아키텍처
    • 사용자 에이전트
    • 제출 에이전트
    • 전송 에이전트
    • 로컬 전달 에이전트
    • 메시지 저장소
    • 접근 에이전트
  • 18.2 메일 메시지 해부학
  • 18.3 SMTP 프로토콜
    • EHLO
    • SMTP 에러 코드
    • SMTP 인증
  • 18.4 스팸과 악성 소프트웨어
    • 위조
    • SPF와 발신자 ID
    • DKIM
  • 18.5 메시지 개인 정보와 암호화
  • 18.6 메일 앨리어스
    • 파일에서 앨리어스 만들기
    • 파일로 메일 보내기
    • 프로그램으로 메일 보내기
    • 해시된 앨리어스 데이터베이스 구축
  • 18.7 이메일 환경설정
  • 18.8 sendmail
    • 스위치 파일
    • sendmail 시작
    • 메일 큐
    • sendmail 환경설정
    • m4 전처리기
    • sendmail 환경설정 조각
    • 샘플 .mc 파일에서 만든 환경설정 파일
    • 환경설정 기본 사항
    • 테이블과 데이터베이스
    • 기본 매크로와 기능
      • OSTYPE 매크로
      • DOMAIN 매크로
      • MAILER 매크로
      • FEATURE 매크로
      • usecwfile 기능
      • redirect 기능
      • alwaysadddomain 기능
      • access_db 기능
      • virtusertable 기능
      • ldap_routing 기능
      • Masquerading 기능
      • MAILHUB와 SMARTHOST 매크로
    • 클라이언트 환경설정
    • m4 환경설정 옵션
    • sendmail의 스팸 관련 기능
      • 릴레이 제어
      • 사용자 또는 사이트 블랙리스트
      • 스로틀, 접속률, 접속 제한
    • 보안과 sendmail
      • 소유 권한
      • 사용 권한
      • 파일과 프로그램으로 보내는 더 안전한 메일
      • 개인 정보 보호 옵션
      • chroot된 sendmail의 실행(편집적인 사람들을 위한 것)
      • 서비스 거부 공격
      • TLS: 전송 계층 보안
    • sendmail 테스팅과 디버깅
      • 큐 모니터링
      • 로깅
  • 18.9 엑심
    • 엑심의 설치
    • 엑심 시동
    • 엑심 유틸리티
    • 엑심 환경설정 언어
    • 엑심 환경설정 파일
    • 전역 옵션
      • 옵션
      • 목록
      • 매크로
    • 접근 제어 목록
    • ACL 타임에서의 콘텐츠 스캐닝
    • 인증자
    • 라우터
      • accept 라우터
      • dnslookup 라우터
      • manualroute 라우터
      • redirect 라우터
      • .forward 파일을 통한 사용자별 필터링
    • 전송
      • appendfile 전송
      • smtp 전송
    • retry 환경설정
    • rewriting 환경설정
    • 로컬 스캔 함수
    • 로깅
    • 디버깅
  • 18.10 포스트픽스
    • 포스트픽스 아키텍처
      • 메일 수신
      • 메일 대기 큐의 관리
      • 메일 전송
    • 보안
    • 포스트픽스 명령과 문서
    • 포스트픽스 환경설정
      • main.cf에 넣을 내용
      • 기본 설정
      • 널 클라이언트
      • postconf의 사용
      • 룩업 테이블
      • 로컬 전송
    • 가상 도메인
      • 가상 앨리어스 도메인
      • 가상 메일박스 도메인
    • 접근 제어
      • 접근 테이블
      • 클라이언트 인증과 암호화
    • 디버깅
      • 큐 내용 보기
      • 소프트 바운싱
  • 18.11 추천 자료
    • sendmail 참고 자료
    • 엑심 참고 자료
    • 포스트픽스 참고 자료
    • RFC

  • 19장. 웹 호스팅
  • 19.1 HTTP: 하이퍼텍스트 전송 프로토콜
    • URL
    • HTTP 트랜잭션 구조
      • HTTP 요청
      • HTTP 응답
      • 헤더와 메시지 바디
    • curl: 커맨드라인에서의 HTTP
    • TCP 접속 재사용
    • TLS를 통한 HTTP
    • 가상 호스트
  • 19.2 웹 소프트웨어 기초
    • 웹 서버와 HTTP 프록시 소프트웨어
    • 로드밸런서
    • 캐시
      • 브라우저 캐시
      • 프록시 캐시
      • 리버스 프록시 캐시
      • 캐시 문제
      • 캐시 소프트웨어
    • 콘텐츠 전송 네트워크
    • 웹 언어
      • 루비
      • 파이썬
      • 자바
      • Node.js
      • PHP
      • Go
    • 애플리케이션 프로그래밍 인터페이스
  • 19.3 클라우드에서의 웹 호스팅
    • 빌드와 구매
    • 서비스형 플랫폼
    • 정적 콘텐츠 호스팅
    • 서버리스 웹 애플리케이션
  • 19.4 아파치 HTTPD
    • httpd 사용
    • httpd 환경설정 구조
    • 가상 호스트 환경설정
      • HTTP 기본 인증
      • TLS 환경설정
      • 아파치에서의 웹 애플리케이션 실행
    • 로깅
  • 19.5 엔진엑스
    • 엔진엑스의 설치와 실행
    • 엔진엑스 환경설정
    • 엔진엑스용 TLS 환경설정
    • 엔진엑스에서의 로드밸런싱
  • 19.6 HAProxy
    • 헬스 점검
    • 서버 통계
    • 스티키 세션
    • TLS 종료
  • 19.7 추천 자료

  • 3부. 스토리지

  • 20장. 스토리지
  • 20.1 단순한 디스크 추가
    • 리눅스 예제
    • FreeBSD 예제
  • 20.2 스토리지 하드웨어
    • 하드디스크
      • 하드디스크 신뢰성
      • 고장 모드와 메트릭스
      • 드라이브 유형
      • 보증과 퇴출
    • SSD
      • 재기록의 한계
      • 플래시 메모리와 컨트롤러 타입
      • 페이지 클러스터와 사전삭제
      • SSD 신뢰성
    • 하이브리드 드라이브
    • 어드밴스트 포맷과 4KiB 블록
  • 20.3 스토리지 하드웨어 인터페이스
    • SATA 인터페이스
    • PCI 익스프레스 인터페이스
    • SAS 인터페이스
    • USB
  • 20.4 드라이브의 연결과 저수준 관리
    • 하드웨어 수준에서의 설치 검증
    • 디스크 장치 파일
    • 임시 장치명
    • 포맷과 배드 블록 관리
    • ATA 보안 삭제
    • hdparm과 camcontrol: 디스크와 인터페이스 매개변수 설정
    • SMART를 이용한 하드디스크 모니터링
  • 20.5 스토리지의 소프트웨어 측면: 양파 껍질 벗기기
    • 스토리지 시스템의 요소
    • 리눅스 디바이스 매퍼
  • 20.6 디스크 파티셔닝
    • 전통적 파티셔닝
    • MBR 파티셔닝
    • GPT: GUID 파티션 테이블
    • 리눅스 파티셔닝
    • FreeBSD 파티셔닝
  • 20.7 논리적 볼륨 관리
    • 리눅스 논리적 볼륨 관리
      • 볼륨 스냅샷
      • 파일 시스템 리사이징
    • FreeBSD 논리적 볼륨 관리
  • 20.8 RAID: 합리적인 디스크의 다중 배열
    • 소프트웨어 RAID와 하드웨어 RAID
    • RAID 레벨
    • 디스크 장애 복구
    • RAID 5의 결점
    • mdadm: 리눅스 소프트웨어 RAID
      • 배열의 생성
      • mdadm.conf: 도큐먼트 배열 설정
      • 장애 시뮬레이션
  • 20.9 파일 시스템
  • 20.10 전통 파일 시스템: UFS, EXT4, XFS
    • 파일 시스템 용어
    • 파일 시스템 다형성
    • 파일 시스템 포맷
    • fsck: 파일 시스템 체크와 복구
    • 파일 시스템 마운트
    • 자동 마운트의 설정
    • USB 드라이브 마운트
    • 스왑 권고 사항
  • 20.11 차세대 파일 시스템: ZFS와 BTRFS
    • 카피온라이트
    • 에러 검출
    • 성능
  • 20.12 ZFS: 모든 스토리지 문제 해결
    • 리눅스에서의 ZFS
    • ZFS 아키텍처
    • 예: 디스크 추가
    • 파일 시스템과 속성
    • 속성 상속
    • 사용자당 하나의 파일 시스템
    • 스냅샷과 클론
    • 원시 볼륨
    • 스토리지 풀 관리
  • 20.13 BTRFS: 리눅스용 ZFS 라이트 버전
    • Btrfs와 ZFS
    • 설정과 스토리지 전환
    • 볼륨과 하위 볼륨
    • 볼륨 스냅샷
    • 얕은 복사
  • 20.14 데이터 백업 전략
  • 20.15 추천 자료

  • 21장. 네트워크 파일 시스템
  • 21.1 네트워크 파일 서비스 보기
    • 경쟁자
    • 상태 이슈
    • 성능 고려 사항
    • 보안
  • 21.2 NFS 접근법
    • 프로토콜 버전과 역사
    • 원격 프로시저 콜
    • 전송 프로토콜
    • 상태
    • 파일 시스템 내보내기
    • 파일 잠금
    • 보안 고려 사항
    • 버전 4에서 식별 매핑
    • 루트 접근과 nobody 계정
    • 버전 4에서의 성능 고려 사항
  • 21.3 서버 측 NFS
    • 리눅스에서 내보내기
    • FreeBSD에서 내보내기
    • nfsd: serve files
  • 21.4 클라이언트 측 NFS
    • 부트 시 원격 파일 시스템 마운트
    • 권한이 주어진 포트로의 내보내기 제한
  • 21.5 NFS 버전 4를 위한 식별 매핑
  • 21.6 NFSSTAT: NFS 통계 덤프
  • 21.7 전용 NFS 파일 서버
  • 21.8 자동 마운트
    • 간접 맵
    • 직접 맵
    • 마스터 맵
    • 실행 가능 맵
    • automount 가시성
    • 복제된 파일 시스템과 automount
    • 자동 automount(V3; 리눅스 제외)
    • 리눅스에만 특별한 사항
  • 21.9 추천 자료

  • 22장. SMB
  • 22.1 SAMBA: 유닉스를 위한 SMB 서버
  • 22.2 삼바 설치와 환경설정
    • 로컬 인증을 통한 파일 공유
    • 액티브 디렉터리에 의해 인증된 계정을 통해 파일 공유
    • 공유 설정
      • 홈 디렉터리 공유
      • 프로젝트 디렉터리 공유
  • 22.3 SMB 파일 공유 마운트
  • 22.4 SMB 파일 공유 탐색
  • 22.5 삼바 보안 확인
  • 22.6 삼바 디버깅
    • smbstatus를 이용해 삼바의 상태 쿼리
    • 삼바 로깅 구성
    • 캐릭터 세트 관리
  • 22.7 추천 자료

  • 4부. 오퍼레이션

  • 23장. 환경설정 관리
  • 23.1 환경설정 관리 핵심
  • 23.2 환경설정 관리의 위험
  • 23.3 환경설정 관리의 요소
    • 오퍼레이션과 매개변수
    • 변수
    • 다양한 정보
    • 핸들러 변경
    • 바인딩
    • 번들과 번들 저장소
    • 환경
    • 클라이언트 인벤토리와 등록
  • 23.4 유명한 CM 시스템 비교
    • 용어
    • 비즈니스 모델
    • 아키텍처 옵션
    • 언어 선택
    • 종속성 관리 옵션
    • 쉐프에 대한 일반적인 의견
    • 퍼핏에 대한 일반적인 견해
    • 앤서블과 솔트에 대한 일반적인 견해
    • YAML: 과장됨
  • 23.5 앤서블 소개
    • 앤서블 예제
    • 클라이언트 설정
    • 클라이언트 그룹
    • 변수 할당
    • 동적이고 계산된 클라이언트 그룹
    • 태스크 목록
    • 스테이트 매개변수
    • 반복
    • Jinja와 상호작용
    • 템플릿 렌더링
    • 바인딩: 플레이와 플레이북
    • 환경설정 베이스 구조화를 위한 권장 사항
    • 앤서블 접근 옵션
  • 23.6 솔트 소개
    • 미니언 설정
    • 미니언에 변수 값 바인딩
    • 미니언 매칭
    • 솔트 스테이트
    • 솔트와 Jinja
    • 상태 ID와 종속성
    • 스테이트와 실행 함수
    • 매개변수와 이름
    • 미니언즈로 스테이트 바인딩
    • 하이스테이트
    • 솔트 포뮬라
    • 환경
    • 문서화 로드맵
  • 23.7 앤서블과 솔트 비교
    • 배포 유연성과 확장성
    • 내장 모듈과 확장성
    • 보안
    • 기타
  • 23.8 모범 사례
  • 23.9 추천 자료

  • 24장. 가상화
  • 24.1 가상화 용어
    • 하이퍼바이저
      • 완전 가상화
      • 반가상화
      • 하드웨어 보조 가상화
      • 반가상화 드라이버
      • 현대의 가상화
      • 타입 1과 타입 2 하이퍼바이저
    • 라이브 마이그레이션
    • 가상 머신 이미지
    • 컨테이너화
  • 24.2 리눅스 가상화
    • Xen
    • Xen 게스트 설치
    • KVM
    • KVM 게스트 설치
  • 24.3 FreeBSD bhyve
  • 24.4 VMware
  • 24.5 VirtualBox
  • 24.6 패커
  • 24.7 베이그런트
  • 24.8 추천 자료

  • 25장. 컨테이너
  • 25.1 기본과 핵심 개념
    • 커널 지원
    • 이미지
    • 네트워킹
  • 25.2 도커: 오픈소스 컨테이너 엔진
    • 기본 구조
    • 설치
    • 클라이언트 설정
    • 컨테이너 예제
    • 볼륨
    • 데이터 볼륨 컨테이너
    • 도커 네트워크
      • 네임스페이스와 브리지 네트워크
      • 네트워크 오버레이
    • 스토리지 드라이버
    • dockerd 옵션 변경
    • 이미지 빌딩
      • 기본 이미지 선택
      • Dockerfile에서 빌드
      • 수정된 Dockerfile 구성
    • 레지스트리
  • 25.3 현실에서의 컨테이너
    • 로깅
    • 보안 권장 사항
      • 데몬으로의 접근 제한
      • TLS 사용
      • 권한 없는 사용자로 프로세스 실행
      • 읽기 전용 루트 파일 시스템 사용
      • 자격 제한
      • 보안 이미지
    • 디버깅과 문제 해결
  • 25.4 컨테이너 클러스터링과 관리
    • 컨테이너 관리 소프트웨어 개요
    • 쿠버네티스
    • 메소스와 마라톤
    • 도커 스웜
    • AWS EC2 컨테이너 서비스
  • 25.5 추천 자료

  • 26장. 지속적인 통합 및 배포
  • 26.1 CI/CD 핵심 사항
    • 이론과 연습
      • 리비전 제어 사용
      • 빌드는 한 번, 배포는 자주
      • 처음부터 끝까지 자동화
      • 통합 커밋마다 빌드
      • 책임 공유
      • 빌드와 수정을 빠르게
      • 감사와 검증
    • 환경
    • 기능 플래그
  • 26.2 파이프라인
    • 빌드 절차
    • 테스트
    • 배포
    • 중지 시간 없는 배포 기술
  • 26.3 젠킨스: 오픈소스 자동화 서버
    • 기본 젠킨스 개념
    • 분산 빌드
    • 코드형 파이프라인
  • 26.4 현실에서의 CI/CD
    • UlsahGo, 기초적인 웹 애플리케이션
    • UlsahGo 유닛 테스트
    • 젠킨스 파이프라인에서 첫 단계 수행
    • 디지털오션 이미지 빌드
    • 테스트를 위한 단일 시스템 프로비저닝
    • 드롭릿 테스트
    • 드롭릿 페어 와 로드밸런서로 UlsahGo 배포
    • 예제 파이프라인의 결론
  • 26.5 컨테이너와 CI/CD
    • 빌드 환경으로 사용하는 컨테이너
    • 빌드 아티팩트로서의 컨테이너 이미지
  • 26.6 추천 자료

  • 27장. 보안
  • 27.1 보안 요소
  • 27.2 보안이 깨지는 모습
    • 소셜 엔지니어링
    • 소프트웨어 취약점
    • 분산 서비스 거부 공격(DDoS)
    • 내부 남용
    • 네트워크, 시스템, 애플리케이션 환경설정 에러
  • 27.3 기본 보안 대책
    • 소프트웨어 업데이트
    • 불필요한 서비스
    • 원격 이벤트 로깅
    • 백업
    • 바이러스와 웜
    • 루트킷
    • 패킷 필터링
    • 암호와 다중 요소 인증
    • 경계
    • 애플리케이션 침투 테스트
  • 27.4 암호와 사용자 계정
    • 암호 변경
    • 패스워드 볼트와 패스워드 에스크로
    • 암호 에이징
    • 그룹 로그인과 공유 로그인
    • 사용자 셸
    • 루트 엔트리
  • 27.5 보안을 위한 강력한 도구
    • 엔맵: 네트워크 포트 스캐너
    • 네서스: 차세대 네트워크 스캐너
    • 메타스플로잇: 침투 테스트 소프트웨어
    • 리니스: 온박스 보안 감사
    • 존 더 리퍼: 안전하지 않은 암호 추적
    • 브로: 프로그래밍 가능한 네트워크 침투 탐지 시스템
    • 스노트: 유명 네트워크 침투 탐지 시스템
    • OSSEC: 호스트 기반 침투 탐지
      • OSSEC 기본 개념
      • OSSEC 설치
      • OSSEC 환경설정
    • 페일투밴: 무차별 대입 공격 대응 시스템
  • 27.6 암호문 입문
    • 대칭키 암호화
    • 공개키 암호화
    • 공개키 인프라스트럭처
    • 전송 계층 보안
    • 암호 해시 함수
    • 난수 생성
    • 암호화 소프트웨어 선택
    • openssl 명령
      • 키와 인증서 준비
      • TLS 서버 디버깅
    • PGP: Pretty Good Privacy
    • 커버로스: 네트워크 보안으로의 단일 접근
  • 27.7 SSH, 보안 셸
    • OpenSSH 핵심
    • ssh 클라이언트
    • 공개키 인증
    • ssh-agent
    • ~/.ssh/config의 호스트 앨리어스
    • 연결 멀티플렉싱
    • 포트 포워딩
    • sshd: OpenSSH 서버
    • SSHFP를 통한 호스트 키 인증
    • 파일 전송
    • 보안 로그인 대체재
  • 27.8 방화벽
    • 패킷 필터링 방화벽
    • 서비스 필터링
    • 스테이트풀 검사 방화벽
    • 방화벽: 안전한가?
  • 27.9 가상 사설 네트워크(VPN)
    • IPsec 터널
    • 필요한 것이 VPN뿐인가?
  • 27.10 인증서와 표준
    • 인증
    • 보안 표준
      • ISO 27001:2013
      • PCD DSS
      • NIST 800 시리즈
      • 공통 평가 기준
      • OWASP: 오픈 웹 애플리케이션 보안 프로젝트
      • CIS
  • 27.11 보안 정보의 출처
    • securityfocus.com, BugTraq 메일링 리스트, OSS 메일링 리스트
    • 보안 전문가 슈나이어
    • 버라이즌 데이터 위반 검사 보고서
    • SANS 인스티튜트
    • 배포판 특정 보안 자원
    • 기타 메일링 리스트와 웹 사이트
  • 27.12 사이트가 공격 당했을 때
  • 27.13 추천 자료

  • 28장. 모니터링
  • 28.1 모니터링 개요
    • 수단
    • 데이터 유형
    • 유입과 처리
    • 통지
    • 대시보드와 UI
  • 28.2 모니터링 문화
  • 28.3 모니터링 플랫폼
    • 오픈소스 실시간 플랫폼
      • 나기오스와 아이신가
      • 센수
    • 오픈소스 시계열 플랫폼
      • 그라파이트
      • 프로메테우스
      • 인플럭스DB
      • 무닌
    • 오픈소스 차트 플랫폼
    • 상용 모니터링 플랫폼
    • 호스팅되는 모니터링 플랫폼
  • 28.4 데이터 수집
    • StatsD: 일반 데이터 제출 프로토콜
    • 명령 출력에서 데이터 수집
  • 28.5 네트워크 모니터링
  • 28.6 시스템 모니터링
    • 시스템 모니터링을 위한 명령
    • collectd: 일반 시스템 데이터 수집기
    • sysdig와 dtrace: 실행 추적
  • 28.7 애플리케이션 모니터링
    • 로그 모니터링
    • 슈퍼바이저 + 무닌: 제한된 도메인을 위한 간단한 옵션
    • 상용 애플리케이션 모니터링 도구
  • 28.8 보안 모니터링
    • 시스템 무결성 검증
    • 침입 탐지 모니터링
  • 28.9 SNMP: 간이 망 관리 프로토콜
    • SNMP 구조
    • SNMP 프로토콜 동작
    • Net-SNMP: 서버용 도구
  • 28.10 모니터링을 위한 팁과 요령
  • 28.11 추천 자료

  • 29장. 성능 분석
  • 29.1 성능 튜닝 철학
  • 29.2 성능을 향상시키는 방법
  • 29.3 성능에 영향을 주는 요소
  • 29.4 도난당한 CPU 사이클
  • 29.5 성능 문제 분석
  • 29.6 시스템 성능 점검
    • 장비 재고 조사
    • 성능 데이터 수집
    • CPU 사용량 분석
    • 시스템이 메모리를 관리하는 방법
    • 메모리 사용량 분석
    • 디스크 I/O 분석
    • fio: 스토리지 서브시스템 성능
    • sar: 시간에 따른 통계 수집과 보고
    • 리눅스 I/O 스케줄러 선택
    • perf: 리눅스 시스템을 자세히 프로파일링
  • 29.7 서버가 느려진 경우 참고 사항
  • 29.8 추천 자료

  • 30장. 데이터 센터 기초
  • 30.1 랙
  • 30.2 전력
    • 랙 전력 요구 사항
    • kVA와 kW
    • 에너지 효율
    • 계측
    • 비용
    • 원격 제어
  • 30.3 냉각과 환경
    • 냉각 부하 추정
    • 지붕, 벽, 창문
    • 전자 장비
    • 조명 기구
    • 운영자
    • 전체 열 부하
    • 열기 통로와 냉기 통로
    • 습도
    • 환경 모니터링
  • 30.4 데이터 센터 안정성 티어
  • 30.5 데이터 센터 보안
    • 위치
    • 경계
    • 시설 접근
    • 랙 접근
  • 30.6 도구
  • 30.7 추천 자료

  • 31장. 방법론, 정책, 정치
  • 31.1 거대 통합 이론: 데브옵스
    • 데브옵스는 CLAMS다
      • 문화
      • 간결함
      • 자동화
      • 측정
      • 공유
    • 데브옵스 세계의 시스템 관리
  • 31.2 티켓과 작업 관리 시스템
    • 티켓 시스템의 공통 기능
    • 티켓 소유권
    • 티켓 시스템의 사용자 수락
    • 샘플 티켓 시스템
    • 티켓 올리기
  • 31.3 로컬 문서 유지 관리
    • 코드로서의 인프라
    • 문서화 표준
  • 31.4 환경 분리
  • 31.5 재난 관리
    • 위험 평가
    • 복구 계획
    • 재해에 대비한 인력 배치
    • 보안 사고
  • 31.6 IT 정책과 절차
    • 정책과 절차의 차이점
    • 정책 모범 사례
    • 프로시저
  • 31.7 서비스 수준 계약
    • 서비스 범위와 설명
    • 대기열 우선순위 정책
    • 적합성 측정
  • 31.8 규정 준수: 규정과 표준
  • 31.9 법적 문제
    • 개인 정보 보호
    • 정책 집행
    • 통제 = 책임
    • 소프트웨어 라이선스
  • 31.10 조직, 회의, 기타 리소스
  • 31.11 추천도서
  • 부록 A. 시스템 관리의 간략한 역사

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안