태그: 보안
8편
-
CORS 에러를 제대로 이해하기: 동일 출처 정책, 프리플라이트, credentials와 헤더 해석
CORS(Cross-Origin Resource Sharing, 교차 출처 리소스 공유)는 서버가 “이 출처의 스크립트가 응답 본문을 읽어도 된다”고 브라우저에 알려 주는 HTTP 헤더 규약입니다.
-
UPnP 동작 방식과 보안 문제: SSDP 기기 발견, SOAP 제어, IGD 포트 포워딩
UPnP가 SSDP 멀티캐스트로 기기를 찾고 SOAP으로 서비스를 제어하며 IGD로 공유기 포트를 여는 과정을 메시지 단위로 설명합니다. Python·Node.js·Go·miniupnpc 구현 예제와 알려진 보안 취약점, NAT-PMP·STUN/TURN 같은 대안도 비교합니다.
-
JWT 인증 구현: Access·Refresh Token 패턴, Next.js·Express 구현, 흔한 보안 실수
JWT 인증을 실무에 적용하는 방법. JWT 구조와 생성·검증, Access Token과 Refresh Token 패턴, Next.js·Express 구현, 보안 모범 사례와 자주 하는 실수, 세션 방식과의 비교를 다룹니다.
-
C++ TLS 통신: OpenSSL과 Asio 연동, 인증서 관리, mTLS, 흔한 SSL 에러
TLS 핸드셰이크 흐름을 짚은 뒤 Asio의 ssl::stream과 순수 OpenSSL로 각각 에코 서버·클라이언트를 구현합니다. 자체 서명·CA 인증서 생성, mTLS 클라이언트 인증 설정, 인증서 만료·호스트명 불일치·체인 누락 같은 SSL 에러 대처도 다룹니다.
-
SSH 프로토콜 보안 원격 접속 | 공개키·ProxyJump·포트 포워딩·OpenSSH 실전
SSH의 키 교환·호스트 검증·사용자 인증 흐름을 짚고, Ed25519 키와 ~/.ssh/config, ProxyJump와 에이전트 포워딩의 차이, 로컬·원격 포트 포워딩, SCP/SFTP, Permission denied·호스트 키 변경·ssh-rsa 거부 같은 오류 대응을 OpenSSH 기준으로 정리합니다.
-
Node.js 인증과 보안 | JWT, bcrypt, 세션, OAuth
bcrypt로 비밀번호를 해싱해 회원가입을 구현하고, JWT 발급·검증과 인증·권한 미들웨어, Refresh Token, express-session, Passport.js Google OAuth, Helmet·Rate Limiting·CORS·입력 검증 보안 설정을 다룹니다.
-
C++ 보안 프로그래밍 | 메모리 안전·인젝션·하드닝
할당 크기 정수 오버플로우로 생기는 힙 손상, 스마트 포인터로도 막지 못하는 댕글링(string_view·span·반복자 무효화), SQL·명령어·포맷 스트링 인젝션, 민감 메모리 제로화, 표준 라이브러리 하드닝 모드와 컴파일러 보호 옵션, Sanitizer·퍼징까지 C++ 메모리 안전 중심으로 다룹니다.
-
C++ 보안 코딩 가이드: 오버플로우 방지와 암호화 라이브러리(OpenSSL) 실전 연동
정수·버퍼 오버플로우를 막는 코드 작성법과 OpenSSL 3.x를 RAII로 감싸 쓰는 방법을 다룹니다. 암호학적 난수, HMAC-SHA256, AES-256-GCM, PBKDF2 예제와 함께 ECB 모드, IV 재사용, 타이밍 공격, SSL_VERIFY_NONE 같은 흔한 취약점을 설명합니다.