第五周作业


1. 总结openssh服务安全加固和总结openssh免密认证原理,及免认证实现过程。

ssh服务的安全加固:
1.使用非默认端口
2.限制可登录用户
3.利用防火墙设置ssh访问策略
4.使用强密码策略
5.禁止空密码登录
6.禁止root用户直接登录
7.限制ssh的访问频率和并发在线数
8.经常分析日志

openssh免密认证的原理:共用一个公钥私钥对和授权公钥

实现过程:一台主机使用命令ssh-keygen创建公钥私钥对,使用ssh-copy-id给自己复制授权公钥,然后将使公钥私钥对和授权公钥复制给所有的主机,大家都共用一个公钥私钥对和授权公钥,即可实现无需输入密码验证的互连互通

2. 总结sudo配置文件格式,总结相关示例。

sudo配置文件:/etc/sudoers

授权规则格式:用户  登入主机=(代表用户)   完整的路径命令
                           user    host=(runas)    command

示例:simon 10.0.0.8=(root) NOPASSWD: /usr/bin/mount

3. 总结PAM架构及工作原理

应用程序 ---> PAM接口调用 [ 配置文件] ---> PAM服务模块

PAM工作原理:认证首先要确定那一项服务,然后加载相应的PAM的配置文件(位于/etc/pam.d下),最后调用认证文件(位于/lib64/security下)进行安全认证

4. 总结PAM配置文件格式,总结相关示例, nologin.so, limits,等模块的使用。

PAM配置文件/etc/pam.d格式:type control module-path arguments
 type:指模块类型
control :PAM库该如何处理与该服务相关的PAM模块的成功或失败情况,一个关健词实现
module-path: 用来指明本模块对应的程序文件的路径名
Arguments: 用来传递给该模块的参数

  nilogin.so模块使用:创建/etc/nologin文件,将导致普通用户不能登录,登录时会显示/etc/nologin文件里的内容,并拒绝登录。   

vim /etc/nologin
拒绝登录

pam_limits.so模块使用:在用户级别实现对其可使用的资源的限制,例如:可打开的文件数量,可运行的进程数量,可用内存空间。
配置文件:/etc/security/limit.conf

5. 实现私有时间服务器

时间同步原理结构:

时间同步原理


1.NTPsever上安装时间同步软件chrony,启动服务,并修改配置文件重启服务
服务器端配置文件修改
2.NTPclient上安装时间同步软件chrony,启动服务,并修改配置文件重启服务
客户端配置文件修改,时间同步服务指向我们配置的NPTserver地址

6. 总结DNS域名三级结构

根域名 (.) ---> 一级域名 (com,net,cn.top,...) ---> 二级域名 (本地域名配置文件对应的IP地址) 
从上到下依次做迭代查询,不可逆转

7. 总结DNS服务工作原理,涉及递归和迭代查询原理

DNS服务工作原理:用户访问域名向本地dns解析做递归查询,如果不能直接回复查询结果,则本地dns代理解析服务器会向根域名服务器,com一级域名服务器,二级域名服务器依次向下做迭代查询。直到查询到完整地址解析对应IP后返回本地dns代理解析,由本地dns代理解析向用户返回域名对应的ip地址,并做缓存,用户端收到返回的域名对应ip后即可正常访问。

递归查询:是指DNS服务器在收到用户发起的请求时,必须向用户返回一个准确的查询结果。

迭代查询:是指DNS服务器在收到用户发起的请求时,并不直接回复查询结果,而是告诉另一台DNS服务器的地址,用户再向这台DNS服务器提交请求,这样依次反复,直到返回查询结果。

8. 实现私有DNS, 供本地网络主机作DNS递归查询。

安装DNS软件:bind  bind-utils
vim /etc/named.conf
vim /etc/named.rfc1912.zones配置文件中按格式添加解析域名数据库,完成后使用named-checkconf命令检查语法格式
在/var/named/目录下创建对应的ZONE_NAME.zone文件按格式编辑,编辑完成后使用命令 named-checkzone "ZONE_NAME" /var/named/ZONE_NAME.zone 检查文件语法格式,完成后使用rndc reload刷新配置文件

完成后配置后,将客户端网卡配置文件DNS指向DNS服务器IP地址 

9. 总结DNS服务器类型,解析答案,正反解析域,资源记录定义。

DNS服务器类型:主DNS服务器,从DNS服务器,缓存DNS服务器

肯定答案:存在对应的查询结果
否定答案:请求的条目不存在等原因导致无法返回结果
权威答案:直接由存有此查询结果的DNS服务器(权威服务器)返回的结果
非权威答案:由其它非权威服务器返回的查询结果

