SKS 공부 - 2025-11-27

SKS 홈으로
23회차 공부

한줄요약:
    리눅스/네트워크 보안 - 리눅스 패키지는 **APT (Debian/.deb)**와 **YUM (Red Hat/.rpm)**으로 관리되며, 파일들은 **tar**와 **gzip/bzip2**로 묶고 압축합니다. 시스템 로그는 /var/log 디렉터리에 저장되어 사용자 행위와 오류를 기록하며, 네트워크는 OSI 7계층 및 TCP/IP 모델을 기반으로 계층별(L1-L7) 장치(허브, 스위치, 라우터, 방화벽)와 **프로토콜(TCP/UDP)**을 통해 패킷을 교환하며 정보를 전달하는 통신 체계입니다.
    
    					

오늘 공부한 내용:
    패키지 관리 (Package Management)
    패키지 관리는 리눅스 배포판에서 소프트웨어의 설치, 업그레이드, 제거 등을 자동화하는 도구입니다.
    
    1. APT (Debian/Ubuntu 계열)
    **APT (Advanced Package Tool)**는 Debian 계열 리눅스에서 사용하는 패키지 관리 도구입니다. 패키지 파일 형식은 **.deb**입니다.
    명령어,설명,권한
    apt update,패키지 저장소 목록과 최신 패키지 정보를 업데이트 (설치 전 필수),관리자 (sudo)
    apt install <패키지명>,지정한 패키지를 설치,관리자
    apt upgrade,설치된 모든 패키지를 최신 버전으로 업그레이드,관리자
    apt remove <패키지명>,패키지 제거 (설정 파일은 남김),관리자
    apt purge <패키지명>,패키지와 모든 설정 파일까지 완전히 제거,관리자
    apt search <키워드>,특정 키워드로 패키지 검색,일반/관리자
    apt autoremove,의존성이 제거된 패키지들을 자동 삭제,관리자
    
    
    2. YUM (Red Hat 계열)
    **YUM (Yellowdog Updater Manager)**은 Red Hat 계열 리눅스에서 사용하는 패키지 관리 도구입니다. 패키지 파일 형식은 **.rpm**입니다.
    명령어,설명,권한
    yum list,설치 및 설치 가능한 패키지 목록을 확인 (APT의 update와 유사하게 저장소 정보 포함),일반/관리자
    yum install <패키지명>,지정한 패키지를 설치,관리자
    yum update,설치된 모든 패키지를 최신 버전으로 업그레이드,관리자
    yum remove <패키지명>,지정한 패키지를 제거,관리자
    yum search <키워드>,특정 키워드로 패키지를 검색,일반/관리자
    yum info <패키지명>,특정 패키지의 상세 정보를 확인,일반/관리자
    yum provides <파일명>,파일명을 포함하고 있는 패키지를 검색,일반/관리자
    
    아카이브 및 압축 (Archive and Compression)
    리눅스에서 파일을 묶거나(아카이브) 압축하는 데 사용되는 도구들입니다.
    
    1. tar 명령어 (아카이브)
    여러 파일을 **하나의 묶음 파일(Archive)**로 생성/보관하는 데 사용됩니다. (파일 형식: .tar)
    옵션,의미
    c (create),새로운 묶음 파일을 생성
    x (extract),묶인 파일을 해제
    t (list),묶음 파일의 목록을 보여줌
    v (visual),처리 과정을 보여줌
    f (file),묶음 파일명을 지정
    z,tar와 gzip 압축/해제를 동시에 처리 (결과: .tar.gz 또는 .tgz)
    j,tar와 bzip2 압축/해제를 동시에 처리 (결과: .tar.bz2)
    
    압축 생성 예시: tar **cvzf** backup.tar.gz /backup
    
    압축 해제 예시: tar **xvzf** backup.tar.gz
    
    2. 압축 명령어
    명령어,설명,파일 형식
    gzip / gunzip,파일을 압축/해제,.gz
    bzip2 / bunzip2,gzip보다 더 높은 압축률을 제공하며 압축/해제,.bz2
    
    시스템 로그 (System Log)
    로그는 시스템, 네트워크, 애플리케이션의 작동 상태, 사용자 행위, 오류 등을 기록해 놓은 자료이며, 문제 해결, 보안 감사, 책임 추적성 확보를 위한 매우 중요한 자원입니다.
    
    1. 주요 로그 파일 및 명령어
    로그 파일 / 위치,설명,명령어,파일 형태
    /var/run/utmp,현재 로그인한 사용자 상태를 기록,"who, w",바이너리
    /var/log/wtmp,사용자들의 로그인/로그아웃 히스토리 (누적) 및 시스템 부팅 기록,last,바이너리
    /var/log/btmp,로그인 실패 정보 기록,lastb,바이너리
    /var/log/auth.log,"사용자 로그인 시도, sudo 명령 실행 등 보안 관련 인증 활동 기록",tail 등,텍스트
    /var/log/faillog,계정별 로그인 실패 횟수 및 마지막 실패 시간 기록,faillog,바이너리
    /var/log/kern.log,"커널에서 발생하는 이벤트 및 하드웨어, 드라이버 관련 오류 기록",tail 등,텍스트
    /var/log/messages,"모든 데몬의 기본적인 시스템 로그 (커널 오류, 리부팅, 로그인 실패 등)",tail 등,텍스트
    ~/.bash_history,각 사용자별로 수행된 모든 명령어 (셸 히스토리),history,텍스트
    /var/log/xferlog,FTP 파일 전송에 관련된 로그 기록,tail 등,텍스트
    access.log,Apache 웹 서버의 모든 요청에 대한 상세 접근 기록,"tail, awk, grep",텍스트
    error.log,Apache 웹 서버에서 발생하는 에러 및 구성 오류 기록,"tail, grep",텍스트
    
    2. rsyslog (로그 관리 서비스)
    **rsyslog**는 시스템에서 발생하는 로그를 수집, 필터링, 저장 및 원격 전달하는 서비스입니다.
    
    설정 파일: /etc/rsyslog.conf 및 /etc/rsyslog.d/*
    
    로그 형식: Facility.Priority [; Facility.Priority] Action
    
    Facility: 로그를 생성한 주체 (예: auth, kern, mail, cron 등)
    
    Priority: 로그의 심각도 수준 (예: emerg (긴급), err (오류), info (정보) 등)
    
    Action: 로그를 저장할 위치 (예: 로그 파일 경로, 콘솔 출력, 원격 서버 IP 등)
    
    ############## 네트워크
    
    네트워크 개요 및 형태
    **네트워크(Network)**는 컴퓨터와 기타 장비들이 정보를 교환하기 위해 물리적, 논리적으로 연결된 집합입니다.
    
    1. 네트워크 범주 (LAN vs WAN)
    구분,LAN (Local Area Network),WAN (Wide Area Network)
    범위,"조직 내부, 동일 건물 등 좁은 지역",물리적으로 넓은 범위 (광역 네트워크)
    관리,관리자가 직접 관리,서비스 제공업체(ISP)에서 관리
    속도,"빠름 (1Gbps, 100Mbps 등)",상대적으로 느림 (56Kbps ~ T1/E1 등)
    
    2. 패킷 교환 방식 (Packet Exchange Method)
    현대 네트워크의 기본 전송 방식입니다.
    
    정의: 데이터를 **패킷(Packet)**이라는 작은 단위로 나누고, 헤더(Header)(송수신 정보, 순서 등 제어 정보)를 붙여 네트워크 기기를 통해 전송하는 방식.
    
    특징:
    
    필요할 때 필요한 만큼만 회선 사용 (회선 이용 효율 높음).
    
    같은 회선으로 여러 사용자의 데이터 전송 가능.
    
    손상된 패킷만 재전송 가능.
    
    회선 교환 방식: 데이터를 교환하기 전 일대일 전송로를 만들고 통신 완료 시까지 점유하는 방식 (초기 전화 시스템). 안정적이지만 효율이 낮습니다.
    
    3. 프로토콜 (Protocol)
    정의: 컴퓨터나 네트워크 장비가 서로 통신하기 위해 미리 정해 놓은 약속된 규약 (통신 규칙).
    
    역할: 물리적 사양, 송수신 대상 특정(IP 주소, 포트 번호), 패킷 제어 정보(헤더 규칙), 에러 처리, 보안 등을 정의하여 제조사나 운영체제에 관계없이 통신을 가능하게 합니다.
    
    OSI 참조 모델 및 TCP/IP 모델
    통신 기능을 정의한 프로토콜들을 계층 구조로 구성하여 역할과 처리를 분리한 모델입니다.
    
    1. OSI 7계층 참조 모델
    ISO에서 제정한 국제 표준 모델이며 교육용으로 주로 사용됩니다.
    계층,이름,역할,PDU (데이터 단위),주요 프로토콜
    7,애플리케이션,"사용자에게 서비스 제공 (접속, 인증 등)",메시지 (Message),"HTTP, HTTPS, DNS, FTP"
    6,프리젠테이션,"데이터 포맷 변환, 압축, 암복호화",메시지,SSL/TLS
    5,세션,통신로(세션) 연결/관리/종료,메시지,"NetBIOS, RPC"
    4,트랜스포트,"애플리케이션 식별, 통신 제어 (전송 보장, 흐름/혼잡 제어, QoS)",세그먼트 (Segment) / 데이터그램 (Datagram),"TCP, UDP"
    3,네트워크,"다른 네트워크 단말과의 연결성 확보, 통신 경로 설정 (라우팅)",패킷 (Packet),"IP, ICMP, OSPF"
    2,데이터 링크,"같은 네트워크 단말과의 연결성 확보, 오류/매체 제어",프레임 (Frame),"이더넷 (IEEE 802.3), 무선 LAN (IEEE 802.11)"
    1,물리,데이터를 전기/광/전파 신호로 변환해 전송,비트 스트림 (Bit Stream),IEEE 802.3/802.11 등의 물리적 규격
    
    PDU (Protocol Data Unit): 각 계층에서 처리하는 데이터 단위 (헤더 + 페이로드)
    
    캡슐화 (Encapsulation): 송신측에서 상위 계층부터 하위 계층으로 내려가면서 데이터에 각 계층의 헤더를 붙여 PDU를 만드는 처리.
    
    역캡슐화 (Decapsulation): 수신측에서 하위 계층부터 상위 계층으로 올라가면서 PDU에서 헤더를 제거하고 페이로드만 상위 계층으로 전달하는 처리.
    
    2. Connection vs Connectionless 프로토콜
    구분,Connection Type (연결형),Connectionless Type (비연결형)
    특징,데이터 송신 전 논리적 통신로 확립 (3-way handshake 등),"바로 데이터 송신, 수신 단말 상황과 무관하게 일방적 전송"
    신뢰성,높음 (확실하게 전송 보장),낮음 (도착 보장 안 됨)
    속도,느림 (연결 확립 단계 필요),빠름 (연결 단계 생략)
    대표 프로토콜,TCP (Transmission Control Protocol),UDP (User Datagram Protocol)
    
    네트워크 구성 기기 (계층별)
    계층,기기명,역할,주소 기반,참고
    L1,NIC/랜카드,컴퓨터와 네트워크 연결,-,패킷을 전기/광/전파 신호로 변환
    L1,Repeater/Hub,신호를 증폭하거나 전달받은 패킷을 모든 포트로 전송,-,Hub는 L2 스위치로 대체됨
    L1,미디어 컨버터,전기 신호와 광 신호를 상호 변환,-,-
    L2,L2 Switch (스위치),MAC 주소 기반으로 같은 네트워크 내에서 패킷을 정확히 포워딩 (Bridge 기능 확장),MAC 주소,프레임 처리
    L3,Router (라우터),IP 주소 기반으로 다른 네트워크 범위로 패킷을 전달 (라우팅),IP 주소,패킷 처리
    L3,L3 Switch,L2 스위치 기능 + 라우팅 기능 (고속 라우팅 가능),"IP, MAC 주소",-
    L4,Firewall (방화벽),"IP 주소, 포트 번호 등을 기준으로 접근 제어 (허가/차단)","IP, Port",세그먼트/데이터그램 처리
    L4,L4 Switch (로드 밸런서),"IP, TCP/UDP, 포트 번호 기반으로 서버에 작업 부하를 분산 (Load Balancing)","IP, Port",-
    L7,L7 Switch,"IP, 포트 외 URL, HTTP 헤더 등 애플리케이션 정보를 기반으로 부하 분산",L7 App 정보,최신 로드 밸런서
    L7,"NGFW, WAF","애플리케이션 레벨 정보(콘텐츠, 사용자 등)를 해석하여 보안 접근 제어",L7 App 정보,WAF는 웹 취약점 공격 방어 특화
    
    참고: MAC 주소는 NIC의 고유 식별자로 L2에서 사용됩니다. IP 주소는 호스트 식별자로 L3에서 사용됩니다. Port 번호는 프로세스/서비스 식별자로 L4에서 사용됩니다.