일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
- TwoPointer
- 깃허브
- 슬라이딩 윈도우
- git
- 누적합
- 리눅스
- 스프링부트
- 비트마스킹
- HTTP/2
- 다이나믹 프로그래밍
- 부팅 장애 대응
- RLD
- 깃
- 알고리즘
- bitmasking
- spring
- network
- 스프링
- Linux
- 네트워크 관리 및 진단
- 네트워크
- Spring Boot
- 투포인터
- SlidingWindow
- github
- HTTP/3
- Domain Name Space
- Prefix sum
- 로그 수집
- AppArmor
- Today
- Total
목록CS/Linux (8)
kimgusxo 님의 블로그
1. 시간 동기화 (NTP/chrony)여러 시스템의 시간이 같은 표준 시간에 맞도록 오차를 계속 보정하는 과정이다.분산 로그 정렬, TLS/토큰 유효성, DB/클러스터 합의, 파일 타임스탬프의 시간이 오차나면 장애 확률이 높아지기 때문에 필요하다. 1-1. 시간 동기화 명령어chronyc tracking # 현재 오프셋/주파수 보정/스트래텀chronyc sources -v # 동기화 소스(선택/지연/오차) 상세timedatectl # 전체 시간/타임존/NTP 활성 여부클러스터/사설망일 경우 내부 NTP 지정이 안전하다. 2. 로그 수집과 조회 (journald/syslog)로그 수집을 통해 가시성을 확보, 서비스/커널/인증 로그를 영속 저..
1. 위협 모델무엇(자산)을 누가(공격자) 어떤 경로(공격면)로 노릴 수 있고 그 때 피해가 무엇이며 이를 막기위해 어떤 통제를 둘지 미리 정하는 일보안 작업에 우선순위를 잡기 위해 사용함.사고가 나도 체계적으로 대응하기 위해 사용함 1-1. 위협 모델 템플릿자산 식별: 보호해야 할 것을 식별함(소스코드, DB, 비밀키, 서버 루트 권한 등)공격자 가정: 무작위 봇, 스캐너, 내부자, 공급망(패키지/이미지) 등을 상정함공격면 파악: 공개 포트(22, 80, 443), 약한 인증, 취약 패키지, 잘못된 권한, 백업 누락 등을 열거한다.영향 평가: 정보 유출/권한 상승/가용성 저하/금전 손실을 심각도 및 가능도로 평가함통제 선정: 최소 권한/기본 거부/로그/패치/SELinux/AppArmor/백업/복구로 대..
1. 패키지 관리란?패키지는 실행 파일, 라이브러리, 설정, 메타데이터를 묶어서 배포하는 단위이다.패키지 관리자는 저장소(repo)에서 패키지를 내려받고 의존선 해결/검증/설치/업데이트/삭제를 자동화한다.장점: 표준 경로 설치, 롤백/이력 관리, 서명 검증, 보안 업데이트 연계가 쉬움원칙: 가능하면 패키지 설치로 불가피할 때만 소스 컴파일을 통해 설한다. 1-1. 패키지 관리자 종류Debian/Ubuntu 계열: APT(프론트엔드), dpkg(로우레벨)RHEL/CentOS/Alma/Rocky 계열: DNF(신형), YUM(구형 호환), RPM(로우레벨)그 외: pacman(Arch), zypper(SUSE) 등 1-2. apt (Debian 계열)/etc/apt/source.list와 /etc/apt/s..
1. 디스크(Disk)와 스토리지(Storage)란?디스크: 서버가 블록 단위로 읽고 쓰는 블록 디바이스를 뜻함(HDD/SSD/NVMe, 가상 디스크(EBS/PD)), 파티션, RAID, LVM을 거쳐 파일시스템이 올라간다.스토리지: 디스크를 포함하는 더 넓은 개념으로 DAS/NAS/SAN/클라우드 블록/객체 스토리지까지 포괄한다.DAS(직결): 로컬 SATA/NVMe, RAID 카드 등NAS(파일): NFS/SMB로 파일 단위 공유함SAN(블록): iSCSI/FC로 네트워크를 통해 블록 디바이스를 제공함클라우드: 블록(EBS/PD), 파일(EFS/FSx), 객체(S3/GCS)로 구분된다.물리/가상 디스크 -> 파티션/GPT -> RAID/LVM -> 파일 시스템(ext4/XFS) -> 마운트포인트 ->..
1. 네트워크 진단이 필요한 이유서버 장애 중 네트워크 문제 비중이 높음서비스 포트, 연결 수, 패킷 흐름, 지연 원인을 신속하게 파악해야 복구가 가능하다.방화벽, 라우팅 설정과 결합된 문제는 로그만 확인해서는 해결 못한다. 2. netstat과 ss 비교ss는 iproute2 계열의 최신 소켓 진단 도구이며 netstat은 예전 방식에 최신 커널 지표가 빈약하다.실무에서는 ss가 우선 사용, 호환성 때문에 netstat 병행항목속도/부하필터/표현력지표패키지ss빠르고 커널 네트링크로 직접 조회강력한 표현식(포트/상태/프로세스) 지원함큐, 메모리, TCP 내부정보 제공iproute2에 포함됨netstat/proc 파싱 비중이 커서 느리다제한적이다.제한적이다.net-tools 별도 2-1. ss 명령어ss ..
1. 왜 모니터링이 중요한가?서버 장애의 상당수가 시스템 리소스 문제에서 발생한다.어플리케이션 로그만 보는 것은 반쪽짜리 디버깅CPU, 메모리, 디스크 I/O, 네트워크 사용량을 항상 함께 살펴야 원인 파악이 가능하다. 2. Load Average란?Load Average: 특정 시간 동안 실행 가능 + 디스크 대기 상태 태스크의 평균 개수 2-1. Load Average 체크 명령uptime # 1, 5, 15분 간격의 LoadAvg를 출력함cat /proc/loadavg # nproc # 현재 프로세스에 허용된 CPU 개수를 출력함(cpuset에 의해 제한될 수 있음)vmstat 1 # r=run queue,..
1. 사용자(User)와 그룹(Group) 구조리눅스는 UID/GID로 주체를 식별한다.UID 0(root)는 슈퍼유저, 일반 사용자/서비스 계정은 최소 권한 원칙을 따른다.핵심 파일: /etc/passwd, /etc/shadow, /etc/groupsudo: "superuser do"라는 뜻으로 사용자가 관리자의 권한을 임시로 얻어서 사용하는 것이다. 1-1. 사용자/그룹 관련 명령어id alice # alice의 UID/GID와 보조 그룹을 한 줄로 확인함getent passwd alice # NSS를 통해 alice 계정 정보를 표준 방식으로 조회함getent group dev ..
1. 리눅스(Linux)란?리눅스는 커널(Kernel)을 중심으로 쉘/유틸리티/패키지 관리자가 결합된 운영체제 계열이다.배포판으로 Ubuntu, Debian, Alma/Rocky 등이 있다.하드웨어(CPU/메모리/디스크/네트워크)를 추상화하고 프로그램이 동일한 인터페이스로 자원을 사용하도록 보장 1-1. 리눅스가 중요한 이유서버/클라우드 표준: 대다수의 웹/API/DB/컨테이너 환경의 기본 OS이다.안정성/확장성: 오픈소스 생태계이며 꾸준한 보안/성능 개선이 이루어진다.운영 편의: 텍스트 기반 설정, 자동화 도구와 친화적이다. 2. 사용자 공간과 커널 공간계층역할예시커널 공간프로세스 스케줄링, 메모리/디스크/네트워크 제어시스템 콜, 모듈사용자 공간쉘/어플리케이션 실행Bash, Nginx, Java커널이 ..