웹사이트 검색

Linux에 가상 도메인, 웹메일, SpamAssassin 및 ClamAV가 포함된 'iRedMail'(모든 기능을 갖춘 메일 서버) 설치


HTTP 및 섀도우 DNS 서비스 다음으로 메일(SMTP, POP, IMAP 및 관련된 모든 암호화 메일 프로토콜)은 인터넷에서 가장 많이 사용되는 서비스 중 하나이며 스팸 및 오픈 릴레이 메일 서버로 인해 가장 합리적인 서비스 중 하나입니다.

이 튜토리얼은 RHEL, CentOS, Scientific LinuxDebian, Ubuntu, Postfix가 포함된 Linux Mint, MySQL이 포함된 가상 도메인 및 사용자, Dovecot – POP3/POP3S 지원, IMAP/IMAPS, Roundcube – 웹 메일과 SpamAssassin 및 ClamAV를 사용한 메일 스팸 및 바이러스 검사는 모두 'iRedMail'이라는 단일 소프트웨어 패키지를 사용하여 설치됩니다.

iRedMail은 무엇입니까

iRedMail은 복잡한 구성을 위해 시스템 관리자에게 많은 시간을 절약할 수 있고 모든 주요 Linux 배포판을 지원하며 다음 Linux 패키지와 함께 제공되는 오픈 소스 전체 기능 메일 서버 솔루션입니다.

  1. 접미사: SMTP 서비스 – 기본 MTA.
  2. Dovecot: POP3/POP3S, IMAP/IMAPS, Managesieve 서비스 – 기본 MDA.
  3. 아파치: 웹 서버.
  4. MySQL/PostgreSQL: 애플리케이션 데이터 및/또는 메일 계정을 저장합니다.
  5. OpenLDAP: 메일 계정을 저장합니다.
  6. 정책: Postfix 정책 서버.
  7. Amavisd: Postfix와 SpamAssassin, ClamAV 간의 인터페이스입니다. 스팸 및 바이러스 검사에 사용됩니다.
  8. Roundcube: 웹메일 – 기본 MUA.
  9. Awstats: Apache 및 Postfix 로그 분석기.
  10. Fail2ban: 로그 파일(예: /var/log/maillog)을 검사하고 악의적인 시스템 시도를 보여주는 IP를 차단합니다.

요구사항

  1. CentOS 6.5 최소 설치 – CentOS 6.5 설치 가이드
  2. 도메인 이름을 담당하는 메일 서버를 가리키는 유효한 DNS MX 레코드.

또한 이 튜토리얼은 테스트 및 학습 목적으로만 설계되었으며 유효한 MX 레코드나 유효한 DNS 도메인을 사용하지 않습니다. 모든 구성은 MySQL의 가상 수신자를 사용하여 로컬로 이루어집니다(로컬 도메인 사용자 간에만 메일을 받거나 보낼 수 있음). – 호스트 파일에서 제공되는 로컬 도메인 이름) 그러나 우리 시스템은 인터넷 도메인에서 메일을 받을 수 없지만 실제로는 개인 IP 주소 공간에 거주하더라도 Postfix MTA를 통해 해당 도메인 메일 서버로 메일을 릴레이할 수 있다는 점에 유의하세요. , 유효한 MX 레코드가 없고 가상의 도메인을 사용하므로 수행 중인 작업에 많은 주의를 기울이십시오.

1단계: 초기 구성 및 고정 IP 주소

1. 처음 재부팅한 후 루트 계정으로 로그인하여 시스템이 최신 상태인지 확인하고 나중에 사용하는 데 필요한 유용한 패키지를 설치하십시오.

RHEL/CentOS/Scientific Linux에서
yum update && yum upgrade
yum install nano wget bzip2
데비안/우분투/리눅스 민트에서
apt-get update && apt-get upgrade
apt-get install nano wget bzip2

2. 이 상자는 메일 서버처럼 작동하므로 네트워크 인터페이스에 고정 IP를 구성해야 합니다. 고정 IP를 추가하려면 /etc/sysconfig/network-scripts/ 경로에 있는 NIC 구성 파일을 열고 편집하고 다음 값을 추가하세요.

RHEL/CentOS/Scientific Linux에서
nano /etc/sysconfig/network-scripts/ifcfg-eth0

이 파일을 템플릿으로 사용하고 이를 사용자 정의 값으로 바꾸십시오.

