CA

一、加密

1.why?

网络中传输数据较多,需保证数据的安全

2.方法

1)置换

例:

AAAAA --> + 1A6AA --> AAAAA

约定表(第一A换位1、第三A换位6)

2)数字加密

密钥:成对产生,分为私钥和公钥(一般私钥自己留存、而公钥公布在公网中)

算法

a.对称算法

DES:IBM

3DES:IBM

AES:128、192、256位长度

注:分

b.非对称算法

RSA

DSA

DH:IPsec ×××

对称加密:

加密:发送方(QQ)--> 今晚去xxx店 --> 发送方私钥(文件)+算法 => 加密后数据

解密:接收方(QQ) -->加密后数据 --> 发送方私钥(文件)-算法 => 解密后数据

非对称加密

1)私加+公解

加密:发送方(QQ)--> 今晚去xxx店 --> 发送方私钥(文件)+算法 => 加密后数据

解密:接收方(QQ)--> 今晚去xxx店 --> 发送方公钥(文件)+算法 => 加密后数据

2)公加+私解

加密:发送方(QQ)--> 今晚去xxx店 --> 接收方公钥(文件)+算法 => 加密后数据

解密:接收方(QQ)--> 今晚去xxx店 --> 接收方私钥(文件)+算法 => 加密后数据

1+2=3

1-2=-1

1x2=2

1/2=0.5

今晚去xxx店 + 私钥 +算法

A算法(将数据第二位和第四位调换)

今晚去xxx店 + 1a2 + A算法 = 今x去xx店(1a2xa123)

B算法(将数据第二位、第三位和第五、第六替换)

今晚去xxx店 + 1a2 + B算法 = 今xxx晚去店(sadsa12213)

C算法(将数据第二换为和、第五位换位H)

今晚去xxx店 + 1a2 + C算法 = 今和去xHx点(sadsad)

注:不同算法,主要在于加密方式不同,越强的算法越复杂越安全

二、数字签名

保证操作的不可否认性,防止数据被篡改

1)数据由签名者(发送方)自己签名发送,签名者不可否认

2)数据自签收到接受过程中是否发生过修改

注:数字签名使用HASH(散列))算法实现

三、数字证书

CA机构

1.功能

1)数据的机密性

2)数据的完整性

2.数字证书内容

1)使用者的公钥

2)使用的标记(如名称和邮箱等)

3)有效期

4)颁发者的标志信息

5)颁发者的数字签名

注:一般数字证书用于公司网站服务器

四、自建CA

1.CA配置

1)安装openssl软件包

yum -y install openssl

2)修改模版配置文件

vim /etc/pki/tls/openssl.cnf

130 countryName_default = CN //指定国家
135 stateOrProvinceName_default = Beijing //指定省份
138 localityName_default = Beijing //指定城市
141 0.organizationName_default = xueluo.org //颁发的组织名称
148 organizationalUnitName_default = IT //指定部分

3)生成私钥

openssl genrsa -out /etc/pki/CA/private/cakey.pem 2048 //生成使用RSA 2048位的私钥文件

chmod 600 /etc/pki/CA/private/cakey.pem

4)生成根证书(CA证书)

openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/cacert.pem -days 3650 //通过私钥文件生成有效期有10年的根证书

注:Common Name (eg, your name or your server's hostname) []:ca.xueluo.org

5)创建索引和证书序列号文件

touch /etc/pki/CA/index.txt

echo "00" >/etc/pki/CA/serial

6)scp /etc/pki/CA/cacert.pem [email protected]:/etc/postfix

2.Mailserver配置(postfix)

1)生成私钥

openssl genrsa 2048 >/etc/postfix/mail.key

chmod 600 /etc/postfix/mail.key

2)生成只能证书请求文件

scp [email protected]:/etc/pki/tls/openssl.cnf /etc/pki/tls/openssl.cnf

openssl req -new -key /etc/postfix/mail.key -out /etc/postfix/mail.csr

注:Common Name (eg, your name or your server's hostname) []:mail.xueluo.org

scp /etc/postfix/mail.csr [email protected]:/tmp

3)证书服务器签发证书(CA服务器操作!!!)

openssl ca -in /tmp/mail.csr -out /tmp/mail.crt -days 3650

scp /tmp/mail.crt [email protected]:/etc/postfix

3.配置postfix

创建运行用户和组

1)/etc/init.d/postfix stop && chkconfig --level 35 postfix off //将系统自带服务停止并开机禁用

#useradd -M -s /sbin/nologin postfix

#groupadd postfix

#groupadd postdrop

3)gpasswd -a postfix postfix //将postfix用户加入到Postfix组

4)gpasswd -a postfix postdrop //将postfix用户加入到postdrop组

解压并安装postfix

1)tar -zxvf postfix-3.2.2.tar.gz -C /usr/src/

2)cd /usr/src/postfix-3.2.2/

3)make makefiles CCARGS='-DUSE_TLS -I/usr/include/openssl/'AUXLIBS='-L/usr/lib -lssl -lcrypto'

//生成Mailfile配置文件,并启动TLS认证、指定依赖库文件位置

4)make && make install

编辑配置文件

1)postconf -n >/tmp/hehe.conf //将有效的配置文件导出

2)mv /tmp/hehe.conf /etc/postfix/main.cf

3)vim /etc/postfix/main.cf

