zimbra 管理员手册

zimbra 管理员手册
zimbra 管理员手册

Zimbra管理员手册

1核心功能

ZCS是一个创新的消息和协作应用系统,提供了如下一些解决方案:

?电子邮件

?群组日历

?通讯录

?任务管理

?基于Web的文档管理和创作

ZCS的核心功能包括:

?邮件投递和存储

?邮件的索引

?邮箱服务器的日志

?IMAP和POP支持

?目录服务

?防垃圾邮件保护

?防病毒保护

管理员可以通过基于浏览器的管理控制台方便地管理域名、服务器、账号,包括:

◆管理服务类型(COS,ClassofService)

◆添加账号和域名

◆针对每个账号或服务类型设置一些限制

◆创建和编辑分发列表

◆导入MicrosoftExchange用户账号

◆为一个域名设置虚拟主机

◆管理服务器

◆查看和管理服务器的状态

◆控制使用情况

Zimbra提供两个基于浏览器的客户端(ZWC,ZimbraWebClient),即采用Ajax技术的高级ZWC和使用标准HTML技术的标准ZWC。ZWC的特征包括:

?编写、阅读、回复、转发以及其它一些标准的电子邮件操作

?按照对话查看邮件

?给邮件加上标签

?执行高级搜索

?保存搜索结果

?使用日历安排日程

?共享日历、邮件夹、通讯录

?创建通讯录并共享

?设置邮箱的使用喜好,包括定义邮件过滤选项

?使用ZCS文档来创建、组织和共享Web文档

?使用任务功能来创建待办事项列表,并管理任务

ZCS被设计成为一个端到端的可伸缩的、高可信的邮件解决方案。这个消息架构基于行业内熟知的开源技术和标准而构建,由一个服务器应用和客户端界面构成。

架构包括如下一些优点:

?开源组件的集成。Linux,Jetty,Postfix,MySQL,OpenLDAP

?使用行业内的标准、开放协议。SMTP、LMTP、SOAP、XML、IMA、

POP等。

?时髦的技术设计。Java、JavaScript瘦客户端、DHTML

?水平的伸缩性。由于每个邮箱服务器都包括它自己的数据存储、消息存

储、邮箱账号,

?所以你在扩充系统时可以豪不担心。要支持更多的账号,只需添加更多

的服务器。RHEL的集群套件、SYMANTEC的VeritasClusterServer等

可以使用。

?基于浏览器的客户端。ZimbraWebClient使用户可以通过浏览器享受所

有ZCS的功能。

?管理控制台。管理控制台用于管理账号和服务器。

2创建账号

2.1创建单个账号

管理控制台中的New Account Wizard 可以用来创建单个账号,步骤如下:

1.从管理控制台的导航板上选择账户(Accounts)提示:至少显示4 个已经存在的账户:1 个管理员、2 个与垃圾邮件相关的、1个与全局文档相关的。这4 个账号不需要做额外的修改。

2.点击新建(New),New Account Wizard 出现。

3.输入账户名称(邮件地址格式)和姓氏。这两项信息是必须。

4.此时可直接点击完成(Finish),账户将使用默认的服务类型(COS)及全局设置。

5.如果要为此账户配置别名、转发地址或其它的特定功能,可在New Account Wizard 的界面里完成,最后再点击完成(Finish)。

6.当账户创建完成的时候,就可以收发邮件了。

2.2批量创建账号

使用批量账户向导(Bulk Account Wizard),每次可以导入多达500 个账户。该向导要求你上传一个CSV 文件,其中包括用户名、显示名称、密码(可选)

基本信息。通过这种方式创建的账户使用默认服务类型。

2.3将现有数据迁移到ZCS

Zimbra 开发了几个工具,帮助用户将现有的电子邮件、日历及联系人迁移到ZCS服务器上。当用户文件被导入时,文件夹的结构仍被保留。使用ZCS 的工具来迁移数据可以保证信息能够正确导入。.

如下几个程序及使用指南可从管理控制台中下载。

ZCS Migration Wizard for Exchange.exe 格式

使用此工具可以将Microsoft Exchange 服务器中的邮件账户迁移到ZCS 服务器中。

ZCS Migration Wizard for Lotus Domino.exe 格式。使用此工具可以将Lotus Domino 服务器中的邮件账户迁移到ZCS服务器中。

