ClamAV 백신 설치하기

1. GPG 키 import

 # rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt

2. Repoforge RPM repopsitory 추가

 # rpm -Uhv http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.i386.rpm

3. ClamAV 설치

 # yum -y install clamav*

4. virus databases 업데이트

 # freshclam

5. 바이러스 검사

 # clamscan -r /home > clamscan_home.txt

6. 감염 파일 확인

 # cat clamscan_home.txt | grep -v OK| grep -v Empty

'Computer > Linux (mail)' 카테고리의 다른 글

ClamAV 백신 설치하기  (0) 2013.12.18
dovecot 에러 예제  (0) 2013.12.18
Dovecot Time moved backwards error  (0) 2013.12.18
sendmail 기반의 email 계정 생성 및 추가 하기  (0) 2013.12.18
qmail + vpopmail + mysql 설치  (0) 2013.12.18
clamav antivirus + milter 구성  (0) 2013.12.18

dovecot 세팅후 아래 예와 같은 에러시 참고 바랍니다.

POP3(test123): mbox: Can't create root mail directory /home/test123/mail: Permission denied


[메세지예]

localhost dovecot: POP3(test123): mbox: Can't create root mail directory /home/test123/mail: Permission denied

localhost dovecot: POP3(test123): MAIL environment missing and autodetection failed (home /home/test123)

  

 

[원인]

 

메일 계정의 /home/test123/mail 디렉토리가 없어서 발생하는 오류로

mkdir -p /home/test123/mail 명령으로 디렉토리를 생성해주면 해결이 됩니다.

하지만 홈디렉토리 내 불필요한 폴더가 많아지므로 아래 해결방법으로 해결합니다.

 

 

[해결] 

/etc/dovecot.conf 파일에서 mail_location 항목을 아래와 같이 수정하여 주고(주석 해제)

 dovecot 데몬을 재시작 합니다.

mail_location = mbox:/var/empty:INBOX=/var/spool/mail/%u:INDEX=MEMORY

 

dovecot 데몬 재실행

# /etc/init.d/dovecot stop

# /etc/init.d/dovecot start



