28일 동안 배우는 리눅스 기초 강좌 — 『28일 동안 배우는 리눅스 서버 관리』

2025. 8. 15. 22:50·도서리뷰/전공

책 한눈에 보기

항목 내용
도서명 28일 동안 배우는 리눅스 서버 관리
저자 김성재
키워드 Linux·Server Admin·DNS·Apache·SSL/SSH·iptables·SELinux·MySQL·samba

“기초 개념을 정확히 쌓아두면, 운영 자동화와 트러블슈팅은 절반이 끝난다.”


1. 서버 환경의 기초 (Week 1 · Fundamentals)

핵심 포인트
인터넷은 Client–Server 모델과 라우팅·DNS 위에서 작동함

  • 인터넷 접속 흐름: Client → Router → ISP → Internet Backbone. 각 구간에서 라우팅 테이블이 패킷 경로를 결정.
  • 중계 시스템(bridging) 은 네트워크 계층 이하를 다루며, 대표적인 구현이 Ethernet(IEEE 802.3). 충돌 도메인/브로드캐스트 도메인 개념을 함께 이해하면 트래픽 분석에 유리.
  • 서버 애플리케이션은 데몬(daemon) 으로 상주하며 요청에 상시 응답. 서비스 가용성을 위해 systemd 유닛으로 자동 재시작 설정을 권장(Restart=on-failure).
  • 초보자의 흔한 실수: IP/게이트웨이/DNS를 혼동. IP = 주소, Gateway = 출구, DNS = 이름해석으로 정리해두면 네트워크 이슈 트레이싱이 빨라짐.

2. 기본적인 이용 기술 (Shell & Utilities)

핵심 포인트
Shell Script는 반복 작업을 재현 가능(Repeatable) 하게 만드는 자동화의 시작

  • FreeBSD: 오픈소스 Unix로 네트워크 성능과 실험적 기술 도입에 강점. Linux와 철학은 유사하나 ports 등 배포·패키징 생태계가 다름.
  • Shell(bash/zsh)은 파이프라인(|), 리다이렉션(>, >>, 2>)으로 명령을 조합. 로그 집계·필터링에 grep awk sed 삼형제를 익히면 대부분의 1차 가공을 해결.
  • 스크립트 구조 예시: set -euo pipefail로 안전성 확보 → 함수화 → exit code 점검 → cron(systemd timer) 로 스케줄링.
  • 구성 관리 팁: /etc 변경은 백업 → 변경 → 검증 순으로 진행하고, 변경 이력은 git이나 etckeeper로 추적.

3. 서버 애플리케이션의 구조와 구축 (DNS · Name Resolution)

핵심 포인트
Name(사람 친화) ↔ IP(네트워크 친화) 간 간극을 DNS가 메움

  • 애플리케이션은 도메인 이름으로 통신하지만, TCP/IP는 IP 주소로 라우팅. 이 간극을 DNS가 해결.
  • Resolver → Recursive → Authoritative 흐름을 이해하면, 캐시 전파 지연(TTL)이나 레코드 충돌 문제를 스스로 진단 가능.
  • 동작 점검 명령:
    • 대화형 질의 nslookup example.com
    • 상세/검색형 질의 dig A example.com +trace, dig NS zone.com
  • 운영 팁: 존 파일(zone file) 의 SOA/NS/A/CNAME/MX 레코드 구성과 TTL의 영향(캐시 만료 시간)을 체크리스트화해 배포 전 검증.

4. 웹 서버 (Week 2 · Apache & Friends)

