第九周加密及DNS

1、简述常见加密算法及常见加密算法原理,最好使用图例解说
2、搭建apache或者nginx并使用自签证书实现https访问,自签名证书的域名自拟
3、简述DNS服务器原理,并搭建主-辅服务器
4、搭建并实现智能DNS

1、简述常见加密算法及常见加密算法原理,最好使用图例解说

  • 單向加密算法:提取數據特征碼,將特徵碼整體附加到明文後,再進行傳遞。接收到數據後用同樣的特徵碼還原明文 ,並與發過來的特徵碼比對,如果一樣就沒問題。
    1、輸入一樣,輸出必然相同,所以叫特徵碼
    2、雪崩效應:輸入的微小改變,將會引起結果的巨大改變。這是爲了必免暴力破解的
    3、定長輸出,無論原始數據是多大,結果大小都是相同的,也就是特徵碼是相同的
    4、不可逆的,無法根據特征碼還原原來的數據
    單向加密
    MD4
    MD5
    SHA1
    SHA192,SHA256,SHA384,192等數字指輸出長度
    CRC-32:循環冗餘較驗碼
  • 公鑰加密算法:非對稱加密算法
    密鑰對,公鑰是從私鑰中提取出來的,用公鑰加密的,只能以與之相對的私鑰解密。用對方的公鑰加密,只能對方的私鑰解密。
    公鑰:P
    私鑰:S
    公鑰加密(非對稱加密)加密和簽名是核心功能
    身份認證(數字簽名)
    數據加密
    密鑰交換
  • 對稱加密算法有:
    DES:Data Encrption Standard, 56bit密鑰長度,不安全,很少用
    3DES:三重DES,用的比較多
    AES:Advanced Encrption Standard(高級加密標準), 128bit密鑰
    AES變種:AES192, AES256, AES512
    Blowfish
    實現對稱加密的工具在linux上有:openssl,gpg
  • OpenSSL:SSL的開源實現
    OpenSSL由三部分組成:
    1、libcrypte:通用加密庫,連接到此庫就可加密
    2、libssl:TLS/SSL協議的實現
    基於會話的、實現了身份認證、數據機密性和會話完整性的TLS/SSL庫
    3、openssl:多用途命令行工具
    實現私有證書,頒發機構用

    2、搭建apache或者nginx并使用自签证书实现https访问,自签名证书的域名自拟
    1.创建CA服务器
    cd /etc/pki/CA
    (umask 077;openssl genrsa -out private/cakey.pem 2048)
    openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 365
    touch index.txt serial
    echo 01 > serial

    2.到web服务器
    mkdir /etc/nginx/ssl
    cd /etc/nginx/ssl
    (umask 077;openssl genrsa -out http.key 2048)
    openssl req -new -key http.key -out nginx.csr
    scp nginx.csr 192.168.1.2:/tmp
    3.到CA服务器
    openssl ca -in /tmp/nginx.csr -out /etc/pki/CA/certs/nginx.crt -days 365
    //newcerts中的也是证书,是pem格式的
    scp certs/nginx.crt 192.168.1.3:/etc/nginx/ssl

    4.到web服务器
    cd /etc/nginx
    cp conf.d/vhost1.conf conf.d/vhost1_ssl.conf
    vim conf.d/vhost1_ssl.conf
    server {
    listen 443 ssl;
    server_name www.ruopu.com;
    root /data/nginx/vhost1;
    access_log /var/log/nginx/vhost1_ssl_access.log main;
    ssl on;
    ssl_certificate /etc/nginx/ssl/nginx.crt;
    ssl_certificate_key /etc/nginx/ssl/nginx.key;
    ssl_protocols sslv3 tlsv1 tlsv1.1 tlsv1.2;
    ssl_session_cache shared:SSL:10m;
    //SSL是自定义的名字,1m内存空间可以缓存4000个会话,这里定义10M。
    }
    nginx -t
    nginx -s reload
    ss -tln

    将cacert.pem传到主机,并在firefox浏览器中导入证书。
    访问https://www.ruopu.com
    3、简述DNS服务器原理,并搭建主-辅服务器
    测试使用主服务器为CentOS6.5,地址:192.168.1.110,从服务器为CentOS7,地址:192.168.1.100

  • 在主服务器上

mv /etc/named.conf{,.bak}