9 inet_interfaces = 192.168.1.10 //指定监听IP
10 myhostname = mail.xueluo.org //新增,指定当前主机名
11 mydomain = xueluo.org //新增,指定邮件域
12 myorigin = $mydomain //新增,外发邮件时发送中邮件域
13 home_mailbox = Maildir/ //新增,邮件的存储位置(存储到用户的家目录)

19 mydestination = $myhostname,$mydomain //允许投递的目标邮件域

smtpd_use_tls = yes
smtpd_tls_key_file = /etc/postfix/mail.key //邮件服务器私钥文件
smtpd_tls_cert_file = /etc/postfix/mail.crt //邮件服务器证书文件(公钥文件)
smtpd_tls_CAfile = /etc/postfix/cacert.pem //CA证书服务器证书文件(公钥文件)
smtpd_tls_received_header = yes
smtpd_enforce_tls = yes
smtpd_tls_loglevel = 2
smtp_use_tls = yes
smtp_tls_key_file = /etc/postfix/mail.key
smtp_tls_cert_file = /etc/postfix/mail.crt
smtp_tls_CAfile = /etc/postfix/cacert.pem
smtpd_tls_protocols = !SSLv2, !SSLv3
smtp_tls_policy_maps = hash:/etc/postfix/tls_policy

上半部分的配置是系统作为服务端,接收客户端和其他邮件服务器时如何启用tls;下版半部分服务器作为客户端对外发送邮件也启用tls

4)vim /etc/postfix/master.cf

12 smtps inet n - n - - smtpd -o smtpd_tls_wrappermode=yes //打开465(smtps)端口

5)vim /etc/postfix/tls_policy //强制使用TLS发信

xueluo.org encrypt

6)postmap /etc/postfix/tls_policy

注:通过以上的配置启用了tls发信设置,那么系统发信时会检查对方服务器是否支持tls,如果支持则使用tls传输,否则采用正常的邮件发送;postfix可以设置向某些域发送强制使用TLS,如果对方不支持则邮件将延迟发送

7)postfix stop && postfix start //启动postfix服务

4.配置Mailserver(dovecot)

创建运行用户

1)useradd -M -s /sbin/nologin dovecot

2)useradd -M -s /sbin/nologin dovenull

源代码编译安装

1)tar -zxvf /root/dovecot-2.2.31.tar.gz -C /usr/src/

2)cd /usr/src/dovecot-2.2.31/

3)./configure --sysconfdir=/etc/ --enable-ssl //配置dovecot的配置文件存储目录

4)make && make install

拷贝模版文件

1)cp doc/dovecot-initd.sh /etc/init.d/dovecot //拷贝启动脚本文件

2)chmod +x /etc/init.d/dovecot

3)chkconfig --add dovecot //将dovecot注册为系统服务

4)cp -r /usr/local/share/doc/dovecot/example-config/* /etc/dovecot/ //拷贝模版配置文件

新建PAM认证模块

vim /etc/pam.d/dovecot

#%PAM-1.0

auth required pam_nologin.so
auth include system-auth
account include system-auth
session include system-auth

编辑配置文件

vim /etc/dovecot/dovecot.conf

!include conf.d/10-auth.conf //只使用系统用户认证

!include conf.d/10-ssl.conf //启动SSL证书认证

disable_plaintext_auth = no

mail_location = maildir:~/Maildir //指定邮箱的位置

#!include conf.d/*.conf //注释该行,位于98行

vim /etc/dovecot/conf.d/10-ssl.conf

6 ssl = yes
12 ssl_cert = </etc/postfix/mail.crt
13 ssl_key = </etc/postfix/mail.key

启动服务

/etc/init.d/dovecot restart //重启dovecot服务

DNS部署

一块网卡为vmnet1

1.修改网络配置

1)vim /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=static
IPADDR=192.168.1.10
NETMASK=255.255.255.0
DNS1=192.168.1.10

2)/etc/init.d/network restart

3)vim /etc/sysconfig/network

HOSTNAME=ns.xueluo.org

2.安装bind软件包

1)yum -y install bind bind-utils

3.编辑主配置文件

1)vim /etc/named.conf

options {
listen-on port 53 { 192.168.1.10; }; //设置监听IP地址;需修改
directory "/var/named"; //区域配置文件存放目录
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";\
allow-query {localhost;}; //删除该行
recursion yes;

dnssec-enable no;                           //bind安全检测机制;需修改
dnssec-validation no;                       //bind安全检测机制;需修改
dnssec-lookaside auto;

/* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key";

managed-keys-directory "/var/named/dynamic";

};

logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};

zone "xueluo.org" IN { //指定正向解析域为xueluo.org
type master; //指定DNS类型,为主DNS服务器
file "xueluo.org.zone"; //正向解析文件
};

include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

2)cp /var/named/named.empty /var/named/xueluo.org.zone //拷贝DNS模版文件并重命名

3)vim /var/named/xueluo.org.zone

$TTL 86400(TTL值,生命周期)
@ IN SOA xueluo.org.(需要解析的域名) admin.xueluo.org.(管理员邮箱) (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
IN NS ns.xueluo.org. //NS记录(起始授权记录);输入DNS服务器的主机名
ns IN A 192.168.1.10 //DNS服务器对应的IP地址
IN MX 10 mail.xueluo.org. //MX记录
mail IN A 192.168.1.10 //mail.xueluo.org对应的IP

4)chown named:named /var/named/xueluo.org.zone

5)/etc/init.d/named start && chkconfig --level 35 named on

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章