Zimbra Collaboration Suite Import Wizard for Outlook.exe 格式。使用此工具可以将Outlook 文件(.pst)中的内容迁移到ZCS 服务器上。

3zimbra中包含的组件

Zimbra 架构中包括对使用标准协议的开源项目的整合。包括在Zimbra 中的第三方的软件如下表列示,并且会在安装过程中被安装。所有的这些组件都已经经过测试和配置,可以和Zimbra 工作得很好。

4zimbra软件包

ZCS 包括如下应用程序包:

4.1Zimbra Core (安装)

包括核心的类库、实用工具、监控工具和基本的配置文件

4.2 Zimbra LDAP (安装)

ZCS 使用开源的OpenLDAP 作为目录服务,实现用户身份验证功能。每个账号都有一个唯一的邮箱ID 作为账号的主要身份编号。ZCS 中使用的OpenLDAP 已经经过定制。

4.3Zimbra MTA (安装)

Postfix 是一个开源的MTA 程序,通过SMTP 协议接收邮件,并通过LMTP 协议将邮件传递到合适的Zimbra 邮箱服务器中。Zimbra MTA 包中还包括防病毒软件和反垃圾邮件软件。

4.4Zimbra Store(邮箱服务器)(安装)

包括了邮箱服务器需要的各个组件,包括Jetty,一个开源的Servlet 容器。在ZCS 中,邮箱服务器被称作mailboxd。

每个账号只能在一个邮箱服务器中存在;每个账号都会对应一个邮箱,其中包括所有的邮件和附件。

邮箱服务器中包括如下组件:

4.4.1数据存储

是一个MySQL 数据库,内部的邮箱ID 与用户账号相关联。数据存储将邮箱ID 与用户的OpenDLAP 账号进行映射。数据存储包括每个用户的标签定义、邮件夹、日程安排、联系人,同时也包括每封邮件的状态、所在邮件夹等。

4.4.2消息存储

消息存储是用来存放邮件及附件的。消息以MIME 格式存放。有多个收件人的邮件,在消息存储中只存放一份。

4.4.3索引存储

索引和搜索技术由Lucene 提供。索引文件基于单个邮箱。每个服务器都有单独的数据存储、邮件存储和索引存储。当新邮件到达时,服务器会安排一个新的线程来对邮件做索引。

4.5Zimbr-SNMP (安装)

非必须安装。如果你决定使用它来做监控,建议在每种服务器(邮箱服务器、LDAP、MTA)上都安装。Zimbra 使用swatch 查看syslog 输出生成SNMP 信号。

4.6Zimbra Logger (安装)

可选择性地安装于一台邮箱服务器上。这个组件用于syslog 的聚合和报表。如果未安装,则无法在管理控制台中看到服务器的统计信息。

4.7Zimbra Spell (不安装)

可选择性安装。它是一个开源的拼写检查工具,用在ZWC 中。如果此包安装了,Zimbra-apache也会被安装。

4.8Zimbra Proxy (不安装)

可选择性安装。使用代理服务器可以将同一个域名的邮箱分散到不同的服务器上。

4.9Zimbra Memcached (不安装)

Memcached 是一个与代理相关的包,当代理包被安装时,它也会被安装。运行代理服务器的必须使用Memcached,多台代理可使用同一台Memcached 服务器。

5 zimbra磁盘结构

邮箱服务器包括如下卷:

邮件存储,位于/opt/zimbra/store

数据存储,位于/opt/zimbra/db下的MySQL数据库

索引存储,位于/opt/zimbra/index

日志文件,位于/opt/zimbra/log

5.1邮件存储

邮件存储是用来存放邮件的,包括邮件的正文和附件。邮件以MIME 格式存放。邮件存储位于每台服务器的/opt/zimbra/store 目录下,每个邮箱都有一个以ZCS 内部ID 命名的专用目录。

5.2数据存储

ZCS 的数据存储是一个MySQL 数据库,包含了与邮件相关的元信息,如标签、会话、或在文件系统中的指针。

每个账号(邮箱)只存在于一台服务器上。每台服务器有它自己独立的数据存储,包括它所管理的所有邮箱。

数据存储包括:

