Dev/CS 31

[CS] 메일 헤더를 분석해보자

메일 헤더(Header)란 무엇인가?메일 헤더는 "이 메일이 어디서, 누구에 의해, 어떤 방식으로 전달되었는지"를 기록한 메일의 이력서 같은 존재다. 본문은 사용자에게 보이는 영역이라면 헤더는 메일 서버와 보안 시스템을 위한 영역이다. 스팸 분석, 위·변조 판단, 발송 경로 추적 시 가장 먼저 확인하는 게 바로 이 메일 헤더다.메일 헤더 분석 가이드 (예시 헤더 기반 정리)/* ChatGPT를 통해 만든 샘플 메일 헤더입니다. */Received: from mail.example-sender.com (203.0.113.10) by mail.example-receiver.com with ESMTP; Tue, 04 Feb 2026 15:20:11 +0900Authentication-..

Dev/CS 2026.02.09

🐳 도커(Docker) 프록시 네트워크 설정

포트 직접 접근에서 프록시 네트워크 방식으로 전환한 이유기존에는 아래처럼 포트를 직접 열어서 접근했다.http://도메인:8080http://도메인:9000 이 방식은 간단하지만, 운영 환경에서는 여러 문제가 있다.포트 직접 노출 방식의 한계서비스가 늘어날수록 포트 관리 지옥방화벽, 보안 장비 설정 복잡서비스 구조가 외부에 그대로 노출HTTPS 적용 시 서비스마다 설정 필요“서비스가 많아질수록 관리 포인트가 기하급수적으로 늘어난다.”프록시 네트워크 방식이란?외부에서는 단 하나의 진입점(WEB) 만 바라보고 실제 서비스들은 Docker 내부 네트워크에서만 통신하게 만드는 구조다.외부 사용자 ↓ HTTPS[Nginx Reverse Proxy] ↓ Docker Network[서비스 / 배치 / 관리자]..

Dev/CS 2026.01.21

🐳 도커(Docker) 기본 개념과 용어 정리

도커 프로젝트를 진행하면서 관련된 단어 정리를 해보려 한다.이미지? 컨테이너? 볼륨? 다양한 용어들이 한꺼번에 쏟아져서 어렵게 느껴졌지만 막상 두들겨보니 일상에서 익숙한 예시를 찾게되어 알기 쉽게 정리해 보았다.도커란?도커는 ‘애플리케이션을 실행하는 데 필요한 것을 한 번에 담아 어디서든 똑같이 실행할 수 있게 해주는 기술’도커 이미지(Image) = 🍱 밀키트도커 이미지는 애플리케이션 실행에 필요한 모든 것을 담아놓은 설계도 + 재료 세트 밀키트레시피손질된 재료양념조리 순서도커 이미지OS 기반 환경라이브러리실행 파일설정 값밀키트는 아직 요리된 상태가 아니고,도커 이미지도 아직 실행된 상태가 아니다.컨테이너(Container) = 🍳 실제로 조리된 요리컨테이너(Container)는 도커 이미지를 실제..

Dev/CS 2026.01.20

[CS] 해싱과 암호화의 차이점