출처 : 호스트웨이 (http://faq.hostway.co.kr/Linux_Mail/1340)


'Computer > Linux (mail)' 카테고리의 다른 글

ClamAV 백신 설치하기  (0) 2013.12.18
dovecot 에러 예제  (0) 2013.12.18
Dovecot Time moved backwards error  (0) 2013.12.18
sendmail 기반의 email 계정 생성 및 추가 하기  (0) 2013.12.18
qmail + vpopmail + mysql 설치  (0) 2013.12.18
clamav antivirus + milter 구성  (0) 2013.12.18

dovecot을 운영하다보면, 아래와 같은 메시지와 함께 dovecot 데몬이 죽는 경우가 발생한다.

 

Jun 28 23:58:32 jook dovecot: Time just moved backwards by 29 seconds. This might cause a lot of problems, so I'll just kill myself now. http://wiki.dovecot.org/TimeMovedBackwards

 

보통 서버를 운영하다보면, 서버의 로드로 인해 서버 시간이 실제시간보다 느려지는 경우가 발생하여, rdate나 ntpdate로 시간을 맞추게 된다.


위의 경우는 서버 시간이 time서버의 시간보다 빨라서, rdate나 ntpdate로 서버시간을 동기화 할때, 서버시간이 이전시간으로 되돌아가는 경우, dovecot 데몬이 죽게 되는 현상이다.

 

해결 방법으로는 time 서버의 문제일 가능성이 있기 때문에, 우선 time서버를 변경해 보는 방법(구글링 결과로는 time.bora.net 타임서버를 사용하는 경우에 이러한 현상이 많이 발생하고 있다.)과 서버 시간을 동기화 하는 스크립트 상에서 dovecot 데몬을 체크해서 재실행 하는 방법이 있다


로그상에 나타난 http://wiki.dovecot.org/TimeMovedBackwards 링크를 따라가보면, 주기적으로 서버시간을 동기화 하는 것 보다는 ntpd를 이용해서 서버의 시간을 동기화 하도록 권고하고 있다.

 

dovecot의 버전에 따라서 위와 같은 issue가 발생하지 않는 경우도 있지만, 현재 CentOS_5.3 최신 버전인 dovecot-1.0.7-7.el5 에서는 위와같은 오류가 발생하고 있다.


출처 : 호스트웨이 (http://faq.hostway.co.kr/Linux_Mail/1339)

'Computer > Linux (mail)' 카테고리의 다른 글

ClamAV 백신 설치하기  (0) 2013.12.18
dovecot 에러 예제  (0) 2013.12.18
Dovecot Time moved backwards error  (0) 2013.12.18
sendmail 기반의 email 계정 생성 및 추가 하기  (0) 2013.12.18
qmail + vpopmail + mysql 설치  (0) 2013.12.18
clamav antivirus + milter 구성  (0) 2013.12.18

1. mailuserID 계정 생성

[root@localhost root]# adduser -M -s /bin/false mailuserID


2. mailuserID 계정의 비밀번호 설정

[root@localhost root]# passwd mailuserID


3. /etc/mail/ 폴더에서 도메인별 메일 세팅작업

[root@localhost root]# cd /etc/mail    (/etc/mail/ 폴더로 이동)


4. local-host-names 화일에 도메인을 추가 해준다.(이미 추가되어 있다면 다음으로)

[root@localhost root]# vi local-host-names


5. virtusertable 화일에 사용하려는 이메일을 추가 합니다.

  [형식 : 이메일주소     메일아이디   (여기서 공백은 탭키로 뛰움)]

  예) test@test.com  test

[root@localhost root]# vi virtusertable


6. virtusertable.db 형식으로 저장

[root@localhost root]# makemap hash virtusertable < virtusertable

 

이메일 데이타는 /var/spool/mail/ 폴더에 각 계정 아이디이름으로 생성되어

메일이 들어 오므로 테스트 메일을 발송해보고 확인 해 볼수 있습니다.

이용되는 파일들은 cr.yp.to 등에서 다운로드한다. 

qmail-1.03.tar.gz

autorespond-2.0.2.tar.gz

ucspi-tcp-0.88.tar.gz

daemontools-0.76.tar.gz

rblsmtpd-0.70.tgz

vpopmail-5.4.10.tar.gz


# 각각의 소스의 error.h 파일의 상단에 아래 라인을 추가합니다.

#include "errno.h"

1. sendmail 구동을 종료

[root@localhost root]# /etc/init.d/sendmail stop


2. qmail 설치

[root@localhost root]# tar zxvf qmail-1.03.tar.gz

[root@localhost root]# cd qmail-1.03

[root@localhost root]# mkdir /var/qmail

[root@localhost root]# groupadd nofiles

[root@localhost root]# useradd -g nofiles -d /var/qmail/alias alias

[root@localhost root]# useradd -g nofiles -d /var/qmail qmaild

[root@localhost root]# useradd -g nofiles -d /var/qmail qmaill

[root@localhost root]# useradd -g nofiles -d /var/qmail qmailp

[root@localhost root]# groupadd qmail

[root@localhost root]# useradd -g qmail -d /var/qmail qmailq

[root@localhost root]# useradd -g qmail -d /var/qmail qmailr

[root@localhost root]# useradd -g qmail -d /var/qmail qmails 

[root@localhost root]# cp -a /usr/local/mysql/include/mysql /usr/include

[root@localhost root]# cp /usr/local/mysql/lib/mysql/* /usr/lib

[root@localhost root]# mkdir /usr/lib/mysql/

[root@localhost root]# ln -s /usr/lib/libmysqlclient.a /usr/lib/mysql/libmysqlclient.a

[root@localhost root]# make

[root@localhost root]# make setup check

[root@localhost root]# ./config-fast hostway.co.kr


[root@localhost root]# cd ../

[root@localhost root]# tar xzvf ucspi-tcp-0.88.tar.gz

[root@localhost root]# cd ucspi-tcp-0.88

[root@localhost root]# make

[root@localhost root]# make setup check


[root@localhost root]# cd ../

[root@localhost root]# mkdir -p /package

[root@localhost root]# chmod 1755 /package

[root@localhost root]# tar zxvf daemontools-0.76.tar.gz

[root@localhost root]# mv admin/ /package/

[root@localhost root]# cd /package/admin/daemontools-0.76/

[root@localhost root]# ./package/install


[root@localhost root]# cd ~

[root@localhost root]# tar zxvf autorespond-2.0.2.tar.gz

[root@localhost root]# cd autorespond-2.0.2

[root@localhost root]# make

[root@localhost root]# cp autorespond /usr/local/bin/


[root@localhost root]# vi /var/qmail/rc

    #!/bin/sh

    exec env - PATH="/var/qmail/bin:$PATH" 

    qmail-start ./Maildir/


[root@localhost root]# chmod a+x /var/qmail/rc

[root@localhost root]# mkdir -p /var/qmail/supervise/qmail-send/log

[root@localhost root]# mkdir -p /var/qmail/supervise/qmail-smtpd/log

[root@localhost root]# chmod +t /var/qmail/supervise/qmail-send

[root@localhost root]# chmod +t /var/qmail/supervise/qmail-smtpd

[root@localhost root]# vi /var/qmail/supervise/qmail-send/run

    #!/bin/sh

    exec /var/qmail/rc


[root@localhost root]# vi /var/qmail/supervise/qmail-send/log/run

    #!/bin/sh

    exec /usr/local/bin/setuidgid qmaill 

    /usr/local/bin/multilog t /var/log/qmail

[root@localhost root]# vi /var/qmail/supervise/qmail-smtpd/run

    #!/bin/sh

    Q_UID=`id -u vpopmail`

    Q_GID=`id -g vpopmail`

    exec /usr/local/bin/softlimit -m 8000000 

          /usr/local/bin/tcpserver -vRHl 0 

          -x /home/vpopmail/etc/tcp.smtp.cdb 

          -u $Q_UID -g $Q_GID 0 25 /var/qmail/bin/qmail-smtpd hostway.co.kr 

          /home/vpopmail/bin/vchkpw /bin/true 2>&1

[root@localhost root]# vi /var/qmail/supervise/qmail-smtpd/log/run

    #!/bin/sh

    exec /usr/local/bin/setuidgid qmaill 

         /usr/local/bin/multilog t /var/log/qmail/smtpd


[root@localhost root]# chmod 755 /var/qmail/supervise/qmail-send/run

[root@localhost root]# chmod 755 /var/qmail/supervise/qmail-send/log/run

[root@localhost root]# chmod 755 /var/qmail/supervise/qmail-smtpd/run

[root@localhost root]# chmod 755 /var/qmail/supervise/qmail-smtpd/log/run

[root@localhost root]# mkdir -p /var/log/qmail/smtpd

[root@localhost root]# chown qmaill /var/log/qmail /var/log/qmail/smtpd

[root@localhost root]# echo admin@hostway.co.kr > /var/qmail/alias/.qmail-root

[root@localhost root]# echo admin@hostway.co.kr > /var/qmail/alias/.qmail-postmaster

[root@localhost root]# echo admin@hostway.co.kr > /var/qmail/alias/.qmail-mailer-daemon

[root@localhost root]# cd /var/qmail/alias/

[root@localhost root]# chmod 644 .qmail-root .qmail-postmaster .qmail-mailer-daemon


[root@localhost root]# vi /etc/init.d/qmail

#!/bin/sh


# For Red Hat chkconfig

# chkconfig: - 80 30

# description: the qmail MTA


PATH=/var/qmail/bin:/bin:/usr/bin:/usr/local/bin:/usr/local/sbin

export PATH


case "$1" in

  start)

    echo "Starting qmail"

     if [ -e /service/qmail-send ] ; then

         if svok /service/qmail-send ; then

            svc -u /service/qmail-send

        else

            echo qmail-send supervise not running

        fi

     else

         ln -s /var/qmail/supervise/qmail-send /service/

     fi


     if [ -e /service/qmail-smtpd ] ; then

         if svok /service/qmail-smtpd ; then

            svc -u /service/qmail-smtpd

        else

            echo qmail-smtpd supervise not running

        fi

     else

         ln -s /var/qmail/supervise/qmail-smtpd /service/

     fi

     

    if [ -d /var/lock/subsys ]; then

      touch /var/lock/subsys/qmail

    fi

   killall readproctitle > /dev/null 2>&1

    ;;

  stop)

    echo "Stopping qmail..."

    echo "  qmail-smtpd"

    svc -dx /service/qmail-smtpd /service/qmail-smtpd/log

     rm -f /service/qmail-smtpd

    echo "  qmail-send"

    svc -dx /service/qmail-send /service/qmail-send/log

     rm -f /service/qmail-send

    if [ -f /var/lock/subsys/qmail ]; then

      rm /var/lock/subsys/qmail

    fi

    ;;

  stat)

    svstat /service/qmail-send

    svstat /service/qmail-send/log

    svstat /service/qmail-smtpd

    svstat /service/qmail-smtpd/log

    qmail-qstat

    ;;

  doqueue|alrm|flush)

    echo "Flushing timeout table and sending ALRM signal to qmail-send."

    /var/qmail/bin/qmail-tcpok

    svc -a /service/qmail-send

    ;;

  queue)

    qmail-qstat

    qmail-qread

    ;;

  reload|hup)

    echo "Sending HUP signal to qmail-send."

    svc -h /service/qmail-send

    ;;

  pause)

    echo "Pausing qmail-send"

    svc -p /service/qmail-send

    echo "Pausing qmail-smtpd"

    svc -p /service/qmail-smtpd

    ;;

  cont)

    echo "Continuing qmail-send"

    svc -c /service/qmail-send

    echo "Continuing qmail-smtpd"

    svc -c /service/qmail-smtpd

    ;;

  restart)

    echo "Restarting qmail:"

    echo "* Stopping qmail-smtpd."

    svc -d /service/qmail-smtpd

    echo "* Sending qmail-send SIGTERM and restarting."

    svc -t /service/qmail-send

    echo "* Restarting qmail-smtpd."

    svc -u /service/qmail-smtpd

    ;;

  cdb)

    tcprules /home/vpopmail/etc/tcp.smtp.cdb /home/vpopmail/etc/tcp.smtp.tmp < /home/vpopmail/etc/tcp.smtp

    chmod 644 /home/vpopmail/etc/tcp.smtp.cdb

    echo "Reloaded /home/vpopmail/etc/tcp.smtp."

    ;;

  help)

    cat <<HELP

   stop -- stops mail service (smtp connections refused, nothing goes out)

  start -- starts mail service (smtp connection accepted, mail can go out)

  pause -- temporarily stops mail service (connections accepted, nothing leaves)

   cont -- continues paused mail service

   stat -- displays status of mail service

    cdb -- rebuild the tcpserver cdb file for smtp

restart -- stops and restarts smtp, sends qmail-send a TERM & restarts it

