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

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