#security
노트 60개
Frontend › JavaScript
작은 모듈 철학과 npm 의존성의 비용한 가지 일만 하는 작은 모듈을 조합한다는 Node.js·npm의 유닉스 철학과, 한 줄짜리 패키지까지 의존성으로 들이는 하이퍼 모듈화를 둘러싼 찬반을 정리한다. left-pad 삭제(2016)가 바꾼 npm 정책, 의존성 트리가 깊어질수록 커지는 공급망 위험, 표준 API가 작은 패키지를 대체해 온 흐름, 지금 의존성을 들일 때의 판단 기준까지.
Frontend › JavaScript
정규식 엔진: 탐욕·게으름·전후방탐색·백트래킹JavaScript 정규식 엔진은 백트래킹 방식이다. 탐욕 수량자는 최대한 먹고 한 글자씩 돌려주며, 게으른 수량자는 최소한으로 먹고 하나씩 늘린다. 둘보다 제외 세트가 정확할 때가 많다. 전후방탐색은 결과에 넣지 않고 조건만 건다. 겹치는 중첩 수량자는 실패할 때 경우의 수가 지수적으로 늘어 페이지를 멈추게 하며(재앙적 백트래킹·ReDoS), 경우의 수를 줄이거나 전방탐색으로 원자 그룹을 흉내 내 막는다.
Frontend › JavaScript
npm install이 하는 일: 내 컴퓨터와 앱에 생기는 변화npm으로 패키지를 설치하면 레지스트리에서 코드를 받아 캐시·node_modules·lock 파일에 쓰고, 설치 스크립트를 내 권한으로 실행하고, 명령을 PATH에 연결한다. 로컬·전역 설치가 컴퓨터의 어디를 바꾸는지, 앱의 코드·번들·배포에 무엇이 들어가는지, 되돌리는 법을 정리한다.
Frontend › Web
데이터 최소화와 프라이버시 실천개인정보는 모으지 않는 것이 가장 안전하다. 수집하지 않기 → 뭉개서 모으기(구간화·무작위 응답·차등 프라이버시) → 쓰고 지우기(Clear-Site-Data) → 왜 필요한지 설명하기 순으로 효과가 크고, 조직에서는 데이터 목록 문서화·정기 감사·목적 외 사용 차단으로 유지한다.
Frontend › Web
로그인·가입 폼과 인증 입력가장 좋은 가입 폼은 없는 가입 폼이다. 필요할 때만 계정을 요구하고, 로그인·가입 폼은 비밀번호 관리자가 알아보게 만든다(new/current-password, 다른 name·id, 성공 감지, 붙여넣기 허용). 비밀번호 보기 버튼, 두 단계 로그인, 모바일 키보드 가림, 패스키 자동 완성(username webauthn), 일회용 코드(one-time-code·WebOTP), NIST SP 800-63B-4의 비밀번호 규칙, 계정 설정과 /.well-known/change-password까지 정리한다.
Frontend › Web
브라우저 지문 채취와 User-Agent 축소지문 채취는 UA·글꼴·화면·캔버스 렌더링처럼 오래 변하지 않는 특성을 모아 쿠키 없이 사용자를 식별한다. 수동·능동 방식과 엔트로피로 이해하고, 브라우저는 API 미구현·권한 요청·값 뭉개기·UA 동결로 대응한다. 사이트는 UA 스니핑을 기능 감지와 Client Hints로 바꾸고 넓은 환경에서 시험한다.
Frontend › Web
서드파티 쿠키와 브라우저 추적 방지사파리 ITP와 파이어폭스 Total Cookie Protection은 서드파티 쿠키를 막거나 사이트별로 분할하고, 크롬은 단계적 폐지를 철회해 일반 창에서는 사용자 설정에 맡긴 뒤 Privacy Sandbox API 대부분을 정리했다. 브라우저를 가리지 않고 동작하려면 임베드 상태는 CHIPS(Partitioned)로, 꼭 필요한 교차 사이트 접근은 Storage Access API로 처리한다.
Frontend › Web
서드파티와 프라이버시: 감사와 Referrer·Permissions 정책광고·임베드·분석·스크립트·패키지 같은 서드파티는 IP·Referer·쿠키를 받고, 스크립트는 페이지 전체 권한을 가진다. 기술·비기술 감사로 실제 요청을 파악하고, 정적 공유 링크·퍼사드·nocookie 임베드로 줄이며, Referrer-Policy·Permissions-Policy·CSP Report-Only로 범위를 묶는다.
Frontend › Web
웹 보안: CSRF와 XSS사용자의 권한을 도용하는 CSRF와 악성 스크립트를 주입하는 XSS의 원리와 방어법. 문자열 HTML을 innerHTML에 넣을 때의 위험과 setHTML·DOMPurify·Trusted Types도 다룬다.
Frontend › Web
창과 프레임: 팝업, iframe, postMessage다른 창(팝업)과 프레임(iframe)을 열고 서로 참조하는 법, 동일 출처 정책이 창 사이에서 허용하는 것과 막는 것, sandbox 속성, 출처가 달라도 안전하게 대화하는 postMessage와 같은 출처 탭끼리의 BroadcastChannel, 그리고 내 페이지가 남의 iframe에 갇혀 클릭을 빼앗기는 클릭재킹과 그 방어 헤더까지 정리한다.
Frontend › Web
쿠키와 세션상태가 없는 HTTP에서 브라우저와 서버가 사용자를 기억하기 위해 쓰는 쿠키와 세션.
Frontend › Web
폼 제출과 데이터 전송<form>은 Enter 제출·검증·자동 완성·보조 기술 지원을 공짜로 주므로 데이터를 보내는 곳에는 항상 쓴다. GET과 POST 고르기, 제출 버튼의 종류와 type="button" 함정, 제출 버튼을 언제 막는가, FormData와 fetch로 새로 고침 없이 보내는 점진적 향상, 같은 엔드포인트에서 HTML·JSON 응답 나누기, HTTPS·데이터 최소화·허니팟 같은 보안·개인정보 원칙을 정리한다.
Frontend › Web
프라이버시를 위한 암호화: 전송·저장·종단 간사용자 데이터를 남이 읽지 못하게 하는 세 겹의 암호화. 전송 중은 HTTPS·리다이렉트·HSTS로, 저장 중은 클라우드 기본 암호화와 직접 관리 키로, 운영자조차 못 읽게 하려면 Web Crypto로 클라이언트에서 암호화하는 종단 간 암호화로 지킨다. 각 층이 막는 위협과 한계를 정리한다.
Frontend › Web
프론트엔드 출시 전 체크리스트웹 페이지를 배포하기 전에 확인할 항목을 head·HTML·CSS·이미지·폰트·JavaScript·보안·성능·접근성·SEO 열 가지로 나눠, 우선순위와 자세한 설명이 있는 노트로 잇는 점검표. 항목은 사람이 외우지 않고 린터·Lighthouse·CI로 자동화하는 것이 기본이다.
Frontend › Web
HTTPS 전환: 인증서 고르기부터 리다이렉트까지사이트를 HTTPS로 옮기는 실무 흐름. 인증서는 검증 수준(DV·OV·EV)과 도메인 범위(단일·다중·와일드카드)로 고르는데, 웹사이트에는 ACME로 자동 발급·갱신하는 DV가 표준이다. 설치 뒤 301 리다이렉트·혼합 콘텐츠 제거·HSTS·서버 설정 점검까지 해야 전환이 끝난다.
Frontend › Web
OAuth 2.0비밀번호를 넘기지 않고 다른 서비스의 자원 접근 권한을 위임하는 OAuth 2.0. 네 역할, Authorization Code + PKCE 흐름, 토큰 종류, OIDC와의 차이, 프론트엔드 보안 주의점, OIDC로 구현하는 SSO를 정리한다.
Frontend
Electron: 웹 기술로 데스크톱 앱 만들기Electron은 Chromium과 Node.js를 한 앱에 묶어 HTML·CSS·JavaScript로 macOS·Windows·Linux 데스크톱 앱을 만든다. 앱 수명과 OS 기능을 맡는 메인 프로세스, 창마다 뜨는 렌더러 프로세스, 둘을 잇는 preload·contextBridge·IPC 구조와, 기본으로 켜진 컨텍스트 격리·샌드박스 같은 보안 기본값, 패키징과 릴리스 주기, OS 웹뷰를 쓰는 Tauri와의 차이를 정리한다.
Backend › Architecture
개발자 머피의 법칙: 백엔드 방어 체크리스트잘못될 수 있는 것은 결국 잘못된다. 클라이언트 값 불신, 서버 재계산, 인증과 권한 분리, 입력 범위 제한, 운영 권한 통제, 배치·로그·알림 분리, SPOF 제거처럼 감당할 수 없는 사고는 이미 일어난 것으로 보고 먼저 막는다.
Backend › Architecture
권한 시스템 설계: ACL, RBAC, ABAC권한 시스템은 '누가 무엇에 어떤 행동을 할 수 있나'를 정하는 모델을 고르는 일이다. 자원마다 허용 목록을 다는 ACL, 소유자가 정하는 DAC, 등급 라벨로 강제하는 MAC, 역할로 묶는 RBAC, 속성 조건으로 판단하는 ABAC, 관계 그래프로 판단하는 ReBAC가 있다. 대부분 RBAC로 시작하고 예외가 늘면 속성이나 관계를 더한다.
Backend › Architecture
보안 시스템 설계: 원칙과 민감 데이터 관리보안 설계는 기밀성·무결성·가용성(CIA)을 지키는 일이고, 인증·인가·암호화·네트워크·컨테이너·API·서드파티·감사·사고 대응·재해 복구를 처음부터 기본값으로 넣는 것이다. 웹 앱의 대표 위험은 OWASP Top 10(2025)으로 점검한다. 민감 데이터는 분류하고, 전송·저장 중 암호화하고, 키를 분리 관리하고, 비식별화하고, 최소 권한과 수명 주기로 접근을 좁힌다.
Backend › Architecture
웹 확장성의 구성 요소: 한 장으로 보는 웹 아키텍처확장 가능한 웹 애플리케이션을 이루는 구성 요소(DNS, 로드 밸런서, CDN, 프론트 웹 서버, 웹 서비스, 캐시, 메시지 큐와 워커, 데이터 저장소, 검색엔진)를 한 장의 지도로 정리했다. 3-Tier와 MSA의 데이터 흐름, 확장의 세 축(복제, 기능 분할, 데이터 분할), HTTP 캐시와 객체 캐시, 비동기 처리와 이벤트 기반 구조, 구간별 보안, 그리고 사람과 팀을 확장하는 법까지 다룬다.
Backend › Architecture
인증·인가 로직은 어디에 두나: 필터, 인터셉터, API 게이트웨이인증·인가를 컨트롤러마다 넣으면 중복과 누락이 생긴다. 단일 서버에서는 필터·인터셉터·메서드 보안으로, MSA에서는 API 게이트웨이에서 토큰을 검증하고 각 서비스가 자기 리소스의 인가를 맡는 식으로 층을 나눈다. 게이트웨이 우회 차단과 신원 전달 방식이 핵심 주의점이다.
Backend › Architecture
카드 결제망과 간편결제카드를 긁는 순간부터 가맹점이 돈을 받기까지의 승인·매입·정산 흐름과, 발급사·매입사·카드 네트워크·PG·프로세서가 각각 맡는 일, 수수료가 나뉘는 구조를 정리했다. 카드 번호 대신 토큰을 쓰는 Apple Pay·Google Pay, QR 결제의 네 가지 방식과 「스캔해서 결제」 흐름까지 다룬다.
Backend › Django
Django User와 인증django.contrib.auth의 User 모델로 회원가입·로그인을 구현하고, 템플릿에서 현재 사용자 정보를 쓰는 방법.
Backend › NestJS
NestJS 설정과 환경 변수@nestjs/config로 .env를 읽어 DB 주소·포트·비밀키를 코드 밖으로 분리하고, 다른 모듈 설정은 forRootAsync와 ConfigService로 읽는 방법.
Backend › NestJS
NestJS JWT 인증과 Passport로그인 시 JWT를 발급하고, Passport Strategy와 Guard로 요청마다 토큰을 검증해 현재 사용자를 꺼내는 NestJS 인증 구현.
Backend › Web Basics
2단계 인증: TOTP와 패스키인증기 앱의 6자리 코드(TOTP)는 등록 때 공유한 비밀 키와 현재 시각으로 서버와 앱이 같은 숫자를 각자 계산하는 방식이다. 패스키는 비밀을 공유하지 않는다: 기기가 사이트마다 키 쌍을 만들고 공개키만 서버에 주며, 로그인 때 서버의 챌린지에 개인키로 서명한다. 도메인에 묶여 있어 피싱에 강하다.
Backend › Web Basics
비밀번호 저장과 비밀번호 관리자서버는 비밀번호를 평문·암호문·단순 해시로 두지 않고, 사용자마다 다른 솔트를 섞어 Argon2id·bcrypt 같은 느린 해시로 저장한다. 비밀번호 관리자는 반대 방향의 문제를 푼다: 마스터 비밀번호에서 키를 유도해 금고를 기기에서 암호화하므로 서버는 내용을 볼 수 없다.
Backend › Web Basics
세션 기반 인증과 토큰 기반 인증로그인 상태를 서버 저장소에 두는 세션 방식과, 서명된 토큰(JWT)에 담아 클라이언트가 들고 다니는 토큰 방식의 흐름·장단점을 비교하고, 토큰 탈취 대책(짧은 만료, 슬라이딩 세션, 리프레시 토큰 회전)과 선택 기준을 정리한다.
Backend › Web Basics
인코딩·암호화·해시·토큰화와 디지털 서명데이터를 바꾸는 네 가지 방법은 목적이 다르다. 인코딩은 형식 변환(키 없음, 보안 아님), 암호화는 키로 기밀성 확보(대칭·비대칭), 해시는 되돌릴 수 없는 지문, 토큰화는 원본을 금고에 두고 의미 없는 대체값을 쓰는 것이다. 해시와 개인키를 엮은 디지털 서명이 위변조와 서명자를 함께 증명한다. 용도별로 쓸 알고리즘(AEAD, HMAC, Argon2id, Ed25519, X25519·ML-KEM)과 nonce 재사용·변조·재전송·타이밍 같은 조합의 함정도 정리한다.
Backend › Web Basics
텔레그램 미니앱 인증 흐름텔레그램이 서명한 initData를 클라이언트가 서버로 보내고, 서버가 봇 토큰 기반 HMAC-SHA256으로 위변조와 만료를 검증한 뒤 자체 세션·JWT를 발급하는 미니앱 인증 패턴.
Backend › Web Basics
API 보안 체크리스트API를 공개하기 전에 점검할 보안 항목을 전송·입력·인증과 인가·노출 범위·운영 단계로 묶었다. 한 가지 방어에 기대지 말고 여러 겹을 쌓는 게 핵심이다.
Backend › Web Basics
API 키와 HMAC 요청 서명서버끼리 호출하는 API에서 요청마다 '누가 보냈고 중간에 바뀌지 않았나'를 증명하는 HMAC 요청 서명. 앱 ID·액세스 키·시크릿 키의 역할, 서명할 문자열을 만드는 법, 타임스탬프와 논스로 재전송을 막는 법, 서버의 검증 순서, 토큰 방식과의 비교를 정리했다.
Backend › Web Basics
API 테스트의 종류API를 검증하는 아홉 가지 테스트(스모크, 기능, 통합, 회귀, 부하, 스트레스, 보안, UI, 퍼즈)가 각각 어떤 질문에 답하는지, 개발에서 배포까지 어느 단계에서 돌리는지, 부하와 스트레스의 차이와 퍼즈 테스트가 찾는 것을 정리했다.
Backend › Web Basics
CORS다른 출처(origin)의 프론트엔드가 API를 호출할 수 있도록 서버가 허용 범위를 알려 주는 브라우저 보안 정책.
Computer Science › C Programming
C 기초: 컴파일, 자료형, 연산자, 제어문, 함수, 배열과 문자열비트와 바이트로 정보를 표현하는 법, 소스 코드가 실행 파일이 되는 4단계 컴파일 과정, 디버깅, C 자료형의 크기, 연산자와 수식의 함정(정수 나눗셈, 증감의 미정의 동작, 대입식, 단락 평가, 우선순위), 제어문(if·switch·반복문·goto)과 함수(원형, 값에 의한 호출), 배열 초기화 규칙, 널 종단 문자열과 ctype.h·string.h 함수의 함정(strncpy, strtok, gets 대신 fgets, atoi 대신 strtol), 명령행 인자.
Computer Science
정보처리기사정보처리기사 실기에서 여러 회차에 반복해서 나오는 개념을 주제별로 묶은 요약 노트 모음.
Computer Science › Engineer Information Processing
정보 시스템 보안보안 3요소와 위협 모델, 주요 공격 기법(사회공학·악성 코드·봇넷 포함)과 익스플로잇·취약점 생명주기, 버퍼 오버플로 방어, 포트 스캔, 안전한 프로그램의 원칙(심층 방어·격리), 대칭·비대칭·해시 암호와 키 길이·디피-헬만 원리, 고전 암호·인코딩 구별, 보안 프로토콜(TLS·IPSec), 접근 통제 모델(벨-라파듈라·비바)과 AAA 정리.
Computer Science › Network
네트워크 보안: 방화벽, VPN, 계층별 공격공용망의 위협은 가로막기·가로채기·변조·위조로 나뉘고 대칭키·공개키(RSA)·해시로 막는다. 방화벽은 정해 둔 규칙(포트·IP·프로토콜·연결 상태·애플리케이션)으로 트래픽을 걸러 내는 문지기이고, 패킷 필터에서 상태 추적·프록시·차세대 방화벽으로 발전했다. 방화벽을 통과한 공격은 IDS·IPS가 탐지·차단한다. VPN은 공용망 위에 암호화된 터널을 만들어 원격 사용자나 지점을 사설망처럼 잇는다. OSI 계층마다 노리는 공격이 달라 방어도 계층별로 겹겹이 쌓는다.
Computer Science › Network
웹 PKI의 변천: 인증서 생태계는 왜 바뀌었나CA가 돈을 받고 몇 년짜리 인증서를 팔던 웹 PKI가 CA 침해·대량 감청·SHA-1 충돌·Heartbleed·폐기 실패를 거치며 바뀐 과정. 전방 비밀성, 인증서 투명성(CT), ACME 자동 발급, 브라우저 주도의 규칙 변경, 47일까지 줄어드는 유효 기간이 그 결과이고, 이제 인증서는 수명 주기 전체를 자동화해야 하는 소모품이다.
Computer Science › Network
이메일 전달 과정: SMTP, IMAP, 발신자 인증이메일은 우편처럼 릴레이된다. 메일 클라이언트(MUA)가 보낸 메일을 발신 서버(MTA)가 DNS MX 레코드로 수신 서버를 찾아 SMTP(서버 간 25, 제출 587·465)로 넘기고, 수신 서버(MDA)가 메일함에 넣으면 받는 사람의 클라이언트가 IMAP·POP3로 가져온다. 위조를 막기 위해 SPF·DKIM·DMARC로 발신자를 인증한다.
Computer Science › Network
프록시: 포워드 프록시와 리버스 프록시클라이언트와 서버 사이에서 요청을 대신 주고받는 프록시 서버. 누구를 대리하느냐에 따라 나뉘는 포워드 프록시와 리버스 프록시의 차이, 리버스 프록시가 맡는 일(TLS 종료·로드 밸런싱·캐시), VPN·NAT와의 관계, 원래 클라이언트 IP를 전달하는 헤더를 정리한다.
Computer Science › Network
HTTPS와 TLSHTTP를 TLS로 감싸 도청·변조·위장을 막는 HTTPS. 대칭키·공개키를 섞어 쓰는 TLS 핸드셰이크, 첫 HTTP 요청의 빈틈을 막는 HSTS와 preload, HTTPS만으로는 부족한 경우를 정리한다.
Computer Science › Network
SSH의 동작: 전송·인증·연결 계층SSH는 믿을 수 없는 네트워크 위에 암호화된 원격 접속 통로를 만든다. 전송 계층이 키 교환과 서버 호스트 키 확인으로 암호화 채널을 열고, 인증 계층이 공개키 등으로 사용자를 확인하며, 연결 계층이 그 하나의 통로를 셸·명령·포트 포워딩·파일 전송 채널로 나눠 쓴다.
Computer Science › Operating System
가상화와 하이퍼바이저하나의 물리 머신 위에 여러 운영체제를 돌리는 서버 가상화의 원리. 하이퍼바이저 Type 1·2 분류와 전가상화·반가상화·하드웨어 지원 가상화의 차이, 운영체제 수준 가상화(컨테이너), 샌드박스로서의 VM, 가상 네트워크 모드를 정리한다.
Computer Science › Operating System
리눅스 접근 제어: DAC, MAC, sudo리눅스가 누가 무엇을 할 수 있는지 정하는 방식. 소유자가 권한을 정하는 DAC(rwx·setuid), 커널 정책이 강제하는 MAC(AppArmor·SELinux), 관리자 권한을 빌려 쓰는 sudo와 sudoers 문법, 비밀번호 정책을 맡는 PAM을 정리한다.
Computer Science › Programming Languages
Java 입출력과 직렬화: 스트림, Path·Files, Serializable, JacksonJava 입출력의 두 계열(바이트 스트림과 문자 스트림)과 인코딩, 보조 스트림을 겹쳐 기능을 붙이는 데코레이터 구조, 버퍼링과 flush, File 대신 쓰는 Path·Files를 정리하고, 그 위에서 객체를 바이트로 바꾸는 Java 기본 직렬화(Serializable)의 serialVersionUID·보안 문제와 대안인 JSON 라이브러리 Jackson의 어노테이션, 캐시 저장처럼 타입 정보를 보존해야 할 때의 설정과 함정을 다룬다.
Computer Science
양자 컴퓨터의 원리: 큐비트, 양자 알고리즘, 양자 게이트양자 컴퓨터는 중첩된 큐비트를 쓰지만 모든 답을 한꺼번에 확인하지는 못한다. 핵심은 확률 진폭의 간섭으로 정답이 관측될 확률을 키우는 양자 알고리즘이다. 큐비트, 블로흐 구면과 X·H·CNOT 게이트, 그로버·쇼어 알고리즘, 암호에 미치는 영향과 흔한 오해를 정리했다.
DevOps
서비스 운영 준비 체크리스트서버 애플리케이션을 프로덕션에 올리기 전에 확인할 최소 기준을 회복력, 수평 확장, 무중단 배포, 프로세스 감독, 로그, 알림과 헬스 체크, 지표, 고가용성, 부하·장애 테스트, 백업 복구, 보안, 법 열두 분야로 나누고 각 항목을 자세한 노트로 잇는다. 오래된 보안 헤더(X-XSS-Protection, HPKP)처럼 지금은 따르지 않는 항목도 정리한다.
DevOps
쿠버네티스 보안: 인증, RBAC, 서비스 계정, 파드 보안쿠버네티스 API에 접근하는 주체를 확인하는 인증(X.509·토큰·OIDC)과 kubeconfig 구조, 권한을 주는 RBAC(Role·ClusterRole·바인딩, verb)와 최소 권한 적용법, 파드가 API를 부르는 서비스 계정과 토큰, 그리고 컨테이너 권한을 줄이는 Pod Security Standards·Pod Security Admission·securityContext를 정리한다.
DevOps
쿠버네티스 저장소와 설정: PV·PVC, ConfigMap, Secret파드가 죽어도 남는 저장소를 요청하는 PV·PVC와 접근 모드·회수 정책, StorageClass의 동적 프로비저닝과 CSI, emptyDir·hostPath 같은 볼륨 유형, 그리고 설정과 비밀 값을 이미지 밖에서 넣는 ConfigMap·Secret의 주입 방식, Secret의 실제 보안 수준, 외부 비밀 저장소 연동, 변경이 파드에 반영되지 않는 이유와 해결법을 정리한다.
DevOps
클라우드 기초와 AWS: 서비스 모델, 인프라, 컴퓨팅, 보안 그룹온프레미스와 클라우드의 차이, NIST가 정의한 다섯 가지 특징과 배포 모델, 제공자가 어디까지 관리하느냐로 나뉘는 IaaS·PaaS·SaaS와 공동 책임 모델, 클라우드를 받치는 가상화·네트워크 가상화(SDN·NFV), 리전·가용 영역·엣지 로케이션으로 이루어진 AWS 글로벌 인프라, EC2의 인스턴스 유형과 요금 모델, 관리형 서비스(ECS·EKS·Lambda), 보안 그룹으로 RDS 접속을 여는 법과 배스천 SSH 터널, 콘솔·CLI·SDK와 코드형 인프라.
DevOps
AWS VPC 네트워크 구성AWS에서 격리된 가상 네트워크인 VPC와 서브넷·라우팅 테이블을 바탕으로, 인터넷(인터넷 게이트웨이·NAT), 원격 근무자(Client VPN), 사내 데이터센터(Site-to-Site VPN·Direct Connect), 다른 VPC(피어링·Transit Gateway), AWS 서비스와 SaaS(게이트웨이·인터페이스 엔드포인트, PrivateLink)를 잇는 방법을 한 장의 구성도로 정리했다.
DevOps
DevSecOps와 클라우드 보안: 개발 흐름에 보안 넣기, 위협과 대응DevSecOps는 보안 검사를 출시 직전의 관문이 아니라 개발·빌드·배포·운영 전 과정에 자동화해 넣는 방식이다. 위협 모델링, 코드·의존성·이미지·IaC 자동 검사, 비밀 관리, 지속 모니터링과 취약점 관리가 핵심이고, 특히 SSH 키·토큰·인증서·자격 증명 같은 비밀은 저장소에 넣지 않고 비밀 관리 도구로 짧게 발급해 쓴다. 클라우드에서 생기는 관리적 위협(남용, 내부자, 섀도 IT, APT)과 기술적 위협(API, 가상화 탈출, 계정 탈취, 유출·손실, DoS), CVE·CCE 점검과 제로데이·원데이·올드데이, 확장성을 기준으로 한 보안 솔루션 배치도 다룬다.
DevOps
Docker 컨테이너 운영: 자원 제한, 보안, 로그, 장애 진단cgroups로 CPU·메모리·I/O·PID를 제한하는 옵션과 CPU 스로틀링·OOM의 원리, 컨테이너 격리를 보강하는 비root 실행·rootless 모드·capability·seccomp·AppArmor·SELinux, Docker 소켓과 Docker in Docker의 위험, 비밀 값 전달과 이미지 스캔·서명, 로깅 드라이버와 로그 회전, docker stats·events·Prometheus 모니터링, 종료 코드·재시작 정책·exec·diff·cp·prune을 이용한 장애 진단을 정리한다.
AI & Data
시스템 프롬프트 설계 패턴제품용 시스템 프롬프트는 정체성 → 거절 규칙 → 출력 형식 → 환경·도구 설명의 골격을 따른다. 안정적인 규칙은 시스템에, 요청마다 바뀌는 내용은 사용자 프롬프트에 나누는 법, 유출된 Copilot·Bing·ChatGPT·v0 프롬프트에서 반복되는 설계 패턴, 프롬프트 속 비밀은 지켜지지 않는다는 보안 교훈을 정리했다.
AI & Data
책임 있는 AI: 윤리, 프라이버시·공정성·신뢰AI의 판단은 데이터와 설계자의 선택이 담긴 산출물이라는 관점에서, AI 거버넌스의 세 축인 프라이버시·공정성·신뢰와 투명성을 데이터·지능·UX 세 층에 나눠 무엇을 할지 정리한다. 덜 모으고 PII를 지우고, 데이터 편향(COMPAS, 하위 집단 누락)을 점검하고 신고 경로를 열고, 사용자를 '보정된 신뢰'로 이끌며, 트롤리 딜레마·모럴 머신처럼 정답 없는 판단은 명시하고 공론화한다.
AI & Data
Claude Code 훅: 도구 호출 앞뒤에 규칙 걸기훅은 Claude Code의 특정 시점(도구 실행 전후, 응답 종료, 압축 전 등)에 내 명령을 자동으로 실행하는 장치다. 포맷터·타입 검사·민감 파일 차단처럼 모델에게 부탁하지 않고 반드시 지켜야 하는 규칙을 건다. 이벤트 종류, 설정 위치와 matcher, 표준 입력 JSON과 종료 코드 2의 의미, .env 읽기 차단 예제, 유용한 훅, 보안 주의점과 디버깅 방법을 정리했다.
AI & Data
LLM 보안 공격: 탈옥, 프롬프트 인젝션, 데이터 중독LLM이 새 컴퓨팅 스택이 되면서 운영체제처럼 고유한 보안 문제가 생겼다. 안전 학습을 우회하는 탈옥(역할극, Base64, 최적화된 접미사, 노이즈 이미지), 외부 데이터에 숨긴 지시로 모델을 가로채는 프롬프트 인젝션(숨은 글씨, 검색 결과, 공유 문서로 데이터 빼내기), 학습 데이터에 심는 데이터 중독·백도어를 수법별로 정리했다. 공격마다 방어가 나오고 다시 우회되는 고양이와 쥐 게임이다.
Tools › Dev Environment
로컬 개발 환경에 HTTPS 적용하기localhost는 대부분 보안 컨텍스트로 취급되지만 Secure 쿠키·HTTP/2·커스텀 호스트가 필요하면 로컬 HTTPS가 필요하다. mkcert로 내 기기만 믿는 로컬 CA를 만들어 인증서를 발급하고, 웹 서버·Node·프레임워크 개발 서버에 붙인다.