A、邮箱-账号的映射。在ZCS 中,主要的标识是邮箱的内部ID,无论是用户名还是账号。邮箱内部ID 在一台服务器中是唯一的。数据存储将邮箱内部ID 映射到用户的OpenLDAP账号;

B、每个用户的标签定义、邮件夹、联系人、日程安排、任务、邮件过滤器等;

C、关于每封邮件的信息,包括是否被阅读、与哪个标签相关联等。

5.3索引存储

索引和搜索技术由Apache Lucene 提供。邮件在进入系统的时候被自动索引。每个邮箱都有一个对应的索引文件。

管理员或用户无法管理或配置索引进程。索引过程如下:

1.MTA 将进站的邮件投递到邮箱服务器中

2.邮箱服务器分析邮件,包括邮件头、正文及所有可读的附件如PDF 或DOC,进行分词索引。

3.邮箱服务器将分词索引传递给Lucene 来创建索引文件。

5.4日志

ZCS 部署由很多个第三方的组件构成。每个组件都可能产生它自己的日志。

一些ZCS 日志信息会生成SNMP Trap,你可以用SNMP 监控工具来捕获。详见监控ZCS 服务器。

6 zimbra命令行方式常用的操作

6.1更改登录方式

$ zmprov ms zimbraMailSSLPort (将HTTPS更改成非443端口)

$ zmtlsctl http\https $ tomcat restart

6.2smtp认证错误的解决

zmprov ms `zmhostname` zimbraMtaAuthHost https://www.360docs.net/doc/bf2961135.html,

6.3日志服务器错误的解决

$ zmprov getConfig zimbraLogHostname

$ zmprov modifyConfig zimbraLogHostname https://www.360docs.net/doc/bf2961135.html,

6.4查看系统参数

可以通过zmlocalconfig -s命令查看系统的参数

$ postconf //查看postfix的所有配置

$ zmlocalconfig //查看各种组件的配置信息

$ zmlocalconfig -s|grep zimbra_ldap_userdn //查看zimbra帐号在LDAP中的DN

$ zmlocalconfig -s|grep zimbra_ldap_userdn //查看zimbra帐号在

LDAP中的密码

$ zmlocalconfig -s|grep zimbra_mysql //查看mysql的配置信息

6.5更改系统最大邮件大小

查看最大系统邮件大小,显示当前系统最大邮件为10M。

$ postconf message_size_limit message_size_limit = 10240000

将系统最大邮件大小更改为20M。

$ zmprov modifyConfig zimbraMtaMaxMessageSize 2048000

$ postfix reload

6.6更改系统最大附件大小

将系统中所有帐户允许最大的附件更改为5M

$ zmprov modifyConfig zimbraFileUploadMaxSize 5000000

将系统中https://www.360docs.net/doc/bf2961135.html,帐户允许最大的附件更改为20M $ zmprov modifyServer https://www.360docs.net/doc/bf2961135.html, zimbraFileUploadMaxSize 20000000

6.7更改管理员密码:

$ zmprov gaaa //列出所有管理员

$ zmprov sp //更改管理员密码

例如:zmprov sp admin q1w2e3r4 或zmprov sp admin@https://www.360docs.net/doc/bf2961135.html, q12e3r4

6.8更改LDAP密码

$ ldap status(start)

$ zmldappasswd --root newpass (root)

$ zmldappasswd newpass (zimbra)

6.9更改MYSQL Database密码

$ mysql.server status(start)

$ zmmypasswd --root newrootpass

$ zmmypasswd newpass

6.10更改Logger MYSQL Database密码

$ logmysql.server status(start)

$ zmmylogpasswd --root newrootpass (root)

$ zmmylogpasswd newpass (zimbra)

6.11清空邮箱

$ zmmailbox -z -m rootking@https://www.360docs.net/doc/bf2961135.html, emptyFolder /[inbox][chats][sent][drafts] [junk][trash] inbox(收件箱) chats(聊天) snet(已发送邮件) drafts(草稿箱) junk(垃圾邮件) trash(已删除邮件)

6.12备份还原LDAP

1、备份LDAP(两个命令是相等的)

1)、ldapsearch -h 服务器对外的地址 -x -D "uid=zimbra,cn=admins,cn=zimbra" -w 密码 objectclass=* > 201014.ldif

2)、ldapsearch -h 服务器对外的地址 -x -D "uid=zimbra,cn=admins,cn=zimbra" -w 密码 > 201014.ldif