핵심 포인트
Apache + Proxy/Cache + Access Control 로 실서비스 기반 다지기

  • 기본 플로우: Browser(URL) → DNS Resolve → Web Server(DocumentRoot) → Response.
  • Apache 핵심 포인트
    • 주 설정: httpd.conf, 일반적 DocumentRoot 예: /var/www/html
    • VirtualHost 로 도메인별 서비스 분리, LogFormat/CustomLog 로 진단 데이터 확보
    • 모듈 관리: LoadModule 확인 → 불필요 모듈 비활성화로 attack surface 축소
  • Squid(웹 프록시 캐시): 대리 접속/공유/RTT 단축/트래픽 경감. 정적 리소스 캐싱으로 백엔드 부하를 크게 낮출 수 있음.
  • samba: Windows 네트워크 프로토콜(SMB)로 Unix–Windows 간 파일/프린터 공유. 권한은 유닉스 퍼미션 + Samba 계정을 모두 점검.
  • xinetd: 경량 네트워크 서비스를 super-server 형태로 관리. 저빈도 서비스의 온디맨드 기동에 적합.
  • SELinux: CentOS 기본 활성. Permissive → Enforcing 점진 적용, audit2allow 로 정책 튜닝.

5. SSL (TLS/SSH · Secure Channel)

핵심 포인트
인증서(Certificate) 기반의 암호화 채널은 서비스 신뢰의 최소 조건

  • SSL/TLS는 메일·웹 등 전송 계층 보안을 제공. 오늘날엔 TLS 용어가 일반적.
  • 서버 인증서의 구성: CN/SAN, 만료일, 키 길이, 체인(Intermediate/Root). 자동화는 ACME(Let’s Encrypt) 를 권장.
  • 설치 예: yum install openssl, 인증서 점검: openssl s_client -connect host:443 -servername host
  • SSH Port Forwarding: 불신 네트워크 경유 시 안전한 터널 구성.
    • Local: ssh -L 8080:127.0.0.1:80 user@server
    • Remote: ssh -R 18080:127.0.0.1:8080 user@server
  • 실무 체크: HSTS, TLS version policy, 약한 cipher suite 제거, 자동 갱신 실패 알림(알람) 설정.

6. 방화벽 (iptables · Stateful Filtering)

핵심 포인트
패킷 흐름을 Chain(INPUT/OUTPUT/FORWARD) 과 Rule 로 제어

  • Tables(filter/nat/mangle/raw)와 Chains(INPUT/OUTPUT/FORWARD, PREROUTING/POSTROUTING)의 역할을 구분.
  • TCP는 연결 상태(NEW/ESTABLISHED/RELATED)를 기반으로 상태 추적. UDP는 비연결형이지만 conntrack이 문맥을 추정.
  • 예시 워크플로우:
    1) 정책 기본값 DROP
    2) 관리용 포트(SSH/HTTPS)만 ACCEPT
    3) 불필요 포트 REJECT/DROP, 로깅 규칙 별도 체인으로 분리
  • 배포 안전장치: 원격 차단 방지용으로 2채널 접속(예: 콘솔+SSH) 확보 후 정책 전환.

7. 데이터베이스와 응용 (Week 3 · MySQL & CMS)

핵심 포인트
초기 보안/메타 정보/설정 파일 파악이 운영의 절반

  • 최초 설치 시 임시 비밀번호로 로그인 후 즉시 변경. ALTER USER 'root'@'localhost' IDENTIFIED BY '******';
  • 메타 정보 확인: SHOW DATABASES;, SHOW TABLES;, DESCRIBE table;, 실행 뒤엔 항상 ; 로 종료.
  • 설정 파일: /etc/my.cnf, 주요 항목(포트/문자셋/버퍼/슬로우쿼리로그)만이라도 표준값을 문서화.
  • 운영 습관: Slow Query Log 켜고, 주기적으로 EXPLAIN/인덱스 점검. 백업은 논리(mysqldump) + 물리(xtrabackup) 이중화.
  • XOOPS(CMS): 콘텐츠 관리와 갱신을 편리화. 초기 관리자 계정 보안과 플러그인 업데이트 정책을 정해두면 취약점 위험을 줄임.

8. 보안 강화와 응용 (Web Hardening)

