메일, DNS,FTP,방화벽,telnet, ssh 서버 구성하기

2025. 4. 24. 21:27·Linux

 

1. 서버 설정 개요

  • 메일 서버: Postfix
  • DNS 서버: BIND
  • FTP 서버: vsftpd
  • 방화벽: firewalld (특정 포트 및 서비스만 허용)

기존 서버 역할 linux 설정(192.168.50.50)

1. DNS 서버 구성(kh.com 존 구성)(telnet,ssh,mail,ftp)
2. telnet 서버 구성
3. ssh 서버 구성(port 12345 구성)
4. mail 서버 구성(mail.kh.com)
5. ftp 서버 구성(pasv mode, pasv data 50000~50001)
6. firewalld 실행 및 시작프로그램 구성
7. target DROP으로 설정
8. client(192.168.50.100)에서 설정된 서비스 받을 수 있도록 firewalld 방화벽 허용 설정

2. DNS 서버 설정 (BIND)

a. BIND 설치

dnf install bind*

b. BIND 설정 파일 수정 (/etc/named.conf)

vi /etc/named.conf

named.conf 파일을 다음과 같이 수정

options {
    listen-on port 53 { 192.168.50.50; };
    
    
    
    -> 
    allow-query { any; };
};

 

+ dssec 3개 no 설정하기


 

vi /etc/named.rfc1912.zones 

zone "kh.com" IN {
    type master;
    file "kh.com.zone";
};

 

 

c. 존 파일 생성 (/var/named/kh.com.zone)

cp -p /var/named/named.localhost kh.com.zone

다음과 같이 zone 파일을 작성. 메일 서버를 위한 MX 레코드도 추가

$TTL 86400
@   IN ns.kh.com. root.kh.com. (
        2023042301 ; Serial
        3600       ; Refresh
        1800       ; Retry
        1209600    ; Expire
        86400 )    ; Minimum TTL

  IN  NS  ns.kh.com.
   IN  MX 10 mail.kh.com.
ns IN  A   192.168.50.50
telnet IN A   192.168.50.50
ssh IN A   192.168.50.50
mail IN A   192.168.50.50
ftp IN A   192.168.50.50

d. BIND 서비스 시작

systemctl enable named
systemctl start named

 

3. 메일 서버 설정 (Postfix)

a. Postfix 설치

dnf install postfix

b. Postfix 설정 (/etc/postfix/main.cf)

vi /etc/postfix/main.cf

main.cf 파일을 아래와 같이 수정

myhostname = mail.naver.com
mydomain = naver.com
myorigin = $mydomain
inet_interfaces = all
mydestination = $myhostname, $mydomain, localhost, localhost.$mydomain
mynetworks = 0.0.0.0/0
home_mailbox = Maildir/

c. Postfix 서비스 시작

systemctl enable postfix
systemctl start postfix

4. FTP 서버 설정 (vsftpd)

a. vsftpd 설치

dnf -y install vsftpd

b. vsftpd 설정 (/etc/vsftpd/vsftpd.conf)

vi /etc/vsftpd/vsftpd.conf

vsftpd.conf 파일을 다음과 같이 수정

pasv_enable=YES
pasv_min_port=50000
pasv_max_port=50001

c. vsftpd 서비스 시작

systemctl enable vsftpd
systemctl start vsftpd

5. firewalld 설정

a. firewalld 설치 및 서비스 시작

dnf install firewalld
systemctl enable firewalld
systemctl start firewalld

b. 기본 정책 설정 (DROP)

기본 정책을 DROP으로 설정하여 모든 트래픽을 차단한 후, 필요한 서비스만 허용

firewall-cmd --permanent --zone=public --set-target=DROP
systemctl reload firewalld

c. 서비스 허용

다음과 같이 방화벽에서 필요한 서비스와 포트를 열기

# Telnet 서비스 열기
firewall-cmd --permanent --zone=public --add-service=telnet
firewall-cmd --reload

# DNS 서비스 열기
firewall-cmd --permanent --zone=public --add-service=dns
firewall-cmd --reload

# SSH (포트 12345) 열기
firewall-cmd --permanent --zone=public --add-port=12345/tcp
firewall-cmd --reload