6.13还原LDAP

ldapadd -h 服务器对外的地址 -x -c -D "uid=zimbra,cn=admins,cn=zimbra" -w 密码 < 20101214.ldif

6.14导出导入用户的邮件

#!/bin/bash

while read USER

do

TODAY=`date`

LOGFILE="/tmp/bak/backuplog.txt"

echo $TODAY >> $LOGFILE

echo $USER >> $LOGFILE

/opt/zimbra/bin/zmmailbox -z -m $USER gms >> $LOGFILE

zmmailbox -z -m $USER@https://www.360docs.net/doc/bf2961135.html, getRestURL "//?fmt=tgz" > /tmp/bak/$USER.tgz

done < /tmp/user.txt

PS:user.txt里是用户名,不需要跟域名

6.15恢复用户的邮件

zmmailbox -z -m $USER@https://www.360docs.net/doc/bf2961135.html, postRestURL "//?fmt=tgz&resolve=reset" tmp/bak/$USER.tgz

6.16签发证书

我们可以重新签发一个证书,而且有效期可以自己设定:#/opt/zimbra/bin/zmcertmgr createca -new

#/opt/zimbra/bin/zmcertmgr deployca

#/opt/zimbra/bin/zmcertmgr createcrt -new -days 3650

这后面的数字就是证书的使用年限,以天为单位:

$/opt/zimbra/bin/zmcertmgr deploycrt self

$/opt/zimbra/bin/zmcertmgr viewdeployedcrt

$ /etc/init.d/zimbra restart

(zimbra用户)

$zmcontrol restart

6.17无法生成证书

Step 1:查看/opy/zimbra/.ssh目录下文件

#ls -l /opt/zimbra/.ssh/

If doesn't exist, we need to create new one

Step 2:创建sshkey

#su - zimbra

$zmsshkeygen

$zmupdateauthkeys

Step 3 (Restart Zimbra service)

#su - zimbra

$zmmtactl restart

Sometimes we need to restar all Zimbra Services.

#su - zimbra

$zmcontrol stop

$zmcontrol start

7zimbra备份恢复

7.1备份

7.1.1备份mailbox

su – zimbra

mkdir /opt/zimbra/backup/store

mkdir /opt/zimbra/backup/index