이번 프로젝트에서 비밀번호 저장에 대한 로직을 구현하며 해싱(Hashing)과 암호화(Encryption)에 차이점에 대해서 공부해 보았다. 두 개념 모두 데이터를 변환하여 보호하는 기술이지만, 그 목적과 방식은 매우 다르다는 것을 알게 되었다.1. 해싱(Hashing)이란?해싱은 임의의 입력값을 고정된 길이의 문자열(해시 값)로 변환하는 과정이다.대표적인 해시 함수로는 SHA-256, MD5가 있다.특징단방향한 번 해싱된 값은 원래 데이터로 복원 불가능고정된 길이 출력입력 데이터의 크기과 관계없이 항상 일정한 길이의 해시값을 생성충돌 방지서로 다른 입력값이 같은 해시 값을 갖지 않음빠른 연산 속도데이터를 빠르게 변환할 수 있도록 최적화됨 사용 사례1. 비밀번호 저장2. 데이터 무결성 검증 (파일 다운로..

Dev/CS 2025.03.17

[CS] Base62 vs Base64 비교 및 용도별 적합성

Base62와 Base64는 둘 다 데이터를 문자 기반으로 변환하는 인코딩 방식이지만, 사용 목적과 특성이 다르다. 각각의 차이점과 적합한 용도를 비교해보자.1. Base62 vs Base64 개요특징Base62Base64사용 문자0-9 (10개) + A-Z (26개) + a-z (26개) = 62개0-9 (10개) + A-Z (26개) + a-z (26개) + +, / = 64개URL 안전성✅ (특수문자 없음)❌ (+, /가 포함되어 URL에서 인코딩 필요)공백 포함 여부❌ (패딩 없음)✅ (일반적으로 = 패딩 사용)인코딩 효율성덜 효율적 (62진법 변환 필요)더 효율적 (2^6 비트 단위 변환)변환 방식숫자(ID) → 62진법 변환3바이트(24비트) → 4개 6비트 단위로 변환사용 목적짧고 안전한 U..

Dev/CS 2025.03.12

[DNS] MX 레코드 확인 방법

도메인의 MX(메일 교환기) 레코드는 메일 서버의 주소를 나타내며, 이를 확인하는 것은 메일 시스템을 설정하거나 문제를 해결할 때 중요하다.이번 글에서는 Windows 환경에서 CMD(명령 프롬프트)를 사용해 특정 도메인의 MX 레코드를 확인하는 방법을 기술한다.1. 실행 창에서 CMD 실행하기1. [Win + R] 키를 눌러 실행창을 연다.2. '열기' 입력란에 cmd를 입력한 후 [확인] 버튼 클릭2. nslookup 명령어를 사용하여 MX 레코드 조회1. 명령 프롬프트 창에서 nslookup을 입력하고 Enter2. 다음 명령어를 입력하여 MX 레코드 조회 모드로 변경한다.set q=mx 3. 원하는 도메인을 입력한다.google.com 또는 naver.com 4. 결과를 확인한다. 아래와 같은 형..

Dev/CS 2025.02.10

DKIM과 DMARC 이란?

DKIM과 DMARC는 이메일 인증 기술로 이메일의 신뢰성을 보장하고 피싱 및 스팸 메일을 방지하기 위해 사용된다.각각의 개념에 대해서 알아보고 동작 방식을 살펴보자.1. DKIM (DomainKeys Identified Mail)DKIM은 이메일이 수정되지 않았음을 보장하는 전자 서명 기술이다.- 발신자가 이메일에 디지털 서명을 추가하고, 수신자가 이 서명을 검증한다. - 이메일이 전송 중 변경되었다면 서명이 일치하지 않아 수신자가 이를 탐지할 수 있다.DKIM 동작 방식:1. 발신 도메인 관리자는 공개 키와 비밀 키를 생성2. 공개 키는 DNS 레코드에 저장되며 누구나 확인 가능3. 이메일 전송 시 발신 서버는 이메일 헤더에 DKIM 서명을 추가4. 수신 서버는 DNS에서 공개 키를 가져와 이메일의 ..

Dev/CS 2025.01.02

[검색엔진] Solr에 대해서 알아보자

검색엔진 Solr 개요Apache Solr는 오픈소스 검색 플랫폼으로, Apache Lucene 라이브러리를 기반으로 개발되었다.주로 텍스트 기반 데이터 검색, 데이터 색인, 데이터 분석에 사용되며, 대규모 데이터 처리에 적합하다.Solr 주요 특징1. 강력한 검색 및 색인 기능 Solr는 빠르고 효율적인 텍스트 검색 기능을 제공한다. - 키워드 검색 - 부분 검색 및 와일드카드 검색 - 필터링과 정렬 - 여러 언어 지원 2. 확장성과 분산 처리 Solr는 클러스터링 및 분산 검색을 지원한다.SolrCloud 기능을 사용하면 데이터를 여러 서버에 분산해 검색 속도와 데이터 처리 용량을 늘릴 수 있다. 3. RESTful API 지원 Solr는 HTTP 요청을 통해 데이터를 색인하거나 검색할 수 있는 RE..

Dev/CS 2024.11.27