vim /etc/named.conf
`options {
directory “/var/named”;
};

zone “.” IN {
type hint;
file “named.ca”;
};

zone “localhost” IN {
type master;
file “named.localhost”;
};

zone “0.0.127.in-addr.arpa” IN {
type master;
file “named.loopback”;
};

zone “ruopu.com” IN {
type master;
file “ruopu.com.zone”;
};

zone “1.168.192.in-addr.arpa” IN {
type master;
file “192.168.1.zone”;
};

chgrp named /etc/named.conf
cd /var/named
vim /var/named/ruopu.com.zone`
$TTL 600

IN SOA ns1.ruopu.com. admin.ruopu.com. (
2018012801
1H
5M
2D
6H)
IN NS ns1.ruopu.com.
IN NS ns2.ruopu.com.
IN MX 10 mail
ns1 IN A 192.168.1.110
ns2 IN A 192.168.1.100
mail IN A 192.168.1.100
www IN A 192.168.1.110
www IN A 192.168.1.100

chmod 640 /var/named/ruopu.com.zone
chown root.named /var/named/ruopu.com.zone
named-checkzone "ruopu.com" /var/named/ruopu.com.zone
cp ruopu.com.zone 192.168.1.zone -p
vim 192.168.1.zone
$TTL 600 //反向区域里的DNS域名必须写完整

IN SOA ns1.ruopu.com. admin.ruopu.com. (
2018012801
1H
5M
2D
6H)
IN NS ns1.ruopu.com.
IN NS ns2.ruopu.com.
110 IN PTR ns1.ruopu.com.
100 IN PTR ns2.ruopu.com.
110 IN PTR www.ruopu.com.
100 IN PTR mail.ruopu.com.
100 IN PTR www.ruopu.com.
named-checkconf
named-checkzone "1.168.192.in-addr.arpa" 192.168.1.zone
service named start

  • 在从服务器上

yum install -y bind
mv /etc/named.conf{,.bak}
rsync -e ssh -avz --progress root@192.168.1.110:/etc/named.conf /etc
setenforce 0
systemctl stop firewalld
mv /etc/named.conf{,.bak}

  • 在主服务器上

chgrp named /etc/named.conf
//将配置文件属组改为named
service named restart
rsync -e ssh -avzr --progress /etc/named.conf 192.168.1.100:/etc/

  • 在从服务器上

vim /etc/named.conf
options {
directory “/var/named”;
allow-recursion {192.168.1.0/24; 127.0.0.1;};
};

zone “.” IN {
type hint;
file “named.ca”;
};

zone “localhost” IN {
type master;
file “named.localhost”;
allow-transfer {none;};
};

zone “0.0.127.in-addr.arpa” IN {
type master;
file “named.loopback”;
allow-transfer {none;};
};