cp -r /opt/zimbra/store/* /opt/zimbra/backup/store/

cp –r /opt/zimbra/index/* /opt/zimbra/backup/index 7.1.2备份mysql

su - zimbra

/opt/zimbra/mysql/bin/mysqldump -uroot -pyoyosys --socket=/opt/zimbra/db/mysql.sock --all-databases > /opt/zimbra/backup/mysql_all_back.sql

7.1.3备份ldap

su - zimbra

/opt/zimbra/libexec/zmslapcat /opt/zimbra/backup/

会在/opt/zimbra/backup/目录下生成后面接日期的文件ldap.bak..$data

7.1.4备份脚本

[zimbra@mail backup]$ more zimbra_bak.sh

#!/bin/bash

#zimbra backup

date=`date '+%Y%m%d'`

#备份zimbra mailbox

mkdir -p /opt/zimbra/backup/$date/store

mkdir -p /opt/zimbra/backup/$date/index

cp -r /opt/zimbra/store/* /opt/zimbra/backup/$date/store

cp -r /opt/zimbra/index/* /opt/zimbra/backup/$date/index

#备份数据库

mysqldump -uroot -pyoyosys --socket=/opt/zimbra/db/mysql.sock --all-databases > /opt/zimbra/backup/$date/mysql_all_back.sql

#备份ldap

/opt/zimbra/libexec/zmslapcat /opt/zimbra/backup/$date/ldap

rm -rf `date --date "7 days ago" +"%Y%m%d"`

exit

7.2恢复

7.2.1恢复mailbox

su – zimbra

mkdir /opt/zimbra/backup/store.old

mv /opt/zimbra/store/* /opt/zimbra/backup/store.old/

cp -r /opt/zimbra/backup/store/* /opt/zimbra/store

7.2.2恢复mysql

mysql -uroot -p$mysql_pswd < /opt/zimbra/backup/dump.2011.sql

7.2.3恢复ldap

mkdir /opt/zimbra/backup/ldap.db.old

mv /opt/zimbra/data/ldap/hdb/db/* /opt/zimbra/backup/ldap.db.old/

/opt/zimbra/openldap/sbin/slapadd -q -b "" -F /opt/zimbra/data/ldap/config -cv –l/opt/zimbra/backup/ ldap.bak..$data

重启zimbra:zmcontrol restart

8zimbra数据迁移

8.1备份用户的LDAP

# /opt/zimbra/libexec/zmslapcat /opt/zimbra/data/ldap/mdb/db

备份完是ldap.bak.20141210161356和ldap.bak

8.2删除本机原有的mdb

因为data.mdb的大小是80G,数据迁移速度太慢,故先备份后迁移。

8.3拷贝zimbra

通过scp命令将本地的zimbra目录全部拷贝到新安装的服务器上。

8.4修改LDAP备份文件

在新服务器上编辑ldap.bak.20141210161356和ldap.bak更改原服务器地址为新服务器地址。

8.5还原LDAP

# /opt/zimbra/openldap/sbin/slapadd -q -n 0 -F /opt/zimbra/data/ldap/config -cv -l ldap.bak.20141210161356

# /opt/zimbra/openldap/sbin/slapadd -q -b "" -F /opt/zimbra/data/ldap/config -cv -l ldap.bak

8.6更改zimbra权限

将新服务器上的/opt/zimbra目录全部更改为zimbra:zimbra

##chown –R zimbra:zimbra /opt/zimbra

8.7检查/opt/zimbra的权限:

以用户root运行#/opt/zimbra/libexec/zmfixperms

8.8完成

#su- zimbra

#zmcontrol start

8.9测试

https://IP地址:7071测试

9zimbra垃圾邮件过滤

提高本域权值,提高特定域名权值

本域加权值,避免本域错误过滤。特殊邮箱增加权值

/opt/zimbra/conf/amavisd.conf.in

{ # a hash-type lookup table (associative array)

##如下面的格式

##首先增加本域。修改@https://www.360docs.net/doc/bf2961135.html,放入白名单。避免错误过滤.

##例如'https://www.360docs.net/doc/bf2961135.html,' => -9.0,

##其次,可把和公司相关的,一些域放入白名单。比如下头这些都是一些招

聘网站投递简历的邮箱。省得hr收不到简历。

##-10是信任,相反+10是阻挡。

'https://www.360docs.net/doc/bf2961135.html,' => -9.0,

'https://www.360docs.net/doc/bf2961135.html,' => -9.0,

'https://www.360docs.net/doc/bf2961135.html,' => -9.0,

'https://www.360docs.net/doc/bf2961135.html,' => -9.0,

'https://www.360docs.net/doc/bf2961135.html,' => -9.0,

'https://www.360docs.net/doc/bf2961135.html,' => -9.0,

'https://www.360docs.net/doc/bf2961135.html,' => -9.0,

'https://www.360docs.net/doc/bf2961135.html,' => -9.0,

'https://www.360docs.net/doc/bf2961135.html,' => -9.0,

'https://www.360docs.net/doc/bf2961135.html,' => -9.0,

'https://www.360docs.net/doc/bf2961135.html,' => -9.0,

'https://www.360docs.net/doc/bf2961135.html,' => -9.0,

'https://www.360docs.net/doc/bf2961135.html,' => -9.0,

'https://www.360docs.net/doc/bf2961135.html,' => -9.0,

'https://www.360docs.net/doc/bf2961135.html,' => -9.0,

'https://www.360docs.net/doc/bf2961135.html,' => -9.0,

//重新加载对应服务

#zmamavisdctl reload

9.1设置白名单,黑名单

如果在amavisd.conf.in中,对某个邮箱加分。会碰到很特殊的情况,其他权限弄的分很高。导致错误过滤。所以对于特殊邮件采用黑白名单机制。这种方式完全跳过了过滤。所以只是针对单个邮箱设置即可。

9.2增加黑白名单读取机制

vim /opt/zimbra/conf/amavisd.conf.in

##增加以下两行

read_hash(\%whitelist_sender,"/opt/zimbra/conf/whitelist");

read_hash(\%blacklist_sender,"/opt/zimbra/conf/blacklist");

9.2.1建立黑白名单文件

cd /opt/zimbra/conf

mkdir {blacklist,whitelist}

##格式形如下,一行一个邮箱名

abc@https://www.360docs.net/doc/bf2961135.html,

def@https://www.360docs.net/doc/bf2961135.html,

3:两个文件付权限给zimbra账户

chown zimbra blacklist

chown zimbra whitelist

4:重启服务

zmamavisdctl reload

9.3关键字过滤

因zimbra对于某些中文关键词的支持并不是很高。所以可以自定义一些权值

cd /opt/zimbra/zimbramon/bin/spamassassin

##中创建自定义的邮件过滤规则集

cn_rules.cf

##格式如下,设定自己觉的是垃圾邮件的词,。

header CN_SUBJECT_1 Subject =~ /优惠/

describe CN_SUBJECT_1 Subject contains "优惠"

score CN_SUBJECT_1 1.254

header CN_SUBJECT_5 Subject =~ /合作/

describe CN_SUBJECT_5 Subject contains "合作"

score CN_SUBJECT_5 0.233

header CN_SUBJECT_6 Subject =~ /发票/

describe CN_SUBJECT_6 Subject contains "发票"

score CN_SUBJECT_6 0.055

##重启服务

zmamavisdctl reload

9.4使用rbl列表配置

垃圾邮件过滤比较好的方式是用公开的垃圾邮件过滤列表来实现。国内用一下这个比较好https://www.360docs.net/doc/bf2961135.html,/ 其中有4种列表:CBL,CDL,CBL+,CBL- zimbra具体设置是在,管理全局设定--MTA设定--RBL列表中添加适合自己的即可。https://www.360docs.net/doc/bf2961135.html,

可以添加一些国外的列表。根据需求来。这样结合对本域的白名单设定,可以去除90%以上的垃圾邮件。

使用rbl需要注意的是。会有部分错误过滤,可以根据情况调整。

10zimbra主机安全策略

10.1禁止root用户远程登录

##修改/etc/ssh/sshd.conf下的PermitRootLogin值,将yes改为no

10.2设置口令最小长度

##在文件/etc/login.defs中设置PASS_MIN_LEN 不小于标准值

10.3设置密码复杂度策略

##改/etc/pam.d/system-auth文件, 在ucredit=-1 lcredit=-1 dcredit=-1 ocredit=-1 选3种,追加到password requisite pam_cracklib.so后面,添加到配置文件中注:ucredit:大写字母个数;lcredit:小写字母个数;dcredit:数字个数;ocredit:特殊字符个数

10.4设置口令生存周期

##在文件/etc/login.defs中设置PASS_MAX_DAYS 不大于标准值

10.5设置命令行界面超时退出

##以root账户执行,vi /etc/profile,增加export TMOUT=180(单位:秒,可根据具体情况设定超时退出时间,要求不小于180秒),注销用户,再用该用户登录激活该功能

10.6防火墙端口策略

将zimbra所用端口开放,不用的端口关闭。Zimbra端口如下##

Web server HTTP port: 8080

Web server HTTPS port: 8443

Web server mode: https

IMAP server port: 7143

POP server port: 7110

POP server SSL port: 7995

POP3: 110

POP3 SSL: 995

IMAP: 143

IMAP SSL: 993

SMTP: 25

SMTP SSL: 465

SMTP TLS: 587

10.7如有需要可以设置禁ping

##echo 1>/proc/sys/net/ipv4/icmp_echo_ignore_all 然后把此命令放到/etc/rc.local中,每次启动自动执行

10.8禁止提供finger服务

##使用finger命令可以显示本地或远程系统中目前已登录用户的详细信息,黑客可以利用这些信息,增大侵入系统的机会。为了系统的安全,最好禁止提供finger服务。如下:从/usr/bin下删除finger命令;

如果要保留finger服务,应将finger文件换名,或修改其权限,使得只允许root用户执行finger命令

10.9防止DoS攻击

##对系统所有的用户设置资源限制可以防止DoS类型攻击(denial of service attacks)。如最大进程数,内存数量等。

编辑/etc/security/limits.con加如下几行:

* hard core 0

* hard rss 5000

* hard nproc 20

编辑/etc/pam.d/login文件检查这一行是否存在。session required /lib/security/pam_limits.so 上面的命令禁止调试文件,限制进程数为50,且限制内存使用为5MB。

相关主题
相关文档
最新文档