모든 설정 정상인데 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 →

Next.js + NestJS/SpringBoot JWT 로그인 시스템 설계 및 보안

Next.js + NestJS/SpringBoot JWT 로그인 시스템 설계 및 보안 1. 시스템 구조 프론트엔드: Next.js (NextAuth, Passport 등 사용) 백엔드: NestJS 또는 SpringBoot 인증 방식: Google OAuth 등 소셜 로그인 → JWT 발급 → 쿠키/헤더로 백엔드에 전달 [Next.js + NextAuth/Passport] | |--(로그인)--> [JWT 발급, 쿠키 저장] | |--(API 요청, JWT 포함)--> | [Backend (NestJS/SpringBoot)] | |--(JWT... Continue Reading →

fail2ban으로 80포트 DoS 공격 완화 및 SSH 무차별 접속 시도 차단하기

웹 서버와 SSH는 외부 공격에 자주 노출됩니다. 특히 80포트(HTTP) DoS 공격과 SSH 무차별 로그인 시도는 서버 보안의 큰 위협입니다. 이 포스팅에서는 fail2ban을 이용해 두 가지 공격을 효과적으로 차단하는 방법을 소개합니다. 1. fail2ban 설치 sudo apt update sudo apt install fail2ban -y 2. SSH 무차별 접속 시도 차단 설정 fail2ban은 기본적으로 SSH 보호(jail)가 활성화되어 있습니다. 설정을... Continue Reading →

과도한 트래픽으로 인한 요금 발생 방지 및 Nginx 트래픽 한도 초과 차단 방법

1. Nginx에서 과도한 트래픽 방지 기본 설정 (1) 요청 속도 제한 http { limit_req_zone $binary_remote_addr zone=one:10m rate=10r/s; server { location / { limit_req zone=one burst=20 nodelay; } } } (2) 동시 접속자 수 제한 http { limit_conn_zone $binary_remote_addr zone=addr:10m; server { location / { limit_conn addr 10; } } } (3) 업로드/다운로드 크기 제한 server... Continue Reading →

Docker Compose와 Docker Swarm 요약

Docker Compose와 Docker Swarm 요약 1. 개발 및 배포 흐름 개발 단계 docker-compose.yml 파일을 작성하여 여러 컨테이너(서비스)를 정의하고, 로컬 개발 및 테스트 환경에서 사용. 배포 단계 Swarm에 맞는 설정(deploy 섹션, replicas, placement 등)을 Compose 파일에 추가/수정. Swarm 클러스터에서 docker stack deploy -c docker-compose.yml <스택이름> 명령으로 배포. 2. Compose와 Swarm의 차이 Compose: 단일 서버에서 여러 컨테이너를 쉽게 관리. Swarm: 여러 서버(노드)에 컨테이너를 분산·복제하여... Continue Reading →

npm 사용 중 프리징 현상이 나올 경우

npm install 등 명령어로 무언가를 할 경우 프리징이 발생하는 경우가 있다. 발생한 최근 상황 윈도우 환경 내 WSL2를 이용한 Ubuntu 22.04 실행 Docker를 이용해 node 컨테이너 생성(22.11 버전) nextjs 프로젝트 생성을 위해 npx create-next-app 실행 Prettier tailwindcss 플러그인 설치를 위해 npm install 실행 설치 진행 중에 보이는 바람개비 동작이 멈추면서 진행이 안 됨 해결 버전을... Continue Reading →

MQTT(Message Queuing Telemetry transport)

MQTT는 ISO 표준 발행-구독 기반의 메시징 프로토콜이다. TCP/IP 프로토콜 위에서 동작한다. "작은 코드 공간"이 필요하거나 네트워크 대역폭이 제한되는 원격 위치와의 연결을 위해 설계되어 있다. 발행-구독 메시징 패턴은 메시지 브로커가 필요하다. 위키백과 관련 제품 Eclipse Mosquitto Eclipse Mosquitto 브로커와 클라이언트 CLI 를 제공한다. RabbitMQ RabbitMQ: One broker to queue them all | RabbitMQ MQTT의 단순한 기능뿐만... Continue Reading →

NextJs 13에서 GraphQL 클라이언트 사용

내용 원본 https://www.apollographql.com/blog/apollo-client/next-js/how-to-use-apollo-client-with-next-js-13/ 패키지 설치 npm install -S @apollo/client@rc @apollo/experimental-nextjs-app-support 클라이언트 코드 구현 // lib/client.js(or client.ts) import { HttpLink } from "@apollo/client"; import { NextSSRInMemoryCache, NextSSRApolloClient, } from "@apollo/experimental-nextjs-app-support/ssr"; import { registerApolloClient } from "@apollo/experimental-nextjs-app-support/rsc"; export const { getClient } = registerApolloClient(() => { return new NextSSRApolloClient({ cache: new NextSSRInMemoryCache(), link: new HttpLink({ uri: "https://main--time-pav6zq.apollographos.net/graphql&quot;,... Continue Reading →

MQTT(Message Queuing Telemetry transport)

MQTT는 ISO 표준 발행-구독 기반의 메시징 프로토콜이다. TCP/IP 프로토콜 위에서 동작한다. "작은 코드 공간"이 필요하거나 네트워크 대역폭이 제한되는 원격 위치와의 연결을 위해 설계되어 있다. 발행-구독 메시징 패턴은 메시지 브로커가 필요하다. 위키백과 관련 제품 Eclipse Mosquitto Eclipse Mosquitto 브로커와 클라이언트 CLI 를 제공한다. RabbitMQ RabbitMQ: One broker to queue them all | RabbitMQ MQTT의 단순한 기능뿐만... Continue Reading →

아프리카TV와 치지직 그리드 앱 비교 (2024.5.5 기준)

네이버 치지직이 5월부터 그리드를 적용해서 아프리카TV와 동작 방식이 어떻게 다른지 비교를 해봤다. 아프리카 TV 1. 설치 프로그램 불필요한 기능은 추가로 설치하지 않음, 7.7MB로 작은 용량만 소모. 해당 프로그램 하나만 설치를 요구함 2. 시작 프로그램 윈도우 시작 프로그램에 afreecatvpackage.exe가 추가됨. PC를 켜는 즉시 자동 시작이며, "사용 안 함"으로 설정해 줘야만 시작하지 않음. 시작 프로그램으로 사용하지 않아도... Continue Reading →

WordPress.com 제공.

위로 ↑

워드프레스닷컴으로 이처럼 사이트 디자인
시작하기