TECH NOTES
기술노트
현장에서 검증된 개발 지식을 기록합니다.
323130292827262524232221
Backend
ReDoS — 정규식 하나가 서버를 멈추는 취약점
입력 몇 글자에 CPU가 100%로 치솟고 서버가 멎는다. 취약한 정규식의 "재앙적 백트래킹" 원리와, 안전하게 짜는 법.
Backend
SQL 인젝션, 아직도 1위 취약점 — 원리와 막는 법
문자열로 쿼리를 조립하면 입력값이 SQL 문법으로 해석돼 뚫린다. 파라미터 바인딩(prepared statement) 하나면 대부분 막힌다. 원리와 실전 방어.
Backend
API 키가 GitHub에 올라갔을 때 — 유출 대응 절차
커밋에 실수로 넣은 키는 히스토리에 영원히 남는다. .gitignore로는 못 지운다. 즉시 폐기부터 히스토리 제거까지 올바른 대응 순서를 정리한다.
Backend
CSRF 공격과 방어 — SameSite 쿠키까지
로그인된 사용자를 속여 의도치 않은 요청을 보내는 CSRF. 원리부터 CSRF 토큰, SameSite 쿠키까지 현대적 방어 조합을 정리한다.
Infra
Permission denied (publickey) — SSH 접속 오류 잡기
SSH 접속에서 가장 흔한 이 에러는 원인이 몇 가지로 정해져 있다. 키 위치·권한·서버 등록·에이전트를 순서대로 점검하면 대부분 해결된다.
Infra
리눅스 파일 권한 완벽 이해 — chmod 755·644의 의미
755, 644, 600이 대체 무슨 뜻일까. rwx와 소유자·그룹·기타의 3x3 구조만 알면 숫자 권한이 한눈에 읽힌다. 실무 권장값까지.
AI
프롬프트 인젝션, LLM 앱의 가장 흔한 취약점 방어
사용자/문서에 숨긴 지시가 시스템 프롬프트를 덮어쓰는 공격. 신뢰 경계 분리·출력 검증·권한 최소화로 막는다.
Infra
SSH 키 인증과 서버 접속 보안 하드닝
비밀번호 로그인은 무차별 대입의 표적. 키 인증 전환·root 로그인 제한·포트/접속망 제한·fail2ban까지 기본 하드닝.
Backend
.env 환경변수 관리와 흔한 유출 사고 막기
.env를 깃에 올려 키가 유출되는 사고가 흔하다. gitignore·시크릿 매니저·프론트 노출 변수 구분까지 안전 관리법.
Backend
Webhook 안전하게 받기 — 서명 검증과 멱등 처리
결제·외부 이벤트 webhook은 위조·중복 전송이 온다. HMAC 서명 검증으로 진위를, 이벤트 ID로 멱등성을 보장한다.
Backend
파일 업로드 서버 처리, multipart와 스트리밍
큰 파일을 메모리에 통째로 받으면 OOM 난다. 스트림으로 디스크/스토리지에 흘리고, 크기·확장자·MIME를 검증한다.
Backend
API rate limiting, 어떻게 구현하나 (토큰 버킷)
남용·DoS·비용 폭증을 막는 rate limit. 고정 윈도우의 경계 문제와 토큰 버킷·슬라이딩 윈도우 비교, Redis 구현.