TECH NOTES
기술노트
현장에서 검증된 개발 지식을 기록합니다.
313029282726252423222120
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 구현.
Backend
비밀번호 해싱, bcrypt와 argon2 중 무엇을
비밀번호는 절대 평문·단순 해시(MD5/SHA) 저장 금지. bcrypt는 검증된 표준, argon2id는 현대 권장. 둘 다 안전하게 쓰는 법.