핵심 포인트
최소 노출(Minimum Exposure) 과 접근 제어로 공격면 축소

  • Order / Allow / Deny 지시자로 클라이언트 접근 제어. vhost·디렉터리 별 정책을 세분화.
  • httpd.conf 하드닝: ServerTokens/ServerSignature 축소, 불필요 디렉터리 Indexes 비활성화, LimitExcept 로 메서드 제한.
  • 로그 분석: webalizer 로 트래픽/리퍼러/히트/에러 비율 확인 → 이상 징후를 조기 탐지.
  • 배포 전 체크리스트: 디렉터리 권한, 심볼릭 링크 추적 정책, 업로드 디렉터리 exec 금지, 에러 페이지 커스터마이징.

💡 Quick Insight

  • Name vs IP: 장애의 절반은 DNS·라우팅에서 출발. 캐시(TTL)와 전파 지연을 이해하면 원인 추적이 빨라짐.
  • Automate Early: 수작업 운영은 곧 재현 불가 버그. Shell 스크립트·타이머·로그 기준으로 표준화.
  • Defense in Depth: SELinux + iptables + Apache Hardening + TLS Policy 를 적층(Defense in Depth)으로 운영.
  • Measure & Learn: access/error 로그를 정기 분석하면 성능과 보안 두 마리 토끼를 잡을 수 있음.

마무리 생각 (My Take)

이 책은 OSI 7계층부터 DNS·웹서버·방화벽·SELinux·로그 분석까지 서버 운영의 필수 축을 단기간에 End-to-End로 훑게 해줍니다. 특히 존(zone) 파일의 구성(유효시간·관리정보·네임서버·호스트명–IP 매핑·메일 서버·정식명칭별명)을 체크리스트화해 실제 서비스 배포 시 정합성 검증 루틴으로 바로 쓰기 좋습니다.
핵심은 “보안까지 포함해 완전한 형태로 동작하는가”를 기준으로 습관을 들이는 것. 방화벽은 라우터든 서버든 항상 적용되는 보편 대책이며, 운영 이후엔 webalizer 같은 도구로 로그를 분석해 가설→검증 사이클을 빠르게 돌려야 합니다. 결국, 작지만 탄탄한 운영 교본.

'도서리뷰 > 전공' 카테고리의 다른 글

HTML의 바른 이해와 XHTML이란 무엇인가 — 『Head First HTML & XHTML With CSS』  (2) 2025.08.15
깃&깃 허브 입문 가이드 — 『Do it! 지옥에서 온 문서관리자 깃&깃허브 입문』  (5) 2025.08.15
자바스크립트를 이용한 웹 제어 — 『Do it 자바스크립트 입문』  (1) 2025.08.15
CodeIgniter 기본 — 『CodeIgniter』  (0) 2025.08.15
AIㆍ클라우드 관련 자료 영상 — 『AIㆍ클라우드 관련 자료』  (3) 2025.08.15
'도서리뷰/전공' 카테고리의 다른 글
  • 깃&깃 허브 입문 가이드 — 『Do it! 지옥에서 온 문서관리자 깃&깃허브 입문』
  • 자바스크립트를 이용한 웹 제어 — 『Do it 자바스크립트 입문』
  • CodeIgniter 기본 — 『CodeIgniter』
  • AIㆍ클라우드 관련 자료 영상 — 『AIㆍ클라우드 관련 자료』
coco dev
coco dev
coffee-code 님의 블로그 입니다.
  • coco dev
    Coffee & Code
    coco dev
  • 전체
    오늘
    어제
    • 분류 전체보기 (25)
      • 도서리뷰 (25)
        • 일반 (7)
        • 전공 (18)
      • 항해99 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    개미 연구
    페로몬 소통
    웹표준
    Order 표기법
    MySQL
    vlan
    라우팅
    프론트엔드
    데이터베이스
    방화벽
    TCP/IP 기초
    자바스크립트
    php
    초개체 사회
    머신러닝
    계산량 분석
    BOM
    JavaScript
    네트워크 보안
    css
    스위치
    개미사회 경제 문화 정치
    알고리즘 입문
    순차검색 이진검색
    DOM
    개미 생태계
    네트워크 계층 구조
    html
    웹개발
    라우터
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
coco dev
28일 동안 배우는 리눅스 기초 강좌 — 『28일 동안 배우는 리눅스 서버 관리』
상단으로

티스토리툴바