# Mail (SMTP 서비스 열기)
firewall-cmd --permanent --zone=public --add-service=smtp
firewall-cmd --reload

# POP3 서비스 열기
firewall-cmd --permanent --zone=public --add-service=pop3
firewall-cmd --reload

# FTP 서비스 열기
firewall-cmd --permanent --zone=public --add-service=ftp
firewall-cmd --reload

# PASV FTP 포트 (50000-50001) 열기
firewall-cmd --permanent --zone=public --add-port=50000-50001/tcp
firewall-cmd --reload

d. 방화벽 상태 확인

서비스가 잘 설정되었는지 확인하려면 아래 명령어로 방화벽 상태를 확인

firewall-cmd --list-all


6. Telnet 서버 구성




a. Telnet 패키지 설치

dnf install telnet-server



b. Telnet 서비스 활성화

systemctl start telnet.soket



c. Telnet 접속
  
   telnet <서버 IP>

   telnet <서버 IP> 192.168.100.100


   


7.SSH 서버 구성 (포트 12345 지정)



기본적으로 내장.

a. SSH 설정 변경

vi /etc/ssh/sshd_config

vi /etc/ssh/sshd_config


  b. 다음 라인을 추가:    Port 12345
 
   PermitRootLogin no  # root 계정 직접 로그인 금지 (보안 강화)

Port 12345
PermitRootLogin no  # root 계정 직접 로그인 금지 (보안 강화) -기본으로 되어 있음



c. SSH 서비스 재시작

systemctl restart sshd


   
d. SSH 접속

   ssh -p 12345 <사용자명>@<서버 IP>

   ssh -p 12345 <사용자명>@<서버 IP> 192.168.100.100

 

8. 서버 전체 설정 완료 후 테스트

모든 설정을 마친 후, 클라이언트(192.168.50.100)에서 각 서비스가 정상적으로 작동하는지 확인

  • Telnet: telnet 192.168.50.50으로 접속
  • SSH: ssh -p 12345 user@192.168.50.50으로 접속
  • 메일 서버: telnet mail.kh.com 25로 SMTP 포트 테스트
  • FTP: FTP 클라이언트를 통해 ftp://192.168.50.50에 접속
  • DNS: dig @192.168.50.50 telnet.kh.com 또는 nslookup telnet.kh.com 192.168.50.50

 

 

저작자표시 비영리 변경금지 (새창열림)

'Linux' 카테고리의 다른 글

계정 관리, 디스크 관리, RAID 구성 및 bit 연산-> 서버 관리나 데이터 복구 시 유용  (0) 2025.04.26
IPtables 설정 응용, 실습 (방화벽과 클라이언트, 서버를 3개 둔 상황)  (0) 2025.04.25
기본 리눅스 설정: 헷갈리는 것들 모음  (0) 2025.04.23
이메일 서버 설정 : Dovecot과 Postfix 구성 방법 ✉️ (메일 이론, 설정법)  (0) 2025.04.21
주네임서버와 보조네임서버 구성 방법, 설정방법  (0) 2025.04.21
'Linux' 카테고리의 다른 글
  • 계정 관리, 디스크 관리, RAID 구성 및 bit 연산-> 서버 관리나 데이터 복구 시 유용
  • IPtables 설정 응용, 실습 (방화벽과 클라이언트, 서버를 3개 둔 상황)
  • 기본 리눅스 설정: 헷갈리는 것들 모음
  • 이메일 서버 설정 : Dovecot과 Postfix 구성 방법 ✉️ (메일 이론, 설정법)
햅삐root
햅삐root
happyroot 님의 블로그 입니다. IT 보안 정리💛
  • 햅삐root
    햅삐한 root
    햅삐root
  • 전체
    오늘
    어제
    • 전체보기 IT (123)
      • Linux (21)
      • Network (23)
      • packet tracer& GNS3 (10)
      • Cryptology (7)
      • WEB (16)
      • DB (16)
      • Hacking (28)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    sqlinjection
    injectionvector
    Hack
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
햅삐root
메일, DNS,FTP,방화벽,telnet, ssh 서버 구성하기
상단으로

티스토리툴바