서버 설정 · 4 min read · Sep 27, 2025
완벽한 스팸스네이크 - 우분투 자운티 재칼로프
완벽한 스팸스네이크 - 우분투 자운티 재칼로프
저자: 모하메드 알리
Postfix w/Bayesian Filtering and Anti-Backscatter (Relay Recipients), Apache, Mysql, Dnsmasq, MailScanner (Spamassassin, ClamAV, Pyzor, Razor, DCC-Client), MailWatch, SPF Checks, FuzzyOcr, PDF/XLS/Phishing Sanesecurity Signatures, Postfix-GLD (Greylisting Optional), Logwatch Statistical Reporting (Optional), Outgoing Disclaimer with alterMIME (Optional), FireHOL (Iptables Firewall)
버전 2.5
이 튜토리얼은 우분투 자운티 재칼로프 기반 서버를 게이트웨이 모드에서 스팸 필터로 설정하는 방법을 보여줍니다. 마지막에는 깨끗한 이메일을 MTA로 중계하는 스팸스네이크 게이트웨이를 갖게 됩니다. 또한 수신 대기열을 보고, 스팸스네이크를 훈련시키고, MailWatch를 통해 몇 가지 더 고급 작업을 수행할 수 있습니다.
이것이 저에게 작동하는 것과 같은 방식으로 귀하에게 작동할 것이라는 보장을 드릴 수는 없습니다.
다음 소프트웨어를 사용할 것입니다:
- 웹 서버: Apache 2 with PHP 5
- 데이터베이스 서버: MySQL 5.0
- 메일 서버: Postfix
- 캐싱 DNS 서버: Dnsmasq
- 메일 스캐너: MailScanner v4.76
- 메일워치: MailWatch v1.0.4
HowtoForge의 여러분과 MailScanner, MailWatch, ClamAV, Apache, Mysql 및 Postfix의 개발자들에게 감사드립니다.
최소 옵션을 사용하여 기본 시스템 설치하기.
1. 루트 권한 얻기
루트 비밀번호를 설정하여 루트 로그인을 활성화합니다. 그런 다음 루트로 직접 로그인할 수 있습니다:
sudo passwd root2. vim-nox 설치 (선택 사항)
이 튜토리얼에서는 vi를 텍스트 편집기로 사용할 것입니다. 기본 vi 프로그램은 우분투와 데비안에서 이상한 동작을 하므로 이를 수정하기 위해 vim-nox를 설치합니다:
aptitude install vim-nox(joe나 nano와 같은 다른 텍스트 편집기를 사용하는 경우 이 작업을 수행할 필요는 없습니다.)
3. 네트워크 구성
우분투 설치 프로그램이 DHCP를 통해 네트워크 설정을 가져오도록 시스템을 구성했기 때문에, 서버는 정적 IP 주소를 가져야 하므로 이제 이를 변경해야 합니다. /etc/network/interfaces를 편집하고 필요에 맞게 조정합니다 (이 예제 설정에서는 IP 주소 192.168.0.100을 사용할 것입니다):
vi /etc/network/interfaces# 이 파일은 시스템에서 사용 가능한 네트워크 인터페이스와 이를 활성화하는 방법을 설명합니다.
# 자세한 내용은 interfaces(5)를 참조하십시오.
# 루프백 네트워크 인터페이스
auto lo
iface lo inet loopback
# 기본 네트워크 인터페이스
auto eth0
iface eth0 inet static
address 192.168.0.100
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.1그런 다음 네트워크를 재시작합니다:
/etc/init.d/networking restart그런 다음 /etc/hosts를 편집합니다. 다음과 같이 만듭니다:
127.0.0.1 localhost.localdomain localhost
192.168.0.100 server1.example.com server1
# 다음 줄은 IPv6 지원 호스트에 바람직합니다
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts이제 실행합니다:
echo server1.example.com > /etc/hostname
/etc/init.d/hostname.sh start그 후, 실행합니다:
hostname
hostname -f둘 다 이제 server1.example.com을 표시해야 합니다.
4. 리눅스 설치 업데이트
/etc/apt/sources.list를 편집합니다. 설치 CD를 파일에서 주석 처리하거나 제거하고 universe 및 multiverse 저장소가 활성화되어 있는지 확인합니다. 다음과 같아야 합니다:
#
# deb cdrom:[Ubuntu-Server 9.04 _Jaunty Jackalope_ - Release amd64 (20090421.1)]/ jaunty main restricted
#deb cdrom:[Ubuntu-Server 9.04 _Jaunty Jackalope_ - Release amd64 (20090421.1)]/ jaunty main restricted
# http://help.ubuntu.com/community/UpgradeNotes에서 배포판의 최신 버전으로 업그레이드하는 방법을 참조하십시오.
deb http://de.archive.ubuntu.com/ubuntu/ jaunty main restricted
deb-src http://de.archive.ubuntu.com/ubuntu/ jaunty main restricted
## 최종 릴리스 이후에 생성된 주요 버그 수정 업데이트.
deb http://de.archive.ubuntu.com/ubuntu/ jaunty-updates main restricted
deb-src http://de.archive.ubuntu.com/ubuntu/ jaunty-updates main restricted
## N.B. 이 저장소의 소프트웨어는 우분투 팀에 의해 전적으로 지원되지 않습니다. 또한 universe의 소프트웨어는 우분투 보안 팀의 검토나 업데이트를 받지 않습니다.
deb http://de.archive.ubuntu.com/ubuntu/ jaunty universe
deb-src http://de.archive.ubuntu.com/ubuntu/ jaunty universe
deb http://de.archive.ubuntu.com/ubuntu/ jaunty-updates universe
deb-src http://de.archive.ubuntu.com/ubuntu/ jaunty-updates universe
## N.B. 이 저장소의 소프트웨어는 우분투 팀에 의해 전적으로 지원되지 않으며, 무료 라이센스가 아닐 수 있습니다. 소프트웨어 사용에 대한 권리를 확인하십시오. 또한 multiverse의 소프트웨어는 우분투 보안 팀의 검토나 업데이트를 받지 않습니다.
deb http://de.archive.ubuntu.com/ubuntu/ jaunty multiverse
deb-src http://de.archive.ubuntu.com/ubuntu/ jaunty multiverse
deb http://de.archive.ubuntu.com/ubuntu/ jaunty-updates multiverse
deb-src http://de.archive.ubuntu.com/ubuntu/ jaunty-updates multiverse
## 'backports' 저장소에서 소프트웨어를 추가하려면 다음 두 줄의 주석을 제거하십시오.
## N.B. 이 저장소의 소프트웨어는 기본 릴리스에 포함된 소프트웨어보다 광범위하게 테스트되지 않았을 수 있으며, 유용한 기능을 제공할 수 있는 일부 응용 프로그램의 최신 버전을 포함합니다.
## 또한 backports의 소프트웨어는 우분투 보안 팀의 검토나 업데이트를 받지 않습니다.
# deb http://de.archive.ubuntu.com/ubuntu/ jaunty-backports main restricted universe multiverse
# deb-src http://de.archive.ubuntu.com/ubuntu/ jaunty-backports main restricted universe multiverse
## Canonical의 'partner' 저장소에서 소프트웨어를 추가하려면 다음 두 줄의 주석을 제거하십시오.
## 이 소프트웨어는 우분투의 일부가 아니지만, Canonical과 해당 공급업체가 우분투 사용자에게 서비스로 제공하는 것입니다.
# deb http://archive.canonical.com/ubuntu jaunty partner
# deb-src http://archive.canonical.com/ubuntu jaunty partner
deb http://security.ubuntu.com/ubuntu jaunty-security main restricted
deb-src http://security.ubuntu.com/ubuntu jaunty-security main restricted
deb http://security.ubuntu.com/ubuntu jaunty-security universe
deb-src http://security.ubuntu.com/ubuntu jaunty-security universe
deb http://security.ubuntu.com/ubuntu jaunty-security multiverse
deb-src http://security.ubuntu.com/ubuntu jaunty-security multiverse그런 다음 다음을 실행하여 apt 패키지 데이터베이스를 업데이트합니다:
aptitude update다음 명령을 실행하여 최신 업데이트를 설치합니다:
aptitude safe-upgrade업데이트의 일환으로 새 커널이 설치되는 경우, 그 후 시스템을 재부팅해야 합니다:
5. 기본 셸 변경
/bin/sh는 /bin/dash에 대한 심볼릭 링크이지만, 우리는 /bin/dash가 아닌 /bin/bash가 필요합니다. 따라서 다음과 같이 합니다:
dpkg-reconfigure dashdash를 /bin/sh로 설치하시겠습니까? <– 아니오
6. AppArmor 비활성화
AppArmor는 확장된 보안을 제공해야 하는 보안 확장(SELinux와 유사)입니다. 제 생각에는 안전한 시스템을 구성하는 데 필요하지 않으며, 일반적으로 장점보다 더 많은 문제를 일으킵니다 (어떤 서비스가 예상대로 작동하지 않아 일주일 동안 문제 해결을 한 후, 모든 것이 괜찮았고 AppArmor가 문제를 일으켰다는 것을 알게 되는 경우를 생각해 보십시오). 따라서 이를 비활성화합니다 (ISPConfig를 나중에 설치하려면 반드시 필요합니다).
다음과 같이 비활성화할 수 있습니다:
/etc/init.d/apparmor stop
update-rc.d -f apparmor remove
aptitude remove apparmor apparmor-utils7. 소프트웨어 설치
이제 나중에 필요한 몇 가지 패키지를 설치합니다:
aptitude install binutils cpp fetchmail flex gcc libarchive-zip-perl libc6-dev libcompress-zlib-perl libdb4.6-dev libpcre3 libpopt-dev lynx m4 make ncftp nmap openssl perl perl-modules unzip zip zlib1g-dev autoconf automake1.9 libtool bison autotools-dev g++ build-essential unrar8. 시스템 시계 동기화
인터넷을 통해 NTP(네트워크 시간 프로토콜) 서버와 시스템 시계를 동기화하는 것이 좋습니다. 간단히 실행하십시오:
apt-get install ntp ntpdate9. 캐싱 Dnsmasq
apt-get install dnsmasq/etc/dnsmasq.conf를 편집하고 Dnsmasq가 localhost에서 수신 대기하도록 설정합니다:
listen-address=127.0.0.1 /etc/resolv.conf를 편집하고 목록의 맨 위에 다음을 추가합니다:
nameserver 127.0.0.1 새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.