DEVICE="eth0"
BOOTPROTO="static"
HWADDR="00:0C:29:01:99:E8"
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Ethernet"
UUID="7345dd1d-f280-4b9b-a760-50208c3ef558"
NAME="eth0"
IPADDR=192.168.1.40
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=192.168.1.1
DNS2=8.8.8.8

NIC 파일 편집을 마친 후 위와 동일한 위치에서 네트워크 파일을 열고 HOSTNAME 지시문에 서버의 정규화되지 않은 호스트 이름을 추가하세요.

nano /etc/sysconfig/network-scripts/network

데비안/우분투/리눅스 민트에서
nano /etc/network/interfaces

다음 값을 설정으로 바꿉니다.

auto eth0
iface eth0 inet static
  address 192.168.1.40
  netmask 255.255.255.0
  gateway 192.168.1.1
  dns-nameservers 192.168.1.1
  dns-search 8.8.8.8

네트워크 파일 작업이 끝나면 이제 /etc/hostname 파일에 호스트 이름을 추가하세요.

nano /etc/hostnames

3. 그런 다음 /etc/resolv.conf 파일을 열고 아래 스크린샷처럼 DNS IP 서버 시스템 전체를 추가합니다.

nano /etc/resolv.conf

원하는 네임서버로 다음 콘텐츠를 추가하세요.

search mydomain.lan
nameserver 8.8.8.8
nameserver 8.8.8.8

4. 위의 모든 구성이 해당 파일에 기록된 후 네트워크 서비스를 다시 시작하여 새로운 구성을 적용하고 ping 및 ifconfig 명령을 사용하여 이를 확인합니다.

service network restart	[On RedHat based systems]

service networking restart	[On Debian based systems]

ifconfig

5. 이제 정적 네트워크가 완전히 작동하므로 /etc/hosts 파일을 편집하고 아래 예와 같이 정규화되지 않은 FQDN 호스트 이름을 추가하세요.

nano /etc/hosts
127.0.0.1   centos.mydomain.lan centos localhost localhost.localdomain
192.168.1.40 centos.mydomain.lan centos

호스트 이름 구성 문제를 확인하려면 호스트 이름 및 호스트 이름 –f 명령을 실행하십시오.

hostname
hostname -f

6. 또 다른 유용한 패키지는 RedHat의 EPEL 저장소에서 제공하는 bash-completion([Tab] 키를 사용한 자동 완성 명령 시퀀스)입니다. 기반 시스템을 구축한 다음 소스를 업데이트하세요.

RHEL/CentOS/Scientific Linux에서
rpm –Uvh http://fedora.mirrors.romtelecom.ro/pub/epel/6/i386/epel-release-6-8.noarch.rpm
yum repolist && yum upgrade

소스가 업데이트된 후 bash-completion 유틸리티를 설치하십시오(모든 질문에 로 답하십시오).

yum install bash-completion

데비안/우분투/리눅스 민트에서

Debian 기반 시스템의 bash-completion 패키지는 다음 명령을 사용하여 쉽게 설치할 수 있습니다.

apt-get install bash-completion

7. 마지막 단계는 루트 권한이 있는 시스템 사용자를 추가하는 것입니다. 먼저 사용자를 추가하고 비밀번호를 설정하세요.

adduser your_user
passwd your_user

사용자가 추가된 후 /etc/sudoers 파일을 열고 %wheel 그룹의 주석 처리를 제거한 다음 새로 생성된 사용자를 휠 그룹에 추가하세요.

nano /etc/sudoers

이렇게 보이도록 휠 그룹 라인을 검색하고 주석을 제거하세요.

%wheel                ALL=(ALL)            ALL

파일을 닫고 다음 명령을 실행하여 휠 그룹에 사용자를 추가하십시오.

usermod -aG wheel your_user

8. iRedMail 소프트웨어 다운로드 및 설치를 시작하기 전에 시스템을 재부팅한 다음 새로 생성된 사용자로 로그인하여 모든 것이 제대로 작동하는지 확인하십시오.

2단계: iRedMail 설치

9. iRedMail 아카이브 패키지를 다운로드하려면 공식 다운로드 페이지 섹션을 방문하거나 wget 명령을 사용하여 마지막 버전(0.8.7<)을 다운로드할 수 있습니다. 이 글을 쓰는 시점).

wget https://bitbucket.org/zhb/iredmail/downloads/iRedMail-0.8.7.tar.bz2

