e_yejun
Jun_ : Pwn
e_yejun
전체 방문자
오늘
어제
  • 분류 전체보기 (240)
    • Profile (1)
    • Pwnable (54)
    • Reversing (14)
    • Network (8)
    • Forensic (10)
    • Embedded (4)
    • Android (2)
    • Web (18)
    • 알고리즘 (42)
    • 프로그래밍 (24)
    • 프로젝트 (6)
    • 1-day (7)
    • CTF (15)
    • 기타 (33)
    • 일기장 (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • Heap
  • 1-day
  • wargame
  • x64
  • rev-basic
  • BOF
  • dvwa
  • dreamhack.io
  • X86
  • how2heap

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
e_yejun

Jun_ : Pwn

기타

메일 서버 구축 (postfix, dovecot)

2023. 1. 13. 04:15

Index

메일 서버란?
메일 서버 관련 프로토콜
실습
실습 환경
실습 네트워크 구성도
메일 서버 구축 과정
메일 서버 설정
수동 DNS 설정
메일 서버 계정 추가
메일 서버 로그인
내부망 메일 송수신 테스트
외부 메일(gmail) 송수신 테스트
무료 도메인 등록
Host OS → Guest OS 포트포워딩
메일 송수신 테스트


나만의 도메인을 가진 메일 서버를 만들고, 메일을 송수신하는 것이 목표이다.

메일 서버란?

이메일을 SMTP를 이용해 다른 이메일 서버로 전달하는 서버

메일 서버 관련 프로토콜

  • 메일 송신 : SMTP (postfix 사용)
  • 메일 수신 : POP# & IMAP (dovecot 사용)

실습

실습 환경

메일 서버 : Ubuntu 14

메일 서버의 도메인 : projectA.64bit.kr

클라이언트 : kali, centos

클라이언트의 메일 프로그램 : thunderbird

SMTP : postfix

POP3 : dovecot

실습 네트워크 구성도

메일 서버 구축 과정

기본적인 메일 서버 구축과 설정은 다음과 같은 같은 블로그 글을 참고했다.

메일 서버 세팅하기 - postfix, dovecot, roundcube
우분투 14.04에 메일 서버를 세팅하려고 한다. 할 때마다 인터넷 검색하는게 지겨워서 제대로 정리해놓으려는 목적.다음에 보고, 그냥 따라하면 되도록... 현재 서버의 상태는 apache2, php5, mysql, vsftp, bind9 패키지가 설치되어서 정상 동작하고 있는 상태. 메일서버 세팅하고, roundcube로 웹메일 구현하는 것이 목표다. postfix는 메일보내기 위한 데몬,dovecot은 메일 수신을 위한 데몬,roundcube는 웹메일 클라이언트.
https://zzaps.tistory.com/312

메일 서버 설정

수동 DNS 설정

각 클라이언트의 /etc/hosts 파일에서 수동으로 dns 설정해준다.

메일 서버 실습이므로, dns 서버를 따로 구성하지 않고 클라이언트 별로 수동으로 ip와 도메인을 매치 시킨다.

cent os 네트워크 설정

  • /etc/hosts 파일에 yejun.kr과 192.168.81.129를 수동으로 설정해준다.

  • 도메인(yejun.kr)으로 ping이 잘 날라가는지 확인.

kali 네트워크 설정

  • /etc/hosts 파일에 yejun.kr과 192.168.81.129를 수동으로 설정해준다.

  • 도메인(yejun.kr)으로 ping이 잘 날라가는지 확인.

메일 서버 계정 추가

sudo useradd -m test1 -s /sbin/nologin  # 계정추가(test1)
sudo passwd test1                       # 추가한 계정의 비밀번호 변경
./thunderbird                           # 선더버드 실행

test1은 사용하고자 할 user 계정명이고, 부여받는 이메일의 형식은 ‘[계정명]@yejun.kr’이 된다.

실습을 위해서 test1과 test2 계정을 임의로 생성했다.

메일 서버 로그인

  • cent os (test1)

    test1@yejun.kr 로그인

  • kali (test2)

    test2@yejun.kr 로그인


내부망 메일 송수신 테스트

  • test1(cent os) → test2(kali) 메일 송신

  • test2(kali) 수신 확인

  • test2(kali) → test1(cent os) 답장 메일 송신

  • test1(cent os) 수신 확인

외부 메일(gmail) 송수신 테스트

IP는 나의 Host OS로 부여하고, Host PC에서 Guest OS로 포트포워딩을 해준다.

→ Host OS를 타고 들어와서 Guest OS(메일서버)로 메일이 잘 도착하게 된다.

💡
외부 메일(gmail)에서 메일이 수신되지 않았다면, 스팸 메일을 확인해보자.

무료 도메인 등록

실습을 위한 도메인 같은 경우에는 https://d.lrl.kr/ 에서 무료로 등록할 수 있다.

Host OS → Guest OS 포트포워딩

  • Host OS 방화벽 허용

  • Guest OS 포트포워딩

메일 송수신 테스트

  • test1(cent os) → 외부 메일(gmail)

  • 외부 메일(gmail) 수신 확인

  • 외부 메일(gmail) → test1(cent os)

  • test1(cent os) 송신 확인


Uploaded by N2T

    '기타' 카테고리의 다른 글
    • [PyQt5] Anaconda Qt Designer 설치
    • N2T exe파일로 만들기 (config 숨기기)
    • N2T(Notion to Tistory) 설치 및 오류 해결방법
    • [picoCTF 19] Based Writeup
    e_yejun
    e_yejun
    정리노트 •_•

    티스토리툴바