ssl安全套接层
sendmail tls = smtps
[root@station245 /]# yum install sendmail* m4 dovecot -y
[root@station245 ~]# cd /etc/pki/tls/certs/
[root@station245 certs]# make sendmail.pem --生成密钥,写上相关信息
Country Name (2 letter code) [GB]:CN
State or Province Name (full name) [Berkshire]:guangdong
Locality Name (eg, city) [Newbury]:shenzheng
Organization Name (eg, company) [My Company Ltd]:uplooking
Organizational Unit Name (eg, section) []:it
Common Name (eg, your name or your server's hostname) []:station245
Email Address []:sdfasfa@gmail.com
[root@station245 /]# vim /etc/mail/sendmail.mc --修改sendmail主配置文件,打开下面五名的注释,注意要顶格
define(`confCACERT_PATH', `/etc/pki/tls/certs')dnl
define(`confCACERT', `/etc/pki/tls/certs/ca-bundle.crt')dnl
define(`confSERVER_CERT', `/etc/pki/tls/certs/sendmail.pem')dnl
define(`confSERVER_KEY', `/etc/pki/tls/certs/sendmail.pem')dnl
DAEMON_OPTIONS(`Port=smtps, Name=TLSMTA, M=s')dnl
DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')dnl --并修改这句,监听所有
[root@station245 /]# /etc/init.d/sendmail restart --重启sendmail
===============================================================
pop3 tls = pop3s (端口995)
[root@station245 /]# vim /etc/dovecot.conf
protocols = pop3 pop3s
ssl_cert_file = /etc/pki/tls/certs/sendmail.pem
ssl_key_file = /etc/pki/tls/certs/sendmail.pem
[root@station245 /]# /etc/init.d/dovecot restart
===============================================================
[root@station245 /]# yum install bind* -y
[root@station245 /]# vim /var/named/chroot/etc/named.conf
options {
directory "/var/named";};
zone "cluster.com" IN {
type master;
file "data/master.cluster.com.zone";
};
[root@station245 /]# vim /var/named/chroot/var/named/data/master.cluster.com.zone
$TTL 86400
@ IN SOA station245.cluster.com. root. (
2010111401
240
360
120
86400 )
IN NS station245.cluster.com.
IN MX 0 station245.cluster.com.
station245 IN A 10.1.1.245
[root@station245 /]# /etc/init.d/named restart
=============================================================
验证:使用outlook验证,注意windows要把DNS指向10.1.1.245,
在账号-属性-高级-把发送和接收的 此服务器要求安全连接SSL 两个选项打勾
使用mutt验证
[user2@station245 ~]$ mutt -f pops://user1@station245.cluster.com
使用claws-mails验证:
账号设置-SSL- 选择用SSL进行POP3连接和用SSL进行SMTP连接
然后发送邮件和接收邮件,会有证书的选项,选择接受保存就可以收发邮件了
-----------------------------------------------------------------
http ssl = https (端口443)
[root@station245 /]# yum install openssl-* -y
[root@station245 /]# openssl req -new > station245.cluster.com
Generating a 1024 bit RSA private key
..
.........................................
writing new private key to 'privkey.pem'
Enter PEM pass phrase:
Verifying - Enter PEM pass phrase: --输入两次密码
Country Name (2 letter code) [GB]:CNState or Province Name (full name) [Berkshire]:guangdown
Locality Name (eg, city) [Newbury]:shenzhen
Organization Name (eg, company) [My Company Ltd]:upl
Organizational Unit Name (eg, section) []:it
Common Name (eg, your name or your server's hostname) []:li
Email Address []:li@hotmail.com
Please enter the following 'extra' attributes
A challenge password []:1234
An optional company name []:upl
[root@station245 /]# openssl rsa -in privkey.pem -out station245.cluster.com.key --生成station245.cluster.com.key
Enter pass phrase for privkey.pem:
writing RSA key
[root@station245 /]# openssl x509 -in station245.cluster.com -out station245.cluster.com.crt -req -signkey station245.cluster.com.key -days 365
Signature ok
subject=/C=CN/ST=guangdown/L=shenzhen/O=upl/OU=it/CN=li/emailAddress=li@hotmail.com
Getting Private key
[root@station245 /]# mkdir /etc/httpd/key
[root@station245 /]# cp station245.cluster.com.crt /etc/httpd/key/
[root@station245 /]# cp station245.cluster.com.key /etc/httpd/key/
[root@station245 /]# yum install httpd* -y --安装rpm版apache
[root@station245 /]# yum install mod_ssl -y --安装ssl模块
[root@station245 /]# vim /etc/httpd/conf.d/ssl.conf
SSLCertificateFile /etc/httpd/key/station245.cluster.com.crt
SSLCertificateKeyFile /etc/httpd/key/station245.cluster.com.key
[root@station245 /]# /etc/init.d/httpd restart
[root@station245 /]# netstat -ntlup |grep 443
tcp 0 0 :::443 :::* LISTEN 15662/httpd
使用客户端访问:
https://10.1.1.245/ --要用https,并下载证书才可以访问
====================================
postfix courier-imap maildrop courier-authlib extmail extman spamassassin
postfix postfixadmin dovecot mysql squirrelmail clamAV amavsid-new spamassassin
client
|
|
|
postfix ------------>收件人
|
| 10024 10025
amavsid-new
|
|--------------|
clamav spamassassin
========================================
安装前准备
主机名
时间同步
关闭iptables ,selinux
yum配置OK
第一大步:
安装mysql,postfixadmin,httpd
# yum install httpd* mysql* php* -y
# /etc/init.d/mysqld start
安装postfixadmin (管理postfix的一个web界面的软件)
# mount 10.1.1.35:/share/soft /mnt
# cp /mnt/postfix postfixadmin/postfixadmin-2.1.0.gz /root/
# tar xvf /root/postfixadmin-2.1.0.gz -C /var/www/html/
--解压到apache的家目录,这里apache是用的rpm版,没有改家目录的,就是/var/www/html/下
# cd /var/www/html/
# mv postfixadmin-2.1.0/ postfixadmin --改一下名字,便于在web地址栏访问
# mysql < /var/www/html/postfixadmin/DATABASE_MYSQL.TXT --postfix有一个mysql数据库的导表的文件,使用这条命令,直接导入数据库,就会自动创建postfix要使用的一些表
# mysql --再次登录验证
mysql> show databases;
--------------------
| Database |
--------------------
| information_schema |
| mysql |
| postfix | --多了一个postfix库,是刚才导入的
| test |--------------------
mysql> use postfix; --进入postfix库
mysql> show tables; --查看库里的表,下面这些表就是刚才导入的,目前是空表
-------------------
| Tables_in_postfix |
-------------------
| admin |
| alias |
| domain |
| domain_admins |
| log |
| mailbox |
| vacation |
# /etc/init.d/httpd restart
这里使用浏览器http://IP/postfixadmin 访问postfix的web安装界面
点setup安装,会有一个警告和一个错误 ,错误是提示找不到config.ini.php文件
警告解决方法:
vim /etc/php.ini
magic_quotes_gpc = ON --把这个改为ON
错误的解决方法:
# mv /var/www/html/postfixadmin/config.inc.php.sample /var/www/html/postfixadmin/config.inc.php --有一个模版配置文件,重命名
# rm /var/www/html/postfixadmin/setup.php -rf --删除安装的信息文件
# /etc/init.d/httpd restart
# vim /var/www/html/postfixadmin/config.inc.php --修改
$CONF['default_language'] = 'cn'; --如果想要中文界面的话,改为cn,当然系统要是中文的
$CONF['domain_path'] = 'YES';
$CONF['domain_in_mailbox'] = 'NO'; --这两个与后面postfix的mailbox设置有关
--第一个改为YES,表示每一个虚拟域都有自己的邮箱;
--第二个配置为NO表示,不希望域表示在mailbox里
再次访问http://IP/postfixadmin --用一个中文系统(英文系统如果不想注销切换,可以 export LANG=zh )中文做客户端,使用firefox查看会发现有乱码,这是httpd的语言集不一致造成的
# vim /etc/httpd/conf/httpd.conf
AddDefaultCharset GB2312 --把UTF-8 ,改为GB2312
# /etc/init.d/httpd restart --重启服务后,再次访问web界面就OK了
-----------------------
使用下面地址,访问管理页面
http://IP/postfixadmin/admin --刚进来,会有新特性等信息,提示删除motd文件
# rm /var/www/html/postfixadmin/motd* -rf
再访问管理页面,就没有那些信息了
这里手动添加两个域,我这里加了一个aaa.com 和 bbb.com这两个域
再增加一个管理员, 同时能管理这两个域,我这里管理员为admin@aaa.com
修改完成后,这是管理页面,不对外开放,那么可以使用系统权限来对其进行限制
# chmod 000 /var/www/html/postfixadmin/admin/ --把这个目录权限改为000,那么管理页面就不能再访问了,如果想再进管理页面进行信息的修改的话,可以把这个目录权限改回755就可以了
--或者使用apache的目录控制来控制只有管理机可以登录此页面,或者使用apache的.htaccess功能把此目录的访问权限设置验证
===============================
# vim /etc/httpd/conf/httpd.conf
327 AllowOverride all --改为all,表示家目录下所有目录都支持.htaccess验证
--或者加上下面这一段,指定只有admin目录可以支持.htaccess验证
<Directory "/var/www/html/postfixadmin/admin">
AllowOverride all
Order allow,deny
Allow from all
</Directory>
# vim /var/www/html/postfixadmin/admin/.htaccess --默认有此文件
AuthUserFile /var/www/html/postfixadmin/admin/.htpasswd --改这一句
AuthGroupFile /dev/null
AuthName "Postfix Admin"
AuthType Basic
<limit GET POST>
require valid-user
</limit>
# htpasswd /var/www/html/postfixadmin/admin/.htpasswd admin --修改此文件的admin用户的密码
New password:
Re-type new password:
Updating password for user admin
# /etc/init.d/httpd restart
================================================================
第二大步,安装postfix
这里我们不使用rpm版的postfix,rpm版默认不支持mysql,需要源码版重新编译
可以去redhat的ftp网站下载
ftp://ftp.redhat.com
postfix-2.3.3-2.1.el5_2.src.rpm
# useradd -s /sbin/nologin brewbuilder
# rpm -ivh postfix-2.3.3-2.1.el5_2.src.rpm
# cd /usr/src/redhat/SPECS/
# ls
postfix.spec --这是rpm 的src包的配置文件
# vim postfix.spec