正向解析:从FQDN(域名)---->  IP
反向解析:从IP ----->  FQDN(域名)

SOA:Start Of Authority,起始授权记录;一个区域解析库有且仅能有个SOA记录,必须位于解析库的第一条记录
A:internet Address,作用,FQDN --> IP
AAAA:FQDN --> IPv6
PTR:PoinTeR,IP --> FQDN
NS:Name Server,专用于标明当前区域的DNS服务器
CNAME : Canonical Name,别名记录
MX:Mail eXchanger,邮件交换器
TXT:对域名进行标识和说明的一种方式,一般做验证记录时会使用此项,如:SPF(反垃圾邮件)记录,https验证等

10. 实现DNS主从同步

应该为一台独立的名称服务器
主服务器的区域解析库文件中必须有一条NS记录指向从服务器
从服务器只需要定义区域,而无须提供解析库文件;解析库文件应该放置于/var/named/slaves/目录中
主服务器得允许从服务器作区域传送
主从服务器时间应该同步,可通过ntp进行

主DNS配置
从DNS配置

11. 实现DNS子域授权


12. 基于acl实现智能DNS


13. 总结防火墙分类

按保护范围划分:
主机防火墙:服务范围为当前一台主机
网络防火墙:服务范围为防火墙一侧的局域网

按实现方式划分:
硬件防火墙:在专用硬件级别实现部分功能的防火墙
软件防火墙:运行于通用硬件平台之上的防火墙的应用软件

按网络协议划分:
网络层防火墙:OSI模型下四层,又称为包过滤防火墙
应用层防火墙/代理服务器:proxy 代理网关,OSI模型七层

14. 总结iptable 5表5链, 基本使用,扩展模块。

五表:filter、nat、raw、mangle、security
filter:过滤规则表,根据预定义的规则过滤符合条件的数据包,默认表
nat:network address translation 地址转换规则表
mangle:修改数据标记位规则表
raw:关闭启用的连接跟踪机制,加快封包穿越防火墙速度
security:用于强制访问控制网络规则,由Linux安全模块实现

五链:PREROUTING、INPUT、OUTPUT、FOREARD、POSTROUTING
流入本机:PREROUTING --> INPUT-->用户空间进程
流出本机:用户空间进程 -->OUTPUT--> POSTROUTING
转发(穿过):PREROUTING --> FORWARD --> POSTROUTING

拓展模块:
multiport扩展 :以离散方式定义多端口匹配,最多指定15个端口
[root@centos8 ~]# iptables -A INPUT -s 10.0.0.6 -p tcp -m multiport --dports 445,139 -j REJECT
iprange扩展:指明连续的(但一般不是整个网络)ip地址范围
[root@centos8 ~]# iptables -A INPUT -d 172.16.1.100 -p tcp --dport 80 -m iprange --src-range 172.16.1.5-172.16.1.10 -j DROP
connlimit扩展:根据每客户端IP做并发连接数数量匹配,可防止Dos(拒绝服务)攻击
[root@centos8 ~]# iptables -A INPUT  -p tcp --dport 80 -m connlimit --connlimit-above 2 -j REJECT
limit扩展:基于收发报文的速率做匹配 , 令牌桶过滤器(限流)
[root@centos8 ~]# iptables -I INPUT -d 172.16.100.10 -p icmp --icmp-type 8 -m limit --limit 10/minute --limit-burst 5 -j ACCEPT
state扩展:可以根据”连接追踪机制“去检查连接的状态,较耗资源

15. 总结iptables规则优化实践,规则保存和恢复。

1.安全放行所有入站和出站的状态为ESTABLISHED状态连接,建议放在第一条,效率更高
2.谨慎放行入站的新请求
3.有特殊目的限制访问功能,要在放行规则之前加以拒绝
4.同类规则(访问同一应用,比如:http ),匹配范围小的放在前面,用于特殊处理
5.不同类的规则(访问不同应用,一个是http,另一个是mysql ),匹配范围大的放在前面,效率更高
6.应该将那些可由一条规则能够描述的多个规则合并为一条,减少规则数量,提高检查效率
7.设置默认策略,建议白名单(只放行特定连接)
8.iptables -P,不建议,容易出现“自杀现象”
9.规则的最后定义规则做为默认策略,推荐使用,放在最后一条

规则保存和恢复
方法一:
保存现有的规则到文件中:iptables-save > /PATH/TO/SOME_SCRIPT_FILE
用规则文件保存各个规则,开机时自动载入此规则文件中的规则
在/etc/rc.d/rc.local文件添加:iptables-restore < /PATH/FROM/IPTABLES_RULES_FILE
方法二:
用脚本保存各个iptables命令;/PATH/TO/SOME_SCRIPT_FILE.sh 让此脚本开机后自动运行
给脚本添加执行权限:chmod +x
/etc/rc.d/rc.local文件中添加脚本路径 /PATH/TO/SOME_SCRIPT_FILE.sh

