~阿弥陀佛~

人生能有多少天是按照自己的想法去活着

安全控制与DHCP服务原理(server)

1. 密钥配置过程

ssh-keygen  -t  rsa(-t即tape指定数字签名为rsa或dsa创建公钥和私钥在当前的家目录下的.shh)

ssh-copy-id  root@10.10.10.12(回车是否设为指纹  回车输入密码 )

ssh  root@10.10.10.12(连接到远端)

ssh-keygen  -l  -f  /etc/ssh/ssh_host_rsa_key (查看指纹  -l打印指纹,-f指定filename文件名称,-p  指定port端口)


2.数据包安全控制

Tcpwrap:lib库工作在user空间和kernel空间之间,libwrap.so库文件将在lib中用来允许和拒绝访问例如应用程序。假设用户请求sshd服务,首先要讲数据包交给网卡,网卡经过路由表,再通过TCP协议上传至user空间,sshd获取设备资源调用lib库中的libwrap.so库文件,该文件不提供性能,而是提供身份认证。如果对libwrap.so文件设置某用户不能访问,则该用户不能使用sshd服务。

不是所有的应用程序都能被TCPwrap访问控制,两个前提条件:必须是基于TCP协议开发的程序和服务,必须连接libwrap.so函数,并不是所有的程序都连接函数库,只有连接到了lib库才会被TCPwrap访问控制

ACL访问控制:存在于应用程序中,用户请求可以到达程序本身。

Selinux:工作在kernel空间,类似于权限控制,如果开启Selinux,哪怕给一个文件777权限用户也不一定能获得该文件的真是权限

iptables防火墙:工作在kernel空间,根据用户的信息去校验IP地址,端口,MAC地址,协议类型,数据包内容,消耗的资源相对其他安全控制最小,安全性也最高。

实验(TCPwrappers管理控制)

ldd  /usr/sbin/sshd  |  grep  libwrap(查看应用程序链接了哪些库文件)

/etc/hosts.allow(允许)     /etc/hosts.deny(拒绝)

allow优先级大于deny

环境:两台centos6.8  10.10.10.11  10.10.10.12

IP或网段格式写入文件

网段

    vim /etc/hosts.deny  写入sshd:10.10.10.0/255.255.255.0

        10网段的所有IP都拒绝使用sshd服务

    ifconfig  eth0:0 20.20.20.11  netmask  255.255.255.0

网卡添加20.20.20.240   255.255.255.0并用xshell连接20.20.20.11

                ssh root@20.20.20.11

yum  -y  install  tcpdump(安装抓包工具)

tcpdump   -nA  port  22  >>  abc.tcpdump

               查看abc.tcpdump文件

   也可以在/etc/hosts.deny 写入sshd:10.10.10.  拒绝访问该网段

域名

    vim  /etc/hosts  写入10.10.10.12  www.xdl.com  IP翻译成域名 

     vim  /etc/deny  写入  sshd:www.xdl.com

          验证ssh  root@10.10.10.12 拒绝连接

 

            yum  -y  install  vsftpd

ldd  /usr/sbin/vsftpd  |  grep  libwra(代表vs服务也可以被TCP wrappers访问控制)

因此在黑名单写入vsftpd:www.xdl.com 也可以拒绝10.12使用该服务

  服务列表@服务器IP地址:客户端地址  

           vim   /etc/hosts.deny写入以下

sshd@10.10.10.11:10.10.10.12(拒绝12端服务器连接sshd服务的11 IP

使用12段增加网卡子接口

ifconfig  eth0:0  20.20.20.12  netmask  255.255.255.0

           ssh  root@20.20.20.11

 

注意:在写入sshd连接地址时不支持思科的表达方式

 

   宏(定义的一组变量)

      ALL(所有)  LOCAL(本机)   KNOWN(本地能解析的域名)

   UNKNOWN(本地不能解析的域名) EXCEPT(排除)

sshd:ALL  EXCEPT  192.168.1.1

只允许一个人访问,其他都拒绝。或者只拒绝一个人访问,其他都允许(以TCPwrappers作为跳板机允许连接该跳板机的服务器访问,其他都拒绝)

   例如在/etc/hosts.deny中写入sshd:ALL  EXCEPT 10.10.10.12拒绝访问所有除了10.10.10.12

   注意:还可以做arp -n绑定加固,防止arp欺骗。

匹配即停止

   TCPwrapper可以用通配符访问控制 

但是不能以.”开头和“.”结束

例如*”只有以下三种的前两种可能。

sshd:10.10.10.1*   sshd:10.10.10.*   sshd:*.10.10.(子网掩码是24位)

总结:sshd如果想用的话要满足的条件:1.TCP开发的协议程序  2.必须在lib库里包含了libwrap.so文件 如果两个都满足就可以在/etc/hosts.allowdeny中去写。书写方式,进程名:IP地址的书写方案不需要写子网掩码,如果要拒绝网段方案就是进程名:网段/子网掩码完整书写方式

省略方案:10.10.10.0/255.255.255.0  10.10.10.

三. DHCP服务

  1. DHCP作用:为大量客户机分配地址,提供集中管理

                           减轻管理维护成本,提高网络配置效率

     可分配的地址信息: 网卡IP地址,子网掩码,网关,默认网关地址,DNS服务器地址,引导文件(TFTP服务器地址,TFTP简单文件传输协议,适用于传输小的文件使用UDP协议,系统启动时的一些引导参数由该服务共享)

 2.有交换机和路由器为什么还用服务器配置DHCP的原因

       使用交换机和路由器,公司网络架构变动整个环境要重新还原配置

       使用DHCP服务器:备份文件直接拷到新的服务器,迁移比较容易,另外PXE网络集群装机服务DHCP可以分配TFTP服务器的地址

 3.工作原理

     客户端配置IP有三种情况:手动配置一个IP,DHCP分配一个IP,DHCP没分配到IP分配了一个测试网段(客户端获取IP的方式为DHCP时,会向广播中广播一个DHCP discover包,discover包的作用就是向网络中喊话谁是DHCP服务器能否分配一个IP地址,没有回应的话就再喊直到2, 4, 8, 16…..加上1到1000毫秒的延迟,还是没有回应时,则假设一个测试网段给自己)

      DHCP分配IP原理如下

       客户端发送一个discover包: 源地址0000(即未知地址的统称),目标地址 255.255.255.255(泛红)

       DHCP服务器回应offer包:IP地址,子网掩码   源地址服务器本身, 目标地址MAC地址  使用icmp协议测试IP是否可用,可用则分配给客户端,不可用继续测试下一个,ping是icmp生出来的一种程序

       客户返回request包,通过arp协议测试MAC如果不可用就不用,重新发送discover包,如果可用告诉服务器用你的  源地址:0000   目标地址 255.255.255.255

       DHCP发送ACK包: 详细租约,IP地址,子网掩码等一些信息 源地址自己  目标地址MAC

租约问题:续约时间为75%,假设租期是10s,5s的时候会提示更新租约,如果没有回应到7.5秒再次请求,若还没有回应租约到期重新discover

重新上线问题:网卡中有一个room(非一次性存储器),包含dhcp客户端以及pxe客户端以及存储之前dhcp分配的地址和dhcp服务器,根据room得到上次使用的IP地址以及dhcp服务器地址,然后向该服务器发送一个discover包进行确认,若能继续用则用,不能用则重新discover

    

Next Post

Previous Post

© 2021 ~阿弥陀佛~

ICP备案号: 京ICP备19038630号

版权所有@ 王力翔

耗时 0.201 秒 | 查询 39 次 | 内存 22.50 MB