메일서버 smtp인증
telnet localhost 25
ehlo localhost
“AUTH LOGIN PLAIN”없을 경우 /etc/sendmail.mc에서 아래에서 맨앞에 dnl만 삭제. (52,53줄)
dnl TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
dnl define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf 해 준 후 266줄에
O DaemonPortOptions=Port=smtp,Addr=127.0.0.1, Name=MTA 이것을 0.0.0.0으로 바꿔주거나 주석하고 아래와 같이 처리
O DaemonPortOptions=Name=MTA로 변경.
그리고 인증을 담당하는 saslauthd를 start해준다.
O MaxMessageSize=0 주석제거하고 5024000으로 해주면 5M로 변경된다. (보내는 용량)
Mlocal, P=/usr/bin/procmail, F=lsDFMAw5:/|@qSPfhn9, S=EnvFromL/HdrFromL, R=EnvToL/HdrToL,
T=DNS/RFC822/X-Unix,
부분에 T앞부분에 M=5024000, 추가 5M로 받는 양을 제한한다.
O MaxRecipientsPerMessage=0를 변경해주면 (주석제거) 한번에 보내는 메일 개수가 제한된다.
O SmtpGreetingMessage=$j Sendmail $v/$Z; $b 항목을 O SmtpGreetingMessage=$j 임의문자 로 변경해주면 telnet 으로 접속 시 센드메일 버전정보가 노출되지 않는다(주석제거)
/etc/mail/helpfile 안에 불필요한 정보를 삭제 한다.
큐잉서버
Mx 10 mail.도메인 20mail2.도메인 30mail3.도메인 순으로 차순 적용하여 다른메일서버를 지정한다(제일 낮은 수의 메일서버가 첫번째) mail2.도메인 과 mail.3도메인인 서버에는 /etc/mail/access 에 도메인 RELAY만 추가 해주면 된다. 절대로 /etc/local-host-name에 도메인이 들어가면 안된다(로컬로 인식됨) 그리고 /etc/local-host-name에는 mail2.도메인 및 mail3.도메인(각서버의 호스트와도메인)을 적어준다. 이리하면 10인 서버가 다운되어 다음 서버에게 메일이 전달되었다가 10인서버가 정상적으로 운영되면 다시 배달을 해준다.
makemap hash /etc/mail/access < /etc/mail/access를 실행해서 db로 만든다.
clamav설치 및 연동
yum install sendmail-devel* 및 sendmail-cf* 설치
MILTER기능을 사용할 수 있어야 함.
sendmail ?d0.10 < /dev/null | grep MILTER 확인 시 MILTER 만 나오면 됨.
tar zxvfp clamav-xx.tar.tg adduser clamav ./configure --eanble-milter --prefix=/usr/local/clamav
make; make install
sendmail.cf 에서
O InputMailFilters=clmilter
Xclmilter, S=local:/var/run/clamav/clmilter.sock,F=,T=S:4m:R:4m
mkdir /var/run/clamav chown clamav.clamav /var/run/clamav
clamav업데이트는 /usr/local/clamav/etc/freshclam.conf를 열어서 Example 주석해지 하면 된다.
바이러스 정보 업데이트는 .DatabaseMirror db.kr.clamav.net으로 하는게 한국에서는 빠르다.
이후 freshclam실행하면 최신 정보로 업데이트 함.
(/etc/cron.hourly/ 디렉토리에 아래와 같이 스크립트 파일일로 만들어 실행하면 된다.
#!/bin/sh
/usr/local/clamab/bin/freshclam --quiet
업데이트에 대한 로그는
touch /var/log/clam-update.log
chmod 600 /var/log/clam-update.log
chown clamav /var/log/clam-update.log
/usr/local/clamav/bin/freshclam --log=/var/log/clam-update.log
Clamd.conf설정은 Example주석해제 하면된다.
LogSyslog yes(로그 기록)
StreamMaxLength 100M(데이터 사이즈가100M초과 시 커넥션 끊게 됨.)
User clamav (clamav작동할 유저 지정
PhishingSignatures no / PhishingScanURLs no(피싱 탐지?)no를 추천함
ArchiveMaxFileSize 1M (바이러스 검사를 체크할 파일 사이즈 1M추천)
Clamuko(실시간 감시 기능)
clamav는 바이러스가 잇으면 반송하는데 대부분 메일주소가 위조되어있으니 clamav-milter --noreject
또는 ?N 해주면 반송하지 않는다. (반송해봤자 서버 부하만 유발할 뿐이니..)
-C 해주면 정상메일에 대한 로그는 남지 않는다.
-Q 메일주소 해주면 바이러스 메일은 삭제 하지 않고 지정한 메일주소로 보내준다.
이후 netstat -lnp해서 clamav-milter가 소켓 형태로 떠잇으면 정상설치 된 것이다.
큐잉 서버와 clamav를 활용해서 바이러스웰 서버를 만들 수 있다.
(clamav설치 한 서버를 mx0등으로 제일 빠르게 해서 한번 걸러주기.)
스템어쎄신설치
[root@localhost Mail-SpamAssassin-3.1.2]#perl -MCPAN -e shell
cpan> o conf prerequisites_policy follow
prerequisites_policy follow
cpan> install Digest::SHA1
cpan> install Net::DNS
cpan> install HTML::Parser
cpan> install LWP
cpan> install HTTP::Date
cpan> install IO::Zlib
cpan> install Archive:Tar
cpan> install ExtUtils::MakeMaker 기본적으로 포함되어있음 빼고해도될 듯
cpan> install File::Spec 기본적으로 포함되어있음 빼고해도될 듯
cpan> install Pod::Usage 기본적으로 포함되어있음 빼고해도될 듯
cpan> install Sys::Syslog
cpan> install Mail::SPF::Query
cpan> install IP::Country::Fast
cpan> install Razor2
cpan> install Net::Ident
cpan> install IO::Socket::INET6
cpan> install IO::Socket::SSL
cpan> install Time::HiRes
cpan> install DBI
cpan> install Storable
cpan> install DB_File
cpan> install MIME::Base64
cpan> install Compress::Zlib
cpan> install Time::HiRes
cpan> install Mail::DKIM
cpan> install Mail::DomainKeys
cpan> install Encode::Detect
cpan> install Mail::SpamAssassin
만약 스펨어쎄신 설치가 잘안되면 홈페이지에서 소스 받아서 perl Makefile.PL make; make install해줘도 된다.
sa-update --no-gpg를 해주면 /var/lib/spamassassin/디렉토리아 다운로드되므로 이룰을 /usr/share/spamassassin/으로 옮기고 해당 디렉토리는 삭제 해준다. --D옵션을 추가해주면 보다 상세한 정보를 확인 할 수 있다.
유저홈에 .spamassassin파일로 각 유저별로 설정을 다르게 할 수 있다.
설정방법은 검색 해 볼 것.. (바이러스웰서버에 스펨어쎄신까지 조합되면.. 금상첨화.)
스팸학습
sa-learn --spam --mbox /var/spool/mail/spam-mail
정상학습
sa-learn --ham --mbox /var/spool/mail/ham-mail
/etc/init.d/spamd start
(메일허브)
sendmail.cf 안에 DS 라는 부분을 찾아서 IP를 적는다. DS192.168.1.1(메일허브 서버의 IP/도메인으로 해줘도 된다.)형식으로 해준 후 메일허브 서버는 /etc/access에 연결되는 서버들의 ip를 RELAY해준다.
spamass-milter 설치 (구글 찾아보고 설치 ? 보내는 메일 스펨체크)
< 퍼옴 > http://blog.topmania.com/?tag=sendmail-%EB%B3%B4%EC%95%88%EC%84%A4%EC%A0%95
'I T > Linux' 카테고리의 다른 글
리눅스 보드장치명 (0) | 2015.08.30 |
---|---|
mysql db 생성 테이블 생성 (0) | 2015.08.30 |
리눅스 grep 명령어 활용 (0) | 2015.08.21 |
데비안 계열 리눅스 서버 가상인터페이스 , vlan , 트렁크 설정및 삭제 (0) | 2015.08.21 |
AWK 명령어의 활용 방법. 1탄 (0) | 2015.08.21 |