Security
-
JWT vs Opaque 토큰 완전 정리 — 서명, 해시, 세션, Google 인증 구조까지
멀티유저 인증 서버를 설계하다가 “액세스 토큰을 JWT로 할지 opaque(세션형)로 할지” 결정하는 과정에서, 서명·암호화·해시·Google의 실제 토큰 구조까지 파고든 내용을 정리한다. 나중에 다시 헷갈릴 때 이 글부터 다시 읽는다. 1. Opaque 토큰 = 클래식 세션 방식 opaque 토큰은 토큰 문자열 자체엔 아무 정보도 없는 랜덤 문자열이다. 실제 “누구인지, 유효한지, 권한이 뭔지”는 전부 서버 저장소(DB, 세션 스토어)에 있고,… Continue reading
-
Nginx Reverse Proxy 완벽 가이드
Nginx를 사용하면 특정 도메인 경로를 로컬 포트로 연결할 수 있습니다. 예를 들어 http://yourdomain.com/api를 http://localhost:3000으로 연결하는 것이 가능합니다. Nginx 설치 # Ubuntu/Debiansudo apt updatesudo apt install nginx# CentOS/RHELsudo yum install nginx 기본 설정 /etc/nginx/sites-available/myapp 파일을 생성합니다: server { listen 80; server_name yourdomain.com; location /api { proxy_pass http://localhost:3000; proxy_http_version 1.1; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header… Continue reading
-
브라우저가 자동으로 반응하는 HTTP 상태 코드와 헤더들
웹 개발을 하다 보면 HTTP 상태 코드를 자주 다루게 됩니다. 하지만 이 중 일부는 단순히 정보를 전달하는 것을 넘어서, 브라우저가 특정 동작을 자동으로 실행하도록 만듭니다. 예를 들어 301 Moved Permanently를 받으면 브라우저는 자동으로 새 주소로 이동하고, 401 Unauthorized를 받으면 로그인 팝업을 띄웁니다. 이런 “브라우저의 자동 동작”을 이해하면 더 효율적인 웹 애플리케이션을 만들 수 있습니다. 이… Continue reading
-
프론트엔드-백엔드 분리 환경에서 OAuth 로그인 구현하기
프론트엔드와 백엔드가 분리된 환경에서 구글 OAuth 로그인을 구현하는 방법 전체 아키텍처 사용자 → NextAuth (OAuth 처리) → 백엔드 API (사용자 정보 저장 + JWT 발급) → 이후 API 요청 시 JWT 사용 구현 단계 1. NextAuth 설정 프론트엔드에서 NextAuth를 사용해 OAuth를 처리하고, 로그인 성공 시 백엔드에 사용자 정보를 전송 // pages/api/auth/[…nextauth].jsimport NextAuth from ‘next-auth’import GoogleProvider… Continue reading
-
JWT와 Refresh Token 운영 방법 상세 정리
1. JWT 인증 구조의 기본 개념 JWT(Json Web Token)는 서버와 클라이언트 간 인증 정보를 안전하게 주고받기 위한 토큰 기반 인증 방식입니다. 주로 Access Token과 Refresh Token 두 가지 토큰을 조합해 사용합니다. 2. Access Token과 Refresh Token의 차이와 역할 Access Token 용도: API 요청 시 인증 및 권한 확인에 사용 만료 시간: 짧게 설정(예: 15분~1시간) 저장… Continue reading
-
모든 설정 정상인데 fail2ban 동작이 제대로 되지 않는 경우
fail2ban backend 및 systemd journal 연동 정리 1. fail2ban backend 동작 방식 backend=systemd: systemd의 journal에서 로그를 읽음 backend=auto: 환경에 따라 자동으로 backend 선택 (예: pyinotify, gamin, polling, systemd 등) 2. 실제 적용된 backend 확인 방법 명령어 예시 fail2ban-server -d | grep backend# 또는 (Windows에서는)fail2ban-server -d | findstr backend 각 jail별로 어떤 backend가 적용됐는지 확인 가능… Continue reading
-
fail2ban으로 80포트 DoS 공격 완화 및 SSH 무차별 접속 시도 차단하기
웹 서버와 SSH는 외부 공격에 자주 노출됩니다. 특히 80포트(HTTP) DoS 공격과 SSH 무차별 로그인 시도는 서버 보안의 큰 위협입니다. 이 포스팅에서는 fail2ban을 이용해 두 가지 공격을 효과적으로 차단하는 방법을 소개합니다. 1. fail2ban 설치 sudo apt updatesudo apt install fail2ban -y 2. SSH 무차별 접속 시도 차단 설정 fail2ban은 기본적으로 SSH 보호(jail)가 활성화되어 있습니다. 설정을 확인하거나… Continue reading
-
Docker wordpress에 서브 도메인(A Record, with nginx + https) 적용

직접 wordpress를 설치한 경우에는 구글링을 통해 검색되는 내용대로 진행하면 서브 도메인 설정을 할 수 있지만 Docker(https://hub.docker.com/_/wordpress)를 통해 wordpress를 셋업한 경우 ssl 적용이 제대로 되지 않아 새롭게 검색한 정보를 추려냄 참고한 사이트들 proxy 뒤에서 docker의 wordpress, https 적용 워드프레스 도커활용하여 배포하기 이 글에 ‘FS_METHOD’ 설정 관련 내용이 있는데 필요한지는 모르겠음 docker wordpress 구동 이전 포스팅 참고:… Continue reading