10. iRedMail 아카이브 다운로드가 완료되면 다음 명령을 사용하여 압축을 해제하세요.

tar xvjf iRedMail-0.8.7.tar.bz2

11. 그런 다음 새로 추출된 iRedMail 디렉토리 경로를 입력하고 iRedMail.sh 스크립트에 실행 권한을 표시한 다음 실행하세요.

cd iRedMail-0.8.7
chmod +x iRedMail.sh
sudo ./iRedMail.sh

12. 초기 시스템 검사 후 프로그램이 필수 저장소 추가를 시작하고 첫 번째 안내 프롬프트에서 설치를 계속할지 아니면 중단할지 묻습니다. 계속하려면 를 선택하세요.

13. iRedMail은 Maildir 형식을 사용하여 추가하는 모든 도메인에 대해 별도의 디렉토리를 생성하는 /var/vmail 시스템 경로에 이메일을 저장합니다. MTA 서버에. 이 경로에 익숙하다면 다음을 눌러 서버 구성을 진행하고, 원하는 위치를 입력한 후 다음을 누르세요.

14. 다음 단계에서는 Postfix에 연결할 메일 도메인 이름과 수신자를 저장할 기본 데이터베이스를 선택합니다. 이 튜토리얼은 MySQL 데이터베이스에 중점을 두고 있으므로 [스페이스] 막대를 사용하여 MySQL을 선택한 후 다음을 계속 진행하고 MySQL 루트 계정에 대한 강력한 비밀번호를 제공하세요.

15. 다음 단계에서는 첫 번째 가상 도메인 이름을 추가하세요. 여기에 추가된 등록된 도메인 이름을 소유한 경우(시스템 FQDN이 아닌 도메인 이름만 추가)

16. 기본적으로 iRedAdmin은 iRedAdmin 패널 또는 Dovecot 프로토콜(기본 Roundcube 웹 메일 인터페이스 또는 SquirrelMail, Rainloop와 같은 기타 IMAP/POP MUA 소프트웨어)을 통해 액세스할 수 있는 서버에 대한 모든 권한을 가진 관리 사용자를 생성합니다. , Microsoft Outlook, Mozilla Thunderbird, Evolution, Mutt, Elm 등).

또한 이 포스트마스터 관리 계정은 시스템에서 메일 기능이나 기타 시스템 오류 또는 유용한 정보와 관련된 사건을 보고하는 데 사용됩니다. Logwatch는 일반적으로 여기에 통계를 보냅니다. 따라서 강력한 비밀번호를 선택하고 다음을 계속하세요.

17. 다음 단계에서는 Postfix에 대한 iRedAdmin 공식 관리 패널, DKIM 도메인 키와 같은 다른 메일 서버 구성요소를 선택합니다. – (최종 전달 또는 추가 릴레이에 대한 메시지 신뢰를 평가하는 메시지 헤더에 서명 추가), Roundcube 기본 웹메일 인터페이스(다른 메일 배달 에이전트를 사용하려는 경우 Roundcube 건너뛰기), PhpMyadmin(MySQL 명령줄에 익숙하다면 PhpMyAdmin 설치도 건너뛰어야 함), Awstats(유용한 로그 통계 및 분석기), Fail2ban(다음으로부터 서버를 보호합니다) 무차별 공격).

18. 다음 질문에서는 설치된 옵션 구성 요소에 따라 로 대답해야 합니다. $HOME 추출된 디렉토리에 있는 iRedMail.tips 파일에는 서버 애플리케이션의 사용자 이름 및 비밀번호, 서버 구성 파일, 기본 URL 및 비밀번호와 같은 민감한 메일 서버 정보가 포함되어 있으므로 특히 주의하십시오. 기타 중요한 정보.

19. 설치가 완료된 후 시스템을 재부팅하고 iRedmail.tips 파일을 확인하여 서버 기본 설정을 확인하세요. 이 파일을 안전한 위치로 이동해야 합니다. 600개의 권한이 있는 시스템 경로입니다.

20. 다음 URL에서 기본 웹 애플리케이션에 액세스합니다.

  1. Roundcube 웹메일 – https://domain_name 또는 server_IP/mail/
  2. IRedAdmin 패널 – https://domain_name 또는 server_IP/iredadmin/
  3. PhpMyadmin – https://domain_name 또는 server_IP /phpmyadmin/
  4. Awstats – https://domain_name 또는 server_IP/awstats/awstats.pl?config=web(또는 ?config=smtp)
  5. Policyd 스팸 방지 플러그인 – https://domain_name 또는 server_IP/cluebringer/