doqueue -- schedules queued messages for immediate delivery

 reload -- sends qmail-send HUP, rereading locals and virtualdomains

  queue -- shows status of queue

   alrm -- same as doqueue

  flush -- same as doqueue

    hup -- same as reload

HELP

    ;;

  *)

    echo "Usage: $0 {start|stop|restart|doqueue|flush|reload|stat|pause|cont|cdb|queue|help}"

    exit 1

    ;;

esac


exit 0


[root@localhost root]# chmod 700 /etc/init.d/qmail

[root@localhost root]# chkconfig --add qmail


3. vpopmail 설치

[root@localhost root]# groupadd vchkpw

[root@localhost root]# useradd -g vchkpw vpopmail

[root@localhost root]# cd ~

[root@localhost root]# tar zxvf vpopmail-5.4.10.tar.gz

[root@localhost root]# cd vpopmail-5.4.10

[root@localhost root]# ./configure --enable-auth-module=mysql --enable-tcprules-prog=/usr/local/bin/tcprules --enable-relay-clear-minutes=15

[root@localhost root]# make

[root@localhost root]# make install-strip

[root@localhost root]# vi ~vpopmail/etc/defaultdomain

hostway.co.kr


[root@localhost root]# vi ~vpopmail/etc/vpopmail.mysql

localhost|0|root|패스워드|vpopmail


[root@localhost root]# echo "127.0.0.1:allow,RELAYCLIENT=""" > ~vpopmail/etc/tcp.smtp

[root@localhost root]# echo "qmail을설치한서버의아이피:allow,RELAYCLIENT=""" >> ~vpopmail/etc/tcp.smtp

[root@localhost root]# mkdir /var/qmail/supervise/vpop

[root@localhost root]# vi /var/qmail/supervise/vpop/run

    #!/bin/sh

    VPOP_UID=`id -u vpopmail`

    VPOP_GID=`id -g vpopmail`


    exec /usr/local/bin/softlimit -m 5000000 

         tcpserver -vRHl 0 -u $VPOP_UID -g $VPOP_GID 0 110 

         /var/qmail/bin/qmail-popup hostway.co.kr 

         /home/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir 2>&1

[root@localhost root]# chmod 755 /var/qmail/supervise/vpop/run

[root@localhost root]# mv /usr/lib/sendmail /usr/lib/sendmail.old

[root@localhost root]# mv /usr/sbin/sendmail /usr/sbin/sendmail.old

[root@localhost root]# ln -s /var/qmail/bin/sendmail /usr/lib

[root@localhost root]# ln -s /var/qmail/bin/sendmail /usr/sbin

[root@localhost root]# ln -s /var/qmail/supervise/qmail-send /service/

[root@localhost root]# ln -s /var/qmail/supervise/qmail-smtpd /service/

[root@localhost root]# ln -s /var/qmail/supervise/vpop /service


[root@localhost root]# /etc/init.d/qmail cdb

[root@localhost root]# /etc/init.d/qmail start


예) 기본 도메인에 사용자 추가

[root@localhost root]# cd /home/vpopmail/bin

[root@localhost root]# ./vadduser admin@hostway.co.kr


예) 새로운 도메인을 추가

[root@localhost root]# ./vadddomain hostway2.co.kr