16. 总结NAT转换原理, DNAT/SDNAT原理,并自行设计架构实现DNAT/SNAT。

NAT工作图

SNAT:请求报文,将源地址替换为公网地址。私网访问公网
DNAT:请求报文,将目的地址替换为私网地址。私网主机可以被公网访问

NAT实验:

Ubuntu做公网server,更改网卡类型为仅主机
并重新配置IP地址,本实验与网关和dns无关,可注释掉
更新网卡配置文件
centos7做网络防火墙,为其添加一块新网卡,指定类型为仅主机用于连接公网一侧,NAT用于连接私网一侧
为仅主机新网卡配置IP地址
重启网卡配置生效
SNAT和DNAT都需要穿过forward链,默认为关闭状态,需要开启ip_forward
私网server修改网卡getway指向防火墙内侧IP地址,修改后更新网卡配置文件:nmcli connection reload;nmcli connection up eth0
私网和公网的httpd_server和网卡环境配置完成后,最后配置firewall,在nat表上配置SNAT和DNAT策略
创建iptables脚本,并添加执行权限,将脚本完整路径放在/etc/rc.loacl,使其开机自动添加防火墙策略


rules.sh
vim /etc/rc.local

测试:

私网访问公网,在日志中 可以看到对方的真实IP地址
私网访问公网,在日志中可以看到对方的真实IP地址
公网访问私网,只能看到私网的代理IP,无法在日志中看到私网的真实IP

17. 使用REDIRECT将90端口重定向80,并可以访问到80端口的服务

iptables -t nat -A PREROUTING -p tcp -d <本机内网IP> -p tcp --dport 90 -j REDIRECT --to-ports 80

18. firewalld常见区域总结。

drop:任何进入的网络数据包都会被直接丢弃,没有任何回应,常用于防火墙外的区域。
block:进入的网络数据包会被拒绝,会回复一个icmp-host-prohibited消息,常用于防火墙外的区域。
public:针对公共区域进行优化,允许某些入站流量,主要是SSH、ipp-client、mdns等。
work:用于工作区,通常允许更多的服务和端口。
home:用于家庭网络,允许类似于SSH、HTTP、HTTPS等常见的服务。
internal:用于内部网络,允许所有的服务和端口,是最安全开放的区域。
trusted:信任所有的网络连接,这个区域应当小心使用,因为它会关闭所有的防火墙保护。

19. 通过ntftable来实现暴露本机80/443/ssh服务端口给指定网络访问"

# 允许指定网段访问本机80端口
iptables -t nat -A PREROUTING -p tcp -d <本机公网IP> --dport 80 -j DNAT --to-destination <本机内网IP>:80
iptables -t nat -A POSTROUTING -p tcp -s <本机内网IP> --sport 80 -j MASQUERADE

# 允许指定网段访问本机443端口
iptables -t nat -A PREROUTING -p tcp -d <本机公网IP> --dport 443 -j DNAT --to-destination <本机内网IP>:443
iptables -t nat -A POSTROUTING -p tcp -s <本机内网IP> --sport 443 -j MASQUERADE

# 允许指定网段访问本机SSH端口22
iptables -t nat -A PREROUTING -p tcp -d <本机公网IP> --dport 22 -j DNAT --to-destination <本机内网IP>:22
iptables -t nat -A POSTROUTING -p tcp -s <本机内网IP> --sport 22 -j MASQUERADE

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,335评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,895评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,766评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,918评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,042评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,169评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,219评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,976评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,393评论 1 304
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,711评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,876评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,562评论 4 336
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,193评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,903评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,142评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,699评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,764评论 2 351

推荐阅读更多精彩内容

  • SUDO,PAM配置规范说明sudo:是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具具体工作过...
    肝运维阅读 64评论 0 0
  • 1. SUDO,PAM配置规范说明 1.1SUDO配置规范说明 SUDO 允许root管理员让普通用户执行一些或者...
    蟹不肉_c09e阅读 55评论 0 1
  • 1. 总结openssh服务安全加固和总结openssh免密认证原理,及免认证实现过程。 openssh服务安全加...
    Angel诸葛流云阅读 41评论 0 0
  • 一、SUDO,PAM配置规范说明 SUDO 在suduers配置文件下修改,或者是在suduers.d的文件夹下修...
    418阅读 87评论 0 0
  • 1、简述DNS服务器原理,并搭建主-辅服务器。 一、DNS是什么 DNS(Domain Name Service的...
    布格雷斯阅读 338评论 1 0