3단계: 초기 웹메일 구성

21. iRedAdmin 관리 패널은 Postfix가 MySQL 백엔드를 통해 처리할 수 있는 메일 서버에 대한 가상 도메인과 계정을 추가할 수 있는 기본 웹메일 인터페이스를 제공합니다. iRedAdmin 패널에 로그인하려면 브라우저에서 https://domain_name/iredadmin/ 또는 https://server_IP/iredadmin/ URL을 지정하고 다음 기본 자격 증명을 사용하세요.

  1. 사용자 이름: postmaster@your_domain_name.tld
  2. 비밀번호: #16 지점에 설정된 우편 담당자 비밀번호

22. 사용자를 추가하려면 추가 -> 사용자로 이동한 다음 원하는 사용자 이름 메일 주소와 비밀번호를 입력하세요. 또한 할당량을 사용하여 사용자 사서함이 처리할 수 있는 공간의 양을 설정할 수 있으며 사용자를 전역 관리자로 표시하여 iRedAdmin 패널을 통해 관리 권한이 있는 사용자를 승격시킬 수도 있습니다.

23. 사용자 이메일 읽기는 Roundcube 웹 인터페이스에서 제공됩니다. 액세스하려면 https://domain_name/mail 또는 https://server_IP/mail/ URL로 이동하여 [ 형식으로 메일 계정 자격 증명을 제공하세요. 이메일은 보호됨].

기본 관리 메일 계정 postmaster에 액세스하면 두 개의 초기 이메일을 찾을 수 있으며 그 중 하나에는 서버의 민감한 정보가 포함되어 있습니다. 이제 여기에서 이메일을 읽고, 메일을 작성하고, 다른 도메인 사용자에게 보낼 수 있습니다.

24. 서버 Policyd 스팸 방지 정책에 액세스하려면 https://domain_name/cluebringer 또는 https://server_IP/로 이동하세요. 힌트 가져오기/ 다음 자격 증명을 제공하세요.

  1. 사용자 이름: [이메일 보호됨]
  2. 비밀번호: 우편 담당자 비밀번호

25. 메일 서버 통계를 보려면 https://mydomain.lan/awstats/awstats.pl/?config=smtp 또는 https://로 이동하세요. mydomain.lan/awstats/awstats.pl 다음 자격 증명을 사용합니다.

  1. 사용자 이름: [이메일 보호됨]
  2. 비밀번호: 우편 담당자 비밀번호

26. 서버의 열린 연결을 확인하고 구심성 소켓을 사용하여 데몬 상태를 수신하고 싶다면 다음 명령을 실행하세요.

netstat -tulpn   ## numerical view
netstat -tulp    ## semantic view

27. 메일 거래와 관련된 다른 문제를 디버깅하거나 서버가 실시간으로 작동하는지 보려면 다음 명령을 사용할 수 있습니다.

tailf /var/log/maillog   ## visualize mail logs in real time
mailq    		   ##  inspect mail queue
telnet    		   ## test your server protocols and security form a different location
nmap                     ## scan your server opened connections from different locations

28. 이제 전체 메일 환경을 배포했습니다. 적어도 이 주제에서 누락된 유일한 것은 메일을 수신하기 위한 MX DNS 레코드가 있는 유효한 도메인 이름입니다. 다른 인터넷 도메인에서는 로컬 SMTP 서버가 메일을 다른 유효한 인터넷 도메인으로 릴레이할 수 있고 그렇게 할 것이므로 ISP와 불법적인 문제가 발생할 수 있으므로 메일을 보내는 사람에게 특별히 주의를 기울이십시오.

아래 스크린샷에서 내 로컬 유효하지 않은 도메인에서 내 google.com 계정 중 하나로 이메일을 보냈고 해당 이메일이 내 Google 계정에 성공적으로 수신되었음을 확인할 수 있습니다.

설치하고 오랫동안 잊어버리는 다른 네트워크 서비스와 달리 메일 서버 관리는 스팸, 오픈 릴레이 및 메시지 반송과 같은 메일 서비스 관련 문제로 인해 지속적인 노력이 필요합니다.

참조 링크

iRedMail 홈페이지