출처 : 호스트웨이 (http://faq.hostway.co.kr/Linux_Mail/1337)

clamav 는 Open-Source antivirus 솔루션이며, 방대하게 이용되고 있다.

clamav 는 CORE 엔진이며, clamav-milter 는 sendmail MTA 로 전송되는 메일의 구문이나, 첨부 파일에서 바이러스 패턴을 검색하는 역할을 한다.

CentOS, Fedora 등의 배포본을 이용한다면, yum -y install clamav* 와 같이 간단히 설치 및 구동이 가능하나,

본 페이지에서는 배포되는 소스를 이용하여, clamav-0.94.2 버전을 설치를 해보겠다.


1. 패키지 다운로드 및 컴파일

    [root@localhost root]# ./configure --prefix=/usr/local/clamav --enable-milter

    [root@localhost root]# make && make install

    와 같이 /usr/local/clamav 에 컴파일이 완료되었다.


2. clamav 환경 설정; 라인이 길므로 아래와 동일하게 /usr/local/clamav/etc/ 폴더에 각각의 파일을 생성한다.

[root@localhost root]# cat /usr/local/clamav/etc/clamd.conf

##

## Example config file for the Clam AV daemon

## Please read the clamd.conf(5) manual before editing this file.

##



# Comment or remove the line below.

#Example


# Uncomment this option to enable logging.

# LogFile must be writable for the user running daemon.

# A full path is required.

# Default: disabled

LogFile /tmp/clamd.log


# By default the log file is locked for writing - the lock protects against

# running clamd multiple times (if want to run another clamd, please

# copy the configuration file, change the LogFile variable, and run

# the daemon with --config-file option).

# This option disables log file locking.

# Default: no

#LogFileUnlock yes


# Maximum size of the log file.

# Value of 0 disables the limit.

# You may use 'M' or 'm' for megabytes (1M = 1m = 1048576 bytes)

# and 'K' or 'k' for kilobytes (1K = 1k = 1024 bytes). To specify the size

# in bytes just don't use modifiers.

# Default: 1M

#LogFileMaxSize 2M


# Log time with each message.

# Default: no

LogTime yes


# Also log clean files. Useful in debugging but drastically increases the

# log size.

# Default: no

LogClean yes


# Use system logger (can work together with LogFile).

# Default: no

#LogSyslog yes


# Specify the type of syslog messages - please refer to 'man syslog'

# for facility names.

# Default: LOG_LOCAL6

#LogFacility LOG_MAIL


# Enable verbose logging.

# Default: no

#LogVerbose yes


# This option allows you to save a process identifier of the listening

# daemon (main thread).

# Default: disabled

#PidFile /var/run/clamd.pid


# Optional path to the global temporary directory.

# Default: system specific (usually /tmp or /var/tmp).

#TemporaryDirectory /var/tmp


# Path to the database directory.

# Default: hardcoded (depends on installation options)

DatabaseDirectory /usr/local/clamav


# The daemon can work in local mode, network mode or both.

# Due to security reasons we recommend the local mode.


# Path to a local socket file the daemon will listen on.

# Default: disabled (must be specified by a user)

LocalSocket /tmp/clamd.socket


# Remove stale socket after unclean shutdown.

# Default: yes

#FixStaleSocket yes


# TCP port address.

# Default: no

#TCPSocket 3310


# TCP address.

# By default we bind to INADDR_ANY, probably not wise.

# Enable the following to provide some degree of protection

# from the outside world.

# Default: no

#TCPAddr 127.0.0.1


# Maximum length the queue of pending connections may grow to.

# Default: 15

#MaxConnectionQueueLength 30


# Clamd uses FTP-like protocol to receive data from remote clients.

# If you are using clamav-milter to balance load between remote clamd daemons

# on firewall servers you may need to tune the options below.


# Close the connection when the data size limit is exceeded.

# The value should match your MTA's limit for a maximum attachment size.

# Default: 10M

#StreamMaxLength 20M


# Limit port range.

# Default: 1024

#StreamMinPort 30000

# Default: 2048

#StreamMaxPort 32000


# Maximum number of threads running at the same time.

# Default: 10

#MaxThreads 20


# Waiting for data from a client socket will timeout after this time (seconds).

# Value of 0 disables the timeout.

# Default: 120

#ReadTimeout 300


# Waiting for a new job will timeout after this time (seconds).

# Default: 30

#IdleTimeout 60


# Don't scan files and directories matching regex

# This directive can be used multiple times

# Default: scan all

#ExcludePath ^/proc/

#ExcludePath ^/sys/


# Maximum depth directories are scanned at.

# Default: 15

#MaxDirectoryRecursion 20


# Follow directory symlinks.

# Default: no

#FollowDirectorySymlinks yes


# Follow regular file symlinks.

# Default: no

#FollowFileSymlinks yes


# Perform a database check.

# Default: 1800 (30 min)

#SelfCheck 600


# Execute a command when virus is found. In the command string %v will

# be replaced with the virus name.

# Default: no

#VirusEvent /usr/local/bin/send_sms 123456789 "VIRUS ALERT: %v"


# Run as another user (clamd must be started by root for this option to work)

# Default: don't drop privileges

User clamav


# Initialize supplementary group access (clamd must be started by root).

# Default: no

#AllowSupplementaryGroups no


# Stop daemon when libclamav reports out of memory condition.

#ExitOnOOM yes


# Don't fork into background.

# Default: no

#Foreground yes


# Enable debug messages in libclamav.

# Default: no

#Debug yes


# Do not remove temporary files (for debug purposes).

# Default: no

#LeaveTemporaryFiles yes


# Detect Possibly Unwanted Applications.

# Default: no

#DetectPUA yes


# Exclude a specific PUA category. This directive can be used multiple times.

# See http://www.clamav.net/support/pua for the complete list of PUA

# categories.

# Default: Load all categories (if DetectPUA is activated)

#ExcludePUA NetTool

#ExcludePUA PWTool


# Only include a specific PUA category. This directive can be used multiple

# times.

# Default: Load all categories (if DetectPUA is activated)

#IncludePUA Spy

#IncludePUA Scanner

#IncludePUA RAT


# In some cases (eg. complex malware, exploits in graphic files, and others),

# ClamAV uses special algorithms to provide accurate detection. This option

# controls the algorithmic detection.

# Default: yes

#AlgorithmicDetection yes



##

## Executable files

##


# PE stands for Portable Executable - it's an executable file format used

# in all 32 and 64-bit versions of Windows operating systems. This option allows

# ClamAV to perform a deeper analysis of executable files and it's also

# required for decompression of popular executable packers such as UPX, FSG,

# and Petite.

# Default: yes

#ScanPE yes


# Executable and Linking Format is a standard format for UN*X executables.

# This option allows you to control the scanning of ELF files.

# Default: yes

#ScanELF yes


# With this option clamav will try to detect broken executables (both PE and

# ELF) and mark them as Broken.Executable.

# Default: no

#DetectBrokenExecutables yes



##

## Documents

##


# This option enables scanning of OLE2 files, such as Microsoft Office

# documents and .msi files.

# Default: yes

#ScanOLE2 yes


# This option enables scanning within PDF files.

# Default: yes

#ScanPDF yes



##

## Mail files

##


# Enable internal e-mail scanner.

# Default: yes

#ScanMail yes


# If an email contains URLs ClamAV can download and scan them.

# WARNING: This option may open your system to a DoS attack.

#          Never use it on loaded servers.

# Default: no

#MailFollowURLs no


# Scan RFC1341 messages split over many emails.

# You will need to periodically clean up $TemporaryDirectory/clamav-partial directory.

# WARNING: This option may open your system to a DoS attack.

#          Never use it on loaded servers.

# Default: no

#ScanPartialMessages yes



# With this option enabled ClamAV will try to detect phishing attempts by using

# signatures.

# Default: yes

#PhishingSignatures yes


# Scan URLs found in mails for phishing attempts using heuristics.

# Default: yes

#PhishingScanURLs yes


# Always block SSL mismatches in URLs, even if the URL isn't in the database.

# This can lead to false positives.

#

# Default: no

#PhishingAlwaysBlockSSLMismatch no


# Always block cloaked URLs, even if URL isn't in database.

# This can lead to false positives.

#

# Default: no

#PhishingAlwaysBlockCloak no


# Allow heuristic match to take precedence.

# When enabled, if a heuristic scan (such as phishingScan) detects

# a possible virus/phish it will stop scan immediately. Recommended, saves CPU

# scan-time.

# When disabled, virus/phish detected by heuristic scans will be reported only at

# the end of a scan. If an archive contains both a heuristically detected

# virus/phish, and a real malware, the real malware will be reported

#

# Keep this disabled if you intend to handle "*.Heuristics.*" viruses

# differently from "real" malware.

# If a non-heuristically-detected virus (signature-based) is found first,

# the scan is interrupted immediately, regardless of this config option.

#

# Default: no

#HeuristicScanPrecedence yes


##

## Data Loss Prevention (DLP)

##


# Enable the DLP module

# Default: No

#StructuredDataDetection yes


# This option sets the lowest number of Credit Card numbers found in a file

# to generate a detect.

# Default: 3

#StructuredMinCreditCardCount 5


# This option sets the lowest number of Social Security Numbers found

# in a file to generate a detect.

# Default: 3

#StructuredMinSSNCount 5


# With this option enabled the DLP module will search for valid

# SSNs formatted as xxx-yy-zzzz

# Default: yes

#StructuredSSNFormatNormal yes


# With this option enabled the DLP module will search for valid

# SSNs formatted as xxxyyzzzz

# Default: no

#StructuredSSNFormatStripped yes



##

## HTML

##


# Perform HTML normalisation and decryption of MS Script Encoder code.

# Default: yes

#ScanHTML yes



##

## Archives

##


# ClamAV can scan within archives and compressed files.

# Default: yes

#ScanArchive yes


# Use slower but memory efficient decompression algorithm.

# only affects the bzip2 decompressor.

# Default: no

#ArchiveLimitMemoryUsage yes


# Mark encrypted archives as viruses (Encrypted.Zip, Encrypted.RAR).

# Default: no

#ArchiveBlockEncrypted no



##

## Limits

##


# The options below protect your system against Denial of Service attacks

# using archive bombs.


# This option sets the maximum amount of data to be scanned for each input file.

# Archives and other containers are recursively extracted and scanned up to this

# value.

# Value of 0 disables the limit

# Note: disabling this limit or setting it too high may result in severe damage

# to the system.

# Default: 100M

#MaxScanSize 150M


# Files larger than this limit won't be scanned. Affects the input file itself

# as well as files contained inside it (when the input file is an archive, a

# document or some other kind of container).

# Value of 0 disables the limit.

# Note: disabling this limit or setting it too high may result in severe damage

# to the system.

# Default: 25M

#MaxFileSize 30M


# Nested archives are scanned recursively, e.g. if a Zip archive contains a RAR

# file, all files within it will also be scanned. This options specifies how

# deeply the process should be continued.

# Note: disabling this limit or setting it too high may result in severe damage

# to the system.

# Value of 0 disables the limit.

# Default: 16

#MaxRecursion 10


# Number of files to be scanned within an archive, a document, or any other

# container file.

# Value of 0 disables the limit.

# Note: disabling this limit or setting it too high may result in severe damage

# to the system.

# Default: 10000

#MaxFiles 15000



##

## Clamuko settings

## WARNING: This is experimental software. It is very likely it will hang

##          up your system!!!

##


# Enable Clamuko. Dazuko (/dev/dazuko) must be configured and running.

# Default: no

#ClamukoScanOnAccess yes


# Set access mask for Clamuko.

# Default: no

#ClamukoScanOnOpen yes

#ClamukoScanOnClose yes

#ClamukoScanOnExec yes


# Set the include paths (all files inside them will be scanned). You can have

# multiple ClamukoIncludePath directives but each directory must be added

# in a seperate line.

# Default: disabled

#ClamukoIncludePath /home

#ClamukoIncludePath /students


# Set the exclude paths. All subdirectories are also excluded.

# Default: disabled

#ClamukoExcludePath /home/bofh


# Don't scan files larger than ClamukoMaxFileSize

# Value of 0 disables the limit.

# Default: 5M

#ClamukoMaxFileSize 10M


[root@localhost root]# cat /usr/local/clamav/etc/freshclam.conf


##

## Example config file for freshclam

## Please read the freshclam.conf(5) manual before editing this file.

##



# Comment or remove the line below.

#Example


# Path to the database directory.

# WARNING: It must match clamd.conf's directive!

# Default: hardcoded (depends on installation options)

DatabaseDirectory /usr/local/clamav


# Path to the log file (make sure it has proper permissions)

# Default: disabled

UpdateLogFile /var/log/freshclam.log


# Maximum size of the log file.

# Value of 0 disables the limit.

# You may use 'M' or 'm' for megabytes (1M = 1m = 1048576 bytes)

# and 'K' or 'k' for kilobytes (1K = 1k = 1024 bytes).

# in bytes just don't use modifiers.

# Default: 1M

#LogFileMaxSize 2M


# Log time with each message.

# Default: no

#LogTime yes


# Enable verbose logging.

# Default: no

#LogVerbose yes


# Use system logger (can work together with UpdateLogFile).

# Default: no

#LogSyslog yes


# Specify the type of syslog messages - please refer to 'man syslog'

# for facility names.

# Default: LOG_LOCAL6

#LogFacility LOG_MAIL


# This option allows you to save the process identifier of the daemon

# Default: disabled

#PidFile /var/run/freshclam.pid


# By default when started freshclam drops privileges and switches to the

# "clamav" user. This directive allows you to change the database owner.

# Default: clamav (may depend on installation options)

#DatabaseOwner clamav


# Initialize supplementary group access (freshclam must be started by root).

# Default: no

#AllowSupplementaryGroups yes


# Use DNS to verify virus database version. Freshclam uses DNS TXT records

# to verify database and software versions. With this directive you can change

# the database verification domain.

# WARNING: Do not touch it unless you're configuring freshclam to use your

# own database verification domain.

# Default: current.cvd.clamav.net

#DNSDatabaseInfo current.cvd.clamav.net


# Uncomment the following line and replace XY with your country

# code. See http://www.iana.org/cctld/cctld-whois.htm for the full list.

#DatabaseMirror db.XY.clamav.net


# database.clamav.net is a round-robin record which points to our most

# reliable mirrors. It's used as a fall back in case db.XY.clamav.net is

# not working. DO NOT TOUCH the following line unless you know what you

# are doing.

DatabaseMirror database.clamav.net


# How many attempts to make before giving up.

# Default: 3 (per mirror)

#MaxAttempts 5


# With this option you can control scripted updates. It's highly recommended

# to keep it enabled.

# Default: yes

#ScriptedUpdates yes


# By default freshclam will keep the local databases (.cld) uncompressed to

# make their handling faster. With this option you can enable the compression;

# the change will take effect with the next database update.

# Default: no

#CompressLocalDatabase no


# Number of database checks per day.

# Default: 12 (every two hours)

#Checks 24


# Proxy settings

# Default: disabled

#HTTPProxyServer myproxy.com

#HTTPProxyPort 1234

#HTTPProxyUsername myusername

#HTTPProxyPassword mypass


# If your servers are behind a firewall/proxy which applies User-Agent

# filtering you can use this option to force the use of a different

# User-Agent header.

# Default: clamav/version_number

#HTTPUserAgent SomeUserAgentIdString


# Use aaa.bbb.ccc.ddd as client address for downloading databases. Useful for

# multi-homed systems.

# Default: Use OS'es default outgoing IP address.

#LocalIPAddress aaa.bbb.ccc.ddd


# Send the RELOAD command to clamd.

# Default: no

#NotifyClamd /path/to/clamd.conf


# Run command after successful database update.

# Default: disabled

#OnUpdateExecute command


# Run command when database update process fails.

# Default: disabled

#OnErrorExecute command


# Run command when freshclam reports outdated version.

# In the command string %v will be replaced by the new version number.

# Default: disabled

#OnOutdatedExecute command


# Don't fork into background.

# Default: no

#Foreground yes


# Enable debug messages in libclamav.

# Default: no

#Debug yes


# Timeout in seconds when connecting to database server.

# Default: 30

#ConnectTimeout 60


# Timeout in seconds when reading from database server.

# Default: 30

#ReceiveTimeout 60


# When enabled freshclam will submit statistics to the ClamAV Project about

# the latest virus detections in your environment. The ClamAV maintainers

# will then use this data to determine what types of malware are the most

# detected in the field and in what geographic area they are.

# This feature requires LogTime and LogFile to be enabled in clamd.conf.

# Default: no

#SubmitDetectionStats /path/to/clamd.conf


# Country of origin of malware/detection statistics (for statistical

# purposes only). The statistics collector at ClamAV.net will look up

# your IP address to determine the geographical origin of the malware

# reported by your installation. If this installation is mainly used to

# scan data which comes from a different location, please enable this

# option and enter a two-letter code (see http://www.iana.org/domains/root/db/)

# of the country of origin.

# Default: disabled

#DetectionStatsCountry country-code


3. clamav DATABASE 패턴 UP-TO-DATE

    [root@localhost root]# /usr/local/clamav/bin/freshclam

    해당 DATABASE 패턴은 /usr/local/clamav 디렉토리에 mirrors.dat, daily.cld, main.cvd 3개가 생성된다.


4. clamav 구동

    [root@localhost root]# /usr/local/clamav/sbin/clamd &

    와 같이 UP-TO-DATE 된 DATABASE 를 clamav 가 구동하였다.


5. clamav DATABASE 자동 업데이트를 위해서 CRONTAB 에 아래와 같이 등록한다.ㅣ

    [root@localhost root]# echo "30 * * * * root /usr/local/clamav/bin/freshclam" >> /etc/crontab && /etc/init.d/crond restart

6. clamav-milter 설정 및 구동

    sendmail MTA 에 활성화를 위해서는 /etc/mail/sendmail.mc 파일을 갱신해야한다.

    아래와 같이 /etc/mail/sendmail.mc 파일의 최하단에 2 라인을 추가한다.

    [root@localhost root]# vi /etc/mail/sendmail.mc

        INPUT_MAIL_FILTER(`clamav', `S=local:/var/run/clamav/clmilter.sock, F=, T=S:4m;R:4m;C:30s;E:10m')dnl

        define(`confINPUT_MAIL_FILTERS', `clamav')

    [root@localhost root]# m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf


    이제 clamav-milter 를 구동하고, sendmail 을 restart 한다.

    [root@localhost root]# /usr/local/clamav/sbin/clamav-milter --max-children=100 -lo /var/run/clamav/clmilter.sock &

    [root@localhost root]# /etc/init.d/sendmail restart


7. 모든 구성이 완료되었으며, clamav-milter 가 감지한 메일은 메일 제목에 Virus Intercepted 라는 제목으로 해당 메일이 전송된다.


8. 만일 File Server 나 배포되는 /home 디렉토리에서 바이러스를 검사하고 싶다면 아래와 같이 하면 된다.

    [root@localhost root]# /usr/local/clamav/bin/clamscan -r /home

    클린 파일들은 OK 라고 출력되며, 바이러스에 감염된 파일은 해당 바이러스명이 출력된다.


9. 부팅시에 자동으로 구동되도록 아래와 같은 라인을 /etc/rc.d/rc.local 파일에 추가한다.

    /usr/local/clamav/sbin/clamav-milter --max-children=100 -lo /var/run/clamav/clmilter.sock &

    /usr/local/clamav/sbin/clamd &



출처 : 호스트웨이 (http://faq.hostway.co.kr/Linux_Mail/1335)

spamassassin 은 open-source spam filter 로서 간단히 적용이 가능하다.

만약 Redhat Linux 9 이하등의 하위 버전을 이용중이라면 spamassassin 이 제공하는 Full Feather 를 사용할 수 없다.


1. spamassassin 설치

    CentOS 나 Fedora 등이 설치된 서버라면 간단히 yum -y install spamassassin 과 같이 설치가 종료되나,

    여기서는 배포사이트인 http://spamassassin.apache.org 에서 제공되는 tar.bz2 를 이용하여 설치한다.

    적당한 경로에 해당 패키지를 다운로드를 한다.

    [root@localhost root]# rpmbuild -tb 다운로드받은Mail-SpamAssassin.tar.gz

    

    rebuild 된 rpm 패키지를 설치한다.

    [root@localhost root]# rpm -Uhv /usr/src/redhat/i386/Mail-Spam*


    spamassassain 패키지가 요구하는 Perl module 을 아래와 같이 추가한다.

    예) Net::DNS


    [root@localhost root]# perl -MCPAN -e shell

                  > install Net::DNS

    와 같이 요구되는 모든 Perl module 을 설치 후 다시 아래와 같이 패키지를 설치한다.

    [root@localhost root]# rpm -Uhv /usr/src/redhat/i386/Mail-Spam*


2. mailbox 로 전송되기 전에 spamassassin 이 처리하도록 설정.

    [root@localhost root]# vi /etc/procmailrc

    최상단에 아래와 같이 추가

    INCLUDERC=/etc/mail/spamassassin/spamassassin-default.rc


3. spamassassin 구동

    [root@localhost root]# /etc/init.d/spamassassin start


4. spamassassin 설정 파일들은 /etc/mail/spamassassin 에 위치하고 있으며, SpamAssassin Configuration Generator 를 이용한다.

    http://www.yrex.com/spam/spamconfig.php 을 참고해서 적절히 활성화 시킨 후에 Genetate the Configuration File 을 수행하여 생성된 Configuration 을 /etc/mail/spamassassin/local.cf 파일로 대체시킨다.


5. spamassassin 을 재구동하면 모든 구성이 완료된다.

    [root@localhost root]# /etc/init.d/spamassassin restart



출처 : 호스트웨이 (http://faq.hostway.co.kr/Linux_Mail/1334)

sendmail + dovecot 메일 서버 구성

    dovecot 는 pop3, imap, pop3s, imaps 를 제공하는 Front-End 이다.

    CentOS, Fedora 등의 모든 버전에서는 기본적으로 제공되며, 설치 방법은 아래와 같다.


1. 기본 패키지 설치

    [root@localhost root]# yum -y install dovecot

    [root@localhost root]# yum -y install cyrus-sasl


2. sendmail MTA 구성

    [root@localhost root]# /etc/mail/sendmail.mc 파일에서 아래와 같은 라인을 활성화 시킨다.

                TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl

                define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl

                DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')dnl


    m4 를 이용하여 sendmail.cf 파일을 갱신한다.

    [root@localhost root]# m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf

    [root@localhost root]# /etc/init.d/sendmail restart


3. dovecot 설정

    dovecot 설정은 단순하며 아래와 같이 protocol 만 활성화하면 되겠다.

    [root@localhost root]# vi /etc/dovecot.conf

    protocols = imap pop3


    [root@localhost root]# /etc/init.d/dovecot start

    [root@localhost root]# /etc/init.d/saslauthd start


4. TEST

    [root@localhost root]# telnet localhost 25

    ehlo localhost 입력하면 인증 매커니즘이 출력되어야 한다.


    pop3 로 로그인 테스트(test 용도로 test 계정을 생성 후 정상적으로 pop3 로그인이 이뤄지는지까지 확인)

    [root@localhost root]# telnet localhost 110

    user test

    pass test

    LIST

다람쥐 메일은 무료로 제공되는 웹메일이며, 리눅스상의 sendmail, qmail 등과 호환이 가능하며, 쉽게설치가 가능하다.

다람쥐 메일을 설치하기 위해서는 우선 아래의 패키지가 설치되어 있어야 한다.

- sendmail 또는 qmail

- imap

- apache

- php

- ZendOptimizer

위 패키지들이 설치 되어 있다는 가정하에서, 아래와 같은 순서로 설치를 진행 하면 된다.

다람쥐메일에서 제공되는 여러 확장기능을 사용하기 위해서는 php설치시 아래와 같은 옵션이 포함되어 있어야 한다.

아래의 기능들을 사용하려면, 아래의 옵션을 추가하여 php를 재설치 한 후에 다람쥐메일 설치를 진행 하면된다.

--with-ldap LDAP -> 주소록 사용을 위해 필요

--with-mhash -> 문자 디코딩을 향상

--with-mysql -> 주소록 등을 Mysql 디비에 저장하길 원할때 필요

--with-openssl -> 암호화된 IMAP연결시 필요


1. 다람쥐메일 소스 다운로드.

https://sourceforge.net 에서 squirrelmail을 검색하여 다운로드 받아서 서버에 업로드한다.

squirrelmail-1.4.18.tar.gz, squirrelmail-decode-1.2.tar.gz, ko_KR-1.4.13-20071220.tar.gz 을 다운로드 받는다.

 

2. 압축 해제후, 홈 디렉토리로 사용할 위치에 옮겨 놓는다.

[root@jook src]# pwd

/usr/local/src

[root@jook src]# tar xvzfp squirrelmail-1.4.18.tar.gz | more

squirrelmail-1.4.18/

squirrelmail-1.4.18/class/

squirrelmail-1.4.18/class/index.php

squirrelmail-1.4.18/class/mime/

squirrelmail-1.4.18/class/mime/index.php

squirrelmail-1.4.18/class/mime/Disposition.class.php

squirrelmail-1.4.18/class/mime/SMimeMessage.class.php

 ~ ~

[root@jook src]# mv squirrelmail-1.4.18 /home/squirrelmail

 

3. configure 명령으로 다람쥐메일에서 사용할 환경을 설정한다.

[root@jook src]# cd /home/squirrelmail/

[root@jook squirrelmail]# ./configure

configure 명령을 입력하면, 아래와 같이 대화형 모드의 창이 실행되며, 각 메뉴를 선택하여 설정을 진행 하면 된다.

SquirrelMail Configuration : Read: config.php (1.4.0)

---------------------------------------------------------

Main Menu --

1.  Organization Preferences

2.  Server Settings

3.  Folder Defaults

4.  General Options

5.  Themes

6.  Address Books

7.  Message of the Day (MOTD)

8.  Plugins

9.  Database

10. Languages

D.  Set pre-defined settings for specific IMAP servers

C   Turn color on

S   Save data

Q   Quit

Command >>


- Organization Preferences

Command에서 1을 입력하고, Organization Preferences 설정메뉴로 이동한다.

Organization Preferences 에서는 다람쥐메일 로그인 페이지를 비롯하여, 메인페이지 로고, title 등을 수정 할 수 있다.

default 설정을 그대로 사용해도 되며, 수정이 완료되면 R 을 입력하여 메인메뉴로 이동한다.

SquirrelMail Configuration : Read: config.php (1.4.0)

---------------------------------------------------------

Organization Preferences

1.  Organization Name      : SquirrelMail

2.  Organization Logo      : ../images/sm_logo.png

3.  Org. Logo Width/Height : (308/111)

4.  Organization Title     : SquirrelMail $version

5.  Signout Page           :

6.  Top Frame              : _top

7.  Provider link          : http://www.squirrelmail.org/

8.  Provider name          : SquirrelMail

R   Return to Main Menu

C   Turn color on

S   Save data

Q   Quit

Command >>


- Server Settings

Command에서 2를 입력한다. 서버관련 설정메뉴로, 메일서버에서 사용할 도메인, 메일서버종류 설정 imap, sendmail 경로 등을 설정한다.

설정 완료후, R을 입력하여 메인 메뉴로 이동한다.

SquirrelMail Configuration : Read: config.php (1.4.0)

---------------------------------------------------------

Server Settings

General

-------

1.  Domain                 : hwk.co.kr

2.  Invert Time            : false

3.  Sendmail or SMTP       : Sendmail

A.  Update IMAP Settings   : localhost:143 (other)

B.  Change Sendmail Config : /usr/sbin/sendmail

R   Return to Main Menu

C   Turn color on

S   Save data

Q   Quit

Command >>


- Folder Defaults

메일이 저장될 폴더에 관련된 설정을 하는 부분이다. default 설정을 그대로 사용해도 상관없으며, 수정완료 후 R 명령을 입력하여 메인메뉴로 이동한다.

SquirrelMail Configuration : Read: config.php (1.4.0)

---------------------------------------------------------

Folder Defaults

1.  Default Folder Prefix          :

2.  Show Folder Prefix Option      : false

3.  Trash Folder                   : INBOX.Trash

4.  Sent Folder                    : INBOX.Sent

5.  Drafts Folder                  : INBOX.Drafts

6.  By default, move to trash      : true

7.  By default, save sent messages : true

8.  By default, save as draft      : true

9.  List Special Folders First     : true

10. Show Special Folders Color     : true

11. Auto Expunge                   : true

12. Default Sub. of INBOX          : true

13. Show 'Contain Sub.' Option     : false

14. Default Unseen Notify          : 2

15. Default Unseen Type            : 1

16. Auto Create Special Folders    : true

17. Folder Delete Bypasses Trash   : false

18. Enable /NoSelect folder fix    : false

R   Return to Main Menu

C   Turn color on

S   Save data

Q   Quit

Command >>


- General Options

General Options 부분에서는 데이터 디렉토리에 대한 설정만 추가하고 나머지는 디폴트로 사용해도 무관하다.

데이터 디렉토리는 다람쥐메일의 홈디렉토리내에 data, attach 디렉토리를 사용한다.

data 디렉토리는 홈디렉토리 하위에 기본적으로 생성되어 있으며, attach 디렉토리는 생성되어 있지 않기 때문에 디렉토리를 만들어준다.

두 디렉토리는 nobody 권한(apache 실행권한)으로 설정되어 있어야 한다.

SquirrelMail Configuration : Read: config.php (1.4.0)

---------------------------------------------------------

General Options

1.  Data Directory               : /home/squirrelmail/data/

2.  Attachment Directory         : /home/squirrelmail/attach/

3.  Directory Hash Level         : 0

4.  Default Left Size            : 150

5.  Usernames in Lowercase       : false

6.  Allow use of priority        : true

7.  Hide SM attributions         : false

8.  Allow use of receipts        : true

9.  Allow editing of identity    : true

    Allow editing of name        : true

    Remove username from header  : false

10. Allow server thread sort     : false

11. Allow server-side sorting    : false

12. Allow server charset search  : true

13. Enable UID support           : true

14. PHP session name             : SQMSESSID

15. Location base                :

16. Only secure cookies if poss. : true

R   Return to Main Menu

C   Turn color on

S   Save data

Q   Quit

Command >>


- Themes

테마 설정 부분이다. 우선 default 설정을 그대로 사용한다.

SquirrelMail Configuration : Read: config.php (1.4.0)

---------------------------------------------------------

Themes

1.  Change Themes

     Default                                     Plain Blue

     Sand Storm                                  Deep Ocean

     Slashdot                                    Purple

     Forest                                      Ice

     Sea Spray                                   Blue Steel

     Dark Grey                                   High Contrast

     Black Bean Burrito                          Servery

     Maize                                       BluesNews

     Deep Ocean 2                                Blue Grey

     Dompie                                      Methodical

     Greenhouse Effect (Changes)                 In The Pink (Changes)

     Kind of Blue (Changes)                      Monostochastic (Changes)

     Shades of Grey (Changes)                    Spice of Life (Changes)

     Spice of Life - Lite (Changes)              Spice of Life - Dark (Changes)

     Holiday - Christmas                         Darkness (Changes)

     Random (Changes every login)                Midnight

     Alien Glow                                  Dark Green

     Penguin                                     Minimal BW

     Redmond                                     Net Style

     Silver Steel                                Simple Green

     Wood                                        Bluesome

     Simple Green 2                              Simple Purple

     Autumn                                      Autumn 2

     Blue on Blue                                Classic Blue

     Classic Blue 2                              Powder Blue

     Techno Blue                                 Turquoise

2.  CSS File :

R   Return to Main Menu

C   Turn color on

S   Save data

Q   Quit

Command >>


- Address Books

주소록 관련 설정 부분이다. php 설치시에 --with-ldap LDAP 옵션이 추가되어 있어야 하며, 우선 default 설정을 그대로 사용한다.

SquirrelMail Configuration : Read: config.php (1.4.0)

---------------------------------------------------------

Address Books

1.  Change LDAP Servers

2.  Use Javascript Address Book Search          : false

3.  Global file address book                    :

4.  Allow writing into global file address book : false

5.  Allow listing of global file address book   : true

6.  Allowed address book line length            : 2048

R   Return to Main Menu

C   Turn color on

S   Save data

Q   Quit

Command >>


- Message of the Day (MOTD)

로그인 후 보여질 메시지를 설정 할 수 있다. 1번을 선택하여 원하는 메시지를 넣고 그 다음 줄 첫번째 칸에서 @ 를 입력하면 된다.

SquirrelMail Configuration : Read: config.php (1.4.0)

---------------------------------------------------------

Message of the Day (MOTD)


1   Edit the MOTD

R   Return to Main Menu

C   Turn color on

S   Save data

Q   Quit

Command >>


- Plugins

플러그인을 설정하는 부분이다. 설치되어 있는 플러그인과 설치 가능한 플러그인을 보여주며, 해당 플러그인의 번호를 입력하면, 플러그인 상태가 변경된다.

SquirrelMail Configuration : Read: config.php (1.4.0)

---------------------------------------------------------

Plugins

  Installed Plugins

  Available Plugins:

    1. administrator

    2. bug_report

    3. calendar

    4. delete_move_next

    5. demo

    6. filters

    7. fortune

    8. info

    9. listcommands

    10. mail_fetch

    11. message_details

    12. newmail

    13. sent_subfolders

    14. spamcop

    15. squirrelspell

    16. test

    17. translate

R   Return to Main Menu

C   Turn color on

S   Save data

Q   Quit

Command >>


- Database

데이터베이스와 관련된 설정 부분이다. 우선 default 설정을 그대로 사용한다.

SquirrelMail Configuration : Read: config.php (1.4.0)

---------------------------------------------------------

Database

1.  DSN for Address Book   :

2.  Table for Address Book : address

3.  DSN for Preferences    :

4.  Table for Preferences  : userprefs

5.  Field for username     : user

6.  Field for prefs key    : prefkey

7.  Field for prefs value  : prefval

8.  DSN for Global Address Book            :

9.  Table for Global Address Book          : global_abook

10. Allow writing into Global Address Book : false

11. Allow listing of Global Address Book   : false

R   Return to Main Menu

C   Turn color on

S   Save data

Q   Quit

Command >>


- Language preferences

언어 설정 부분이다. 아래와 같이 한글로 설정을 변경한다.

SquirrelMail Configuration : Read: config.php (1.4.0)

---------------------------------------------------------

Language preferences

1.  Default Language       : EUC-KR

2.  Default Charset        : ko_KR

3.  Enable lossy encoding  : false

R   Return to Main Menu

C   Turn color on

S   Save data

Q   Quit

Command >>


모든 설정이 완료되었으면, Command >> 에서 S 를 입력하여 저장하고 Q를 입력하여 빠져 나온다.

 

4. data 디렉토리 소유권 변경

- configure 설정시 입력한 data 디렉토리와, attach 디렉토리의 소유권을 nobody(apache 실행권한)로 변경한다.

attach 디렉토리는 생성되어 있지 않기 때문에 생성해 준다.

[root@jook squirrelmail]# mkdir attach

[root@jook squirrelmail]# chown nobody data

[root@jook squirrelmail]# chown nobody attach

 

5. squirrelmail-decode 설치

- 소스파일의 압축을 풀고, install 파일을 실행하면 된다. install 파일을 실행할 때, 다람쥐메일이 설치된 경로를 입력하면 된다.

[root@jook src]# tar xvzfp squirrelmail-decode-1.2.tar.gz

[root@jook src]# cd squirrelmail-decode-1.2

[root@jook squirrelmail-decode-1.2]# ./install

Please enter path to your SquirrelMail installation: /home/squirrelmail

 

6. language pack 설치

- squirrelmail-decode와 같은 방법으로 설치 하면 된다. language pack의 경우는 압축을 풀어 놓을 디렉토리를 미리 생성해 놓고, 압축을 푼다.

[root@jook src]# mkdir ko_KR-1.4.13

[root@jook src]# tar xvzfp ko_KR-1.4.13-20071220.tar.gz -C /usr/local/src/ko_KR-1.4.13

[root@jook src]# cd /usr/local/src/ko_KR-1.4.13

[root@jook ko_KR-1.4.13]# ./install

Please enter path to your SquirrelMail installation: /home/squirrelmail

 

7. 웹메일 가상호스트 설정

아래와 같이 웹메일 apache 가상호스트를 추가하고 apache 데몬을 리스타트 한다.

<Virtualhost 211.239.xxx.xxx>

        ServerAdmin webmaster@hwk.co.kr

        ServerName mail.hwk.co.kr

        DocumentRoot /home/squirrelmail

        ErrorLog logs/mail.hwk.co.kr-error_log

        CustomLog logs/mail.hwk.co.kr-access_log common

        ScriptAlias /cgi-bin/ "/home/squirrelmail/cgi-bin/"

</VirtualHost>

 

8. 설정 후 테스트 및 웹메일 로그인

설치 완료후 아래와 같이 웹메일 페이지 URL의 src/configtest.php 로 접속하여 설정 테스트를 확인 한다.


ex) http://mail.hwk.co.kr/src/configtest.php


ERROR 부분이 있으면, 에러내용을 확인하고, confiure 설정으로 되돌아가서 수정한다. 플러그인이나, 확장기능 등의 설정 ERROR가 발생하는 것은 무시해도 메일 송,수신에는 이상이 없다.

설정 테스트 완료 후, URL로 접속하여 메일 사용


출처 : 호스트웨이 (http://faq.hostway.co.kr/Linux_Mail/1332)

▶ 421 Server too busy.

=> 수신측 서버의 응답지연. 수신서버의 트래픽등으로 메일을 수신 받지 못하는 상황에서 발송자에게 리턴 메일을 보냄.

▶ 421 4.3.2 Your IP(211.xxx.xxx.xxx) is filtered and this connection will be closed. You must register your IP to spammaster at domain.com By SpaceLee, the Lord of mail server.

=> 서버로 메일을 발송시 필터링 조건에 위배되어 스패머로 인식되고 필터링 되어 발신자에게 리턴되는 메시지.

▶ 441 4.4.1 No answer from host

=> 수신측 서버의 응답이 없어서 리턴된 메시지.

▶ 451 4.4.0 DNS resolving error

=> 수신측 서버의 도메인을 못찾아 리턴된 메시지.

▶ SERVER REPLY: 501 Denied domain name

=> 도메인주소를 잘못 입력 or 수신측에서 도메인을 수신거부한 경우

▶ 451 4.3.0 Other or undefined mail system status

=> 수신측 메일 시스템의 프로토콜이 틀리거나 수신 smtp 서버가 아닐경우 리턴되는 메시지.

▶ 451 4.3.0 Temporary system failure. Please try again later.

=> 수신 서버에 일시적인 장애등으로 인하여 메일을 수신받지 못해 리턴된 메시지.

▶ 451 Relay Server Not Ready.

=> 수신측 서버에서 릴레이 기능이 안돼어 리턴된 메시지.

▶ 452 4.4.5 Insufficient disk space; try again later

=> 수신서버의 디스크용량이 부족하여 메일을 수신받지 못해 리턴된 메시지.

▶ 500 Syntax Error, Command Unrecognized EHLO mail01.domain.com

=> 메일발송시 수신측 메일 서버에서  SMTP 명령어를 인식하지 못해 리턴된 메시지.

▶ 550 5.1.2 <user01 at domain.com>... Unsupported mail destination

=> 수신 서버가 응답이 지연되어 리턴된 메시지.

▶ 550 5.7.1 <sylee at domain.com>... Relaying denied. IP name lookup failed [211.xxx.xxx.xx]

=> 수신 서버에서 발신자의 IP에 대해 릴레이 거부를 하여 메일을 보내지 못해 리턴된 메시지.

▶ 550 5.1.1 <sylee at domain.com>... User unknown

=> 수신자 (sylee at domain.com)계정을 찾지 못해 리턴된 메시지.

▶ 550 RCPT <sylee at domain.com> ERROR. Mailbox doesn't exist

=> 수신자 메일함이 존재 하지 않아서 리턴된 메시지.

▶ 553 5.3.0 <user01 at domain.com>... spam

▶ 553 sorry, your envelope sender is enlisted as spammer.

=> 발송자의 계정이 수신서버 상에서 스패머로 등록이 되어 메일 수신 거부를 해서 리턴된 메시지

▶ 553 sorry, that domain isn't in my list of allowed rcpt hosts 

=> 발신자의 메일 도메인주소 자체가 수신 서버에서 차단되어 리턴된 메시지.

▶ 554 5.3.2 Rejected by mailbox host. REPLY:(250 <user01 at domain.com>... Sender ok)

=> 수신자가 발송자의 메일 계정에 대해 수신 거부를 하여 리턴된 메시지


출처 : 호스트웨이 (http://faq.hostway.co.kr/Linux_Mail/1331)

+ Recent posts

티스토리 툴바