전체 글 279

네트워크 기초 정리 :: NTP (시간 동기화 프로토콜)

네트워크 기초 정리 :: NTP (시간 동기화 프로토콜)NTP(Network Time Protocol): 네트워크에 연결된 장비들의 시간을 정확하게 맞춰주는 프로토콜중요성: 시스템 내부 시계는 수정 발진자를 기반으로 동작하는데, 온도나 하드웨어 특성에 따라 조금씩 빨라지거나 느려짐방치하면 하루에 몇 초에서 몇십 초까지도 어긋날 수 있어서버 여러 대를 운영할 때, 각 서버 시계가 제각각이면 여러 문제 발생시간이 안 맞으면 생기는 문제1. 로그 타임스탬프 왜곡모든 로그(auth.log, access.log, journalctl 등)는 이벤트가 발생한 시각을 기록하는데, 서버 시간 자체가 틀어져 있으면 그 기록도 실제 시각과 다르게 남음특정 시간대에 몰린 요청 확인이나 사고 발생 추정 시점 전후 로그 조회 같..

Network 2026.10.22

Kubernetes 보안 정리 :: RBAC(Role-Based Access Control)

Kubernetes 보안 정리 :: RBAC(Role-Based Access Control)RBAC(Role-Based Access Control): 역할(Role) 기반으로 권한을 부여하는 방식으로, 사용자에게 직접 권한을 주는 대신 “이런 역할은 이런 걸 할 수 있다”를 먼저 정의하고 사용자를 그 역할에 연결함기본 구성 요소1. Role: 특정 네임스페이스 안에서 어떤 리소스에 어떤 동작(get, list, create, delete 등)을 허용할지 정의2. ClusterRole: Role과 비슷하지만 특정 네임스페이스에 국한되지 않고 클러스터 전체에 적용3. RoleBinding: 특정 Role을 특정 사용자나 서비스 계정에 실제로 연결4. ClusterRoleBinding: ClusterRole을..

SQL 기초 실습 :: 비밀번호 정책 점검

SQL 기초 실습 :: 비밀번호 정책 점검비밀번호 정책의 필요성계정 생성 시 아무 비밀번호나 허용하면 사용자가 약한 비밀번호를 사용함DB 레벨에서부터 비밀번호 복잡도를 강제하면, 애플리케이션이 따로 검증하지 않아도 최소한의 방어선이 생김플러그인 설치sudo mysqlINSTALL SONAME 'simple_password_check';설치 확인SHOW PLUGINS;SHOW VARIABLES LIKE 'simple_password_check%';결과로 아래 항목들이 값과 함께 출력simple_password_check_minimal_length: 최소 길이simple_password_check_letters_same_case: 대문자/소문자 각각 최소 개수simple_password_check_digit..

Docker 컨테이너 보안 :: 설치부터 Trivy 이미지 스캔과 권한 최소화까지

Docker 컨테이너 보안 :: 설치부터 Trivy 이미지 스캔과 권한 최소화까지Docker 설치 방법패키지 설치sudo apt updatesudo apt install ca-certificates curl gnupg -y >> ca-certificates, curl, gnupg 세 패키지 설치* ca-certificates: HTTPS 통신 시 인증서 검증에 필요* curl: URL로 파일 다운로드할 때 사용 (바로 다음 단계에서 Docker GPG 키 받을 때 씀)* gnupg: GPG 키 처리(암호화, 서명 검증)에 필요 — 앞서 –dearmor 명령어가 이 패키지의 gpg 도구를 씀-y: 설치 확인 프롬프트 자동 승인Docker의 공식 GPG 키 등록sudo install -m 0755 -d /e..

SQL 기초 실습 :: AES_ENCRYPT로 민감 데이터 암호화

SQL 기초 실습 :: AES_ENCRYPT로 민감 데이터 암호화컬럼 암호화의 필요성: 데이터 자체를 암호화된 형태로 저장하는 방법으로, 파일이 유출되더라도 암호화 키가 없는 이상 내용을 바로 알아볼 수 없음* AES_ENCRYPT / AES_DECRYPT: MariaDB/MySQL에 내장된 함수로, 대칭키 암호화(AES)를 SQL 안에서 바로 쓸 수 있게 해줌AES_ENCRYPT(원본값, 키)로 암호화해서 저장하고 조회할 때 AES_DECRYPT(암호화된값, 키)로 다시 원본 복원실습용 테이블 준비USE practice_db;CREATE TABLE employees_secure (id INT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(50),department VARCHAR..

네트워크 기초 정리 :: FTP 익명 접속(Anonymous FTP) 위험성

네트워크 기초 정리 :: FTP 익명 접속(Anonymous FTP) 위험성익명 FTP란아이디/비밀번호 없이 anonymous라는 계정으로 누구나 접속할 수 있게 설정하는 기능파일을 공개적으로 배포할 목적으로 예전에 많이 쓰였지만, 잘못 설정하면 심각한 정보 유출 경로가 됨실습: 익명 접속 활성화하고 위험성 확인하기vsftpd 설정 파일 열기sudo vi /etc/vsftpd.confvsftpd 설정 파일 편집익명 접속 활성화anonymous_enable=YES익명 로그인을 허용하는 설정(위험한 설정이라는 걸 확인하기 위해 일부러 켬)서비스 재시작sudo systemctl restart vsftpd설정 적용익명으로 접속 시도ftp 서버IPName: anonymousPassword: (아무거나 또는 빈 값..

운영체제/Linux 2026.10.16

네트워크 기초 정리 :: DDos, QoS와 Rate Limiting

네트워크 기초 정리 :: DDos, QoS와 Rate Limiting DDoS(Distributed Denial of Service): 서비스 거부 공격의 일종으로 다수의 시스템에서 동시에 트래픽을 퍼부어서 서버나 네트워크가 정상 요청을 처리하지 못하게 마비시키는 공격DoS(단일 출발지)와 다르게 DDoS는 여러 대(보통 봇넷)에서 분산 공격하기 때문에 IP 하나 차단으로는 막기 어려움봇넷: 악성코드에 감염된 다수의 좀비 PC나 IoT 기기들을 공격자가 원격으로 조종하는 네트워크대표 공격 유형1. 볼륨 기반 공격: UDP Flood, ICMP Flood(Ping Flood)로 대역폭 자체를 포화시킴2. 프로토콜 공격: SYN Flood로 TCP 연결 처리 자원을 소진3. 애플리케이션 계층 공격: HTTP..

보안 2026.10.14

WAS 정리 :: Tomcat 배포와 nginx 리버스 프록시 연결

WAS 정리 :: Tomcat 배포와 nginx 리버스 프록시 연결Tomcat 자바 애플리케이션 배포와 nginx 리버스 프록시 연결* Tomcat: 자바(Java) 애플리케이션을 실행하는 WAS(Web Application Server)으로, nginx나 Apache와 달리 정적 파일 서비스보다는 자바 서블릿·JSP 실행이 목적이라 역할이 다름* 리버스 프록시: 리버스 프록시(Reverse Proxy)는, 클라이언트의 요청을 대신 받아서 뒤에 있는 실제 서버로 전달해주고, 그 응답을 다시 클라이언트에게 돌려주는 중계 역할을 하는 서버Tomcat 설치sudo apt install tomcat10 -y서비스 상태 확인sudo systemctl status tomcat10기본 접속 확인curl http://..

Web Server 2026.10.14