zone “ruopu.com” IN {
type slave;
file “slaves/ruopu.com.zone”;
masters {192.168.1.110;};
allow-transfer {none;};

zone “1.168.192.in-addr.arpa” IN {
type slave;
file “slaves/192.168.1.zone”;
allow-transfer {none;};
masters {192.168.1.110;};
};
//将ruopu.com的正反向区域类型改为slave从服务类型,另外加入masters指明主服务器地址,allow-transfer指明不与任何主机传送
systemctl start named

  • 在主从两台服务器上查看传送日志

tail /var/log/messages

4、搭建并实现智能DNS
在配置文件中用view定义多个区域,在view中用match-clients来判断访问的客户端的来源与哪个view匹配,与哪个view匹配就返回哪个区域的文件。这里没有从服务器,只有主服务器,没有反向域
1、将客户端网卡改为NAT模式,服务器添加一块网卡,用NAT模式。NAT地址是192.168.110网段的
2、创建配置文件
cp /etc/named.conf /root
vim /etc/named.conf
acl telecom {
192.168.1.0/24;
127.0.0.1/8;
};
//用acl来定义一个地址池,并取名叫telecom
options {
directory “/var/named”;
allow-recursion {telecom;};
};

view telecom {
match-clients {telecom;};
zone “ruopu.com” IN {
type master;
file “telecom.ruopu.com.zone”;
};
};

view unicom {
match-clients {any;};
zone “ruopu.com” IN {
type master;
file “unicom.ruopu.com.zone”;
};
};
//定义两个区域,一个是telecom一个是unicom。any表示如果telecom无法匹配的都会由unicom匹配。
将两台主机的DNS都指向DNS服务器
3、创建区域文件
vim /var/name/telecom.ruopu.com.zone
$TTL 43200
@ IN SOA ns1.ruopu.com. admin.ruopu.com. (
2018012901
1H
10M
7D
1D)
IN NS ns1
IN MX 10 mail
ns1 IN A 192.168.1.110
mail IN A 192.168.110.131
www IN A 192.168.1.110
chgrp named /var/named/telecom.ruopu.com.zone
chmod 640 /var/named/telecom.ruopu.com.zone
cp -a /var/name/telecom.ruopu.com.zone /var/named/unicom.ruopu.com.zone
vim /var/named/unicom.ruopu.com.zone
$TTL 43200
@ IN SOA ns1.ruopu.com. admin.ruopu.com. (
2018012901
1H
10M
7D
1D)
IN NS ns1
IN MX 10 mail
ns1 IN A 192.168.1.110
mail IN A 192.168.1.110
www IN A 192.168.110.131
//telecom与unicom两个区域文件中解析的地址是不一样的。但ns地址是不会变的
dig -t A www.ruopu.com @192.168.1.110
//在两台主机上执行此命令,得到的结果是不一样的

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/91333

(0)
ruopu1989ruopu1989
上一篇 2018-01-29 08:25
下一篇 2018-01-29 14:54

相关推荐

  • 设计模式 ( 十七) 状态模式State(对象行为型)

    设计模式 ( 十七) 状态模式State(对象行为型) 1.概述 在软件开发过程中,应用程序可能会根据不同的情况作出不同的处理。最直接的解决方案是将这些所有可能发生的情况全都考虑到。然后使用if… ellse语句来做状态判断来进行不同情况的处理。但是对复杂状态的判断就显得“力不从心了”。随着增加新的状态或者修改一个状体(if else(或swit…

    Linux干货 2015-07-27
  • LVS集群讲解

    目录 LVS介绍 LVS集群类型 LVS调度算法 ipvsadm/ipvs LVS-NAT模型演练 LVS-DR模型演练 LVS定义多集群 FWM实现多集群统一调度 LVS持久连接  每端口持久 每FWM持久 每客户端持久 LVS介绍 一般来说,LVS采用三层结构:负载调度器、服务器池、共享存储。工作在TCP/IP协议的四层,其转发是依赖于四层协议…

    Linux干货 2016-11-07
  • 认识shell

    一、认识shell 什么是shell?shell为单词外壳的意思。那么这是谁的外壳?我们知道一个系统中实际工作的是那些硬件,cpu、内存、磁盘等。我们如何调用这些硬件为我们工作?实际上,硬件是由内核kernel控制的。我们可以通过kernel控制硬件,但我们不能直接和内核kernel交流。我们需要一个外壳,这个外壳就是shell来沟通kernel。何为she…

    Linux干货 2015-09-22
  • 浏览和管理log文件

    浏览和管理log文件 log文件是一种包含系统消息的文件,包括内核、服务和应用运行在其上。不同的日志文件对应不同的日志信息。例如,默认的系统log文件,一个log文件对应安全消息,一个log文件对应计划任务。当要对一个系统问题排错例如加载内核驱动或者当寻找对系统的非授权登录攻击,日志文件是很有帮助的。一些log文件被一个称之为rsyslogd的守护进程控制。…

    Linux干货 2017-05-15
  • 人志建,则无敌—vim练习题

    马哥网络班21期-第六周博客 1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; [root@caicai ~]# cp -a /etc/rc.d/rc.sysinit /tmp [root@caicai&nbsp…

    Linux干货 2016-08-15
  • shell入门 (一)

    Shell就是一个命令行解释器 ,它的作用是解释执行用户的命令,用户输入一条命令,Shell就解释执行一条,这种方式称为交互式(Interactive)。 Shell还有一种执行命令的方式称为批处理 (Batch),用户事先写一 个Shell脚本 (Script),其中有很多条命令,让Shell一次把这些命令执行完,而不必一条一…

    Linux干货 2017-08-26

评论列表(1条)

  • 马哥教育
    马哥教育 2018-01-29 16:59

    可以补充一下 非对称加密算法有哪些,实验过程整体挺不错,能写一下遇到的问题和解决思路最好~加油。