安全主要是端口与服务的对应配置python
1.1 linux安全主要经过下面三个进行加固linux
1.2 ping 的禁止安全
/etc/sysctl.conf 中增长一行 net.ipv4.icmp_echo_ignore_all=1
echo 0 >/proc/sys/net/ipv4/icmp_echo_ignore_all
iptables -A INPUT -p icmp --icmp-type 8 -s 0/0 -j DROP
并非全部的服务都是受tcp_wrappers管理的,只用采用libwrap库的服务才受管理服务器
(1)检查服务是否受管理网络
ldd $(which domainname) | grep libwrap
domainname=sshd httpd smb xinetd .........session
若是有这个连接,说明某个服务接受tcp_wrappers管理app
(2)受管理的服务dom
sendmail slapd sshd stunnel xinetd gdm gnone-session vsftpd portmap
(3)有些进程不受tcp_wrappers管理ssh
httpd smb squid 等
/etc/hosts.allow
/etc/hosts.denytcp
a.当有请求从远程到达本机的时候
首先检查/etc/hosts.allow
若有匹配的,就默认容许访问,跳过 /etc/hosts.deny这个文件
没有匹配的,就去匹配/etc/hosts.deny 文件,若是有匹配的,那么就拒绝这个访问
b.若是在这两个文件中,都没有匹配到,默认是容许访问的
c.两个文件格式
服务列表 :地址列表 :选项
A. 服务列表格式:若是有多个服务,那么就用逗号隔开
B. 地址列表格式:
1. 标准IP地址:例如:192.168.0.254,192.168.0.56若是多于一个用,隔开
2. 主机名称:例如:www.baidu.com, .example.con匹配整个域
3. 利用掩码:192.168.0.0/255.255.255.0指定整个网段
注意:tcp_wrappers的掩码只支持长格式,不能用:192.168.0.0/24
4. 网络名称:例如 @mynetwork
d.例子
hosts.allow sshd:192.168.0.1:allow hosts.deny sshd:ALL
iptables是由ip+tables组成,它由多个表,每一个表的功能都不同,每一个表因为多个链(chain)组成,咱们能够对这个链进行设置规则与策略。
(1)通常由三种表
(2)filter
链 | 描述 |
FORWARD | 将外部的数据包传递到内部的服务器 |
INPUT | 主要是外部数据进入内部数据的信息过滤 |
OUTPUT | 主要是内部数据发到外部数据的信息过滤 |
(3)NAT
链 | 描述 |
OUTPUT | 改变本地产生包的目的地址 |
POSTROUTING | 改变数据返回来源的目的地址,SNAT,屏蔽局域网内部来源主机信息 |
PREROUTING | 改变访问的目的地址,DNAT,也就是内部主机只能限制防火墙访问 |
(3)mangle不经常使用
从图中能够看出,众多的路由规则(Rule)和预设的规则(policy)组成了一个功能链(chain),多个链组成一个表,多个表就组成了防火墙。最经常使用的就是filter表,NAT表用在地址映射方面。
iptables就是由多个路由规则的组合体,知足一个规则,其余的规则就不在验证,全部的规则都不知足就执行默认的规则
设定规则须要注意顺序
(1)iptables [-t 表名] 选项 [链名] [条件] [-j 控制类型] 参数
-P 设置默认策略:iptables -P INPUT (DROP|ACCEPT) -F 清空规则链 -L 查看规则链 -A 在规则链的末尾加入新规则 -I num 在规则链的头部加入新规则 -D num 删除某一条规则 -s 匹配来源地址IP/MASK,加叹号"!"表示除这个IP外。 -d 匹配目标地址 -i 网卡名称 匹配从这块网卡流入的数据 -o 网卡名称 匹配从这块网卡流出的数据 -p 匹配协议,如tcp,udp,icmp --dport num 匹配目标端口号 --sport num 匹配来源端口号
(2)预设规则
iptables [-t tables] -P[input output FORWARD] [ACCEPT DROP]
(3)针对IP网络、网络接口的过滤规则
iptables [-t tables] [-AI 链] [-io 网络接口][-p tcp|UDP|ICMP] [-s 来源网络] [-d 目标网络] [-j ACCEPT |DROP]
(4)针对TCP 和UDP的过滤规则
iptables [-t tables] [-AI 链] [-io 网络接口][-p tcp,udp] [-s 来源网络][--sport 端口范围 ] [-d 目标网络] [--dport 端口范围][-j ACCEPT |DROP]