🍅 点击文末小卡片 ,免费获取网络安全全套资料,资料在手,涨薪更快
文章目录
- 网络参数设置
- 禁用IP转发
- 禁止数据包发送重定向
- 不接收源路由信息包
- 记录可疑数据包
- 启用TCO SYN Cookies
- 禁用ipv6
- 网络访问控制
- TCP-Wrappers
- 禁用不常用的网络协议
- 禁用DCCP/SCTP/RDS协议
- 防火墙配置-[iptables]()
- 默认防火墙拒绝策略
- 配置环回地址规则
- 为特定连接配置防火墙
网络参数设置
禁用IP转发
不当路由器!!
配置方法:
在/etc/sysctl.conf或/etc/sysctl.d/*中设置以下参数:
net.ipv4.ip_ forward = 0
运行以下命令来设置活动内核参数:
sysctl -w net.ipv4.ip. forward=0
sysctl -w net.ipv4.route.flush=1
验证:匹配验证
禁止数据包发送重定向
如果没有禁止数据包发送重定向,那么攻击者可以使用受攻击的主机作为跳板将无效的ICMP数据包发送重定向发送到其他路由设备并破坏路由设备,并让用户访问攻击者设置的系统。
加固方法:
数据包一般是默认开启了重定向的,在/etc/sysctl.conf文件中设置
net.ipv4.conf.all.send_redirects=0
net.ipv4.conf.defult.send_redirects=0
运行以下命令设置活动内核参数
sysctl -w net.ipv4.conf.all.send_redirects=0
sysctl -w net.ipv4.conf.defult.send_redirects=0
刷新一下路由缓存
sysctl -w net.ipv4.route.flush=1
进行匹配验证网络参数生效和验证内核参数激活
验证内核参数激活
sysctl net.ipv4.conf.all.send_redirects
sysctl net.ipv4.conf.default.send_redirects
匹配验证网络参数生效
grep net.ipv4.conf.all.send_redirects /etc/sysctl.conf
grep net.ipv4.conf.default.send_redirects /etc/sytsctl.conf
不接收源路由信息包
如果允许接受源路由包那么黑客就可以利用其来获取对私有地址系统的访问,因为在正常的情况下非源路由包在网络中的传播路径是由路由决定的,在某些情况下,系统是不可以经过路由或从某些位置访问的(私有地址和Internet路由),但是源路由可以。
配置(与上一个方法类似):
在/etc/sysctl.conf文件中设置
net.ipv4.conf.all.accept_source_route=0
net.ipv4.conf.default.accept_source_route=0
设置活动内核参数
sysctl -w ipv4.conf.all.accept_source_route=0
sysctl -w ipv4.conf.default.accept_source_route=0
刷新路由缓存
sysctl -w net.ipv4.route.flush=1
检测方式与上类似
验证内核参数激活
sysctl net.ipv4.conf.all.accept_source_route
sysctl net.ipv4.conf.default.accept_source_route
匹配验证网络参数生效
grep net.ipv4.conf.all.accept_source_route /etc/sysctl.conf
grep net.ipv4.conf.default.accept_source_route /etc/sytsctl.conf
记录可疑数据包
启用这个功能可以记录不是路由发送的源地址的包记录到内核日志中。管理员就可以查询攻击者向其系统发送欺骗包的可能性。
配置:
在/ect/sysctl.conf中设置
net.ipv4.conf.all.log_martains=1
net.ipv4.conf.default.log_martains=1
设置活动内核参数
sysctl -w ipv4.conf.all.log_martains=0
sysctl -w ipv4.conf.default.log_martains=0
刷新路由缓存
sysctl -w net.ipv4.route.flush=1
验证方式与上两个相同,就换个参数就行。
禁止响应ICMP广播请求。
黑客可以进行Smurf攻击:发送发大量带有七篇源地址的ICMP广播消息。所有接收消息并作出响应的主机都将发送echo-reply消息到欺骗地址。当许多主机对数据包做出响应,那么网络通信量就会增加,服务器就无法正常提供服务。
配置方法:vim /etc/sysctl.conf
net.ipv4.icmp_echo_ignore_broadcasts=1
sysctl -w net.ipv4.icmp_echo_ignore_broadcasts=1
刷新路由缓存
sysctl -w net.ipv4.route.flush=1
检测方法相同
启用TCO SYN Cookies
启用SYN Cookies之后,内核可以正常处理TCP SYN数据包,知道半打开的连接队列满了为止,此时SYN Cookie启用。
SYN Cookie将一些本该在本地保存的信息编码返回给客户端的SYN-ACK的初始化序列号或者时间戳里面,握手尚未完成不分配任何资源。等到客户端的ACK到来时再从ACK序列号里面解码出保存的信息,利用此信息建立一个tcp连接,此时握手完成,重新分配资源。这也就i防御了SYN flood攻击。
配置:
在sysctl配置文件中设置:
net.ipv4.tcp_syncookies=1
设置活动内核参数
sysctl -w net.ipv4.tcp_syncookies=1
sysctl -w net.ipv4.route.flush=1
禁用ipv6
不用就关了。减少一个攻击的可能。
配置:
编辑/etc/default/grub给GRUB_CMDLINE_LINUX变量增加参数。ipv6.disable=1
更新grub配置
grub2-mkconfig > /boot/grub2/grub.cfg
验证方法:匹配验证。
网络访问控制
/etc/hosts.allow文件指定允许连接到主机的IP地址,/etc/hosts.deny文件指定不允许连接到主机的IP地址,/etc/hosts.allow的设定优先于/etc/hosts.deny,两个文件相互作用。
配置:
基本格式:
程序名列表:主机名/IP地址列表
例如:在host.deny中有:sshd:192.168.10.10则表示禁止用户从192.168.10.10,ssh登录。
TCP-Wrappers
原理:
TCP Wrappers为系统没有内置支持的服务提供了一个很好的简单访问列
表机制。建议所有支持TCP Wrappers的服务都使用它。
描述:
TCP Wrappers为支持它的服务提供了一个简单的访问列表和标准化的日志记录方法。过去,从inetd和xinetd调用的服务支持使用tcp Wrappers.最新版系统上inetd和xinetd已经停止使用,任何支持tcp Wrappers的服务都将使用libwrap.so库和tcp Wrappers相连使用。
配置方法:
使用以下命令安装tcp Wrappers:
yum install tcp_ wrappers
检测方法:
使用以下命令查看是否安装tcp Wrappers和libwrap.so库
rpm -q tcp_ wrappers
rpm -q tcp_ wrappers-libs
配置/etc/hosts.allow文件
原理:
/etc/hosts. allow文件支持通过IP访问控制,并帮助确保只有经过授权的
系统才能连接到系统。
描述:
/etc/hosts. allow文件指定允许连接到主机的IP地址。它将与/etc/hosts
.deny文件一起使用。
配置方法:
使用以下命令创建/etc/hosts. allow文件:echo “ALL: / , / , … > /etc/hosts.allow
其中每个/ (例如,”192.168.1.0/255.255.255.0” )表示
需要访问该系统使用的一个网络块。
检测方法:
运行以下命令并验证/etc/hosts.allow的内容文件:
cat /etc/hosts.allow
配置/etc/hosts.deny文件
原理:
/etc/hosts.deny文件用作故障保险, 帮助确保任何不在/etc/hosts. allow允许的主机不能连接到系统。
描述:
/etc/hosts. deny文件指定不允许连接到主机的IP地址。它将与/etc/hosts.allow文件一起使用。
配置方法:
使用以下命令创建/etc/hosts.deny文件:
echo “ALL: ALL” >> /etc/hosts.deny
检测方法:
运行以下命令并验证/etc/hosts.deny的内容文件:
cat /etc/hosts.deny
配置/etc/hosts.allow和/etc/hosts.deny的权限
确保只有root有写的权限,因为其他的应用程序也会使用网络信息,所以其他的应用程序需要有读取的权限。
chown root:root /etc/hosts.allow
chmod 644 /etc/hosts.allow
禁用不常用的网络协议
禁用DCCP/SCTP/RDS协议
描述:
数据报拥塞控制协议(DCCP)是一种支持流媒体和电话的传输层协议。DCCP
是提供多种拥塞控制机制,无需在应用程序层进行访问。
配置方法:
编辑或创建/etc/modprobe.d/ClS.conf文件并添加
以下内容:
install dccp /bin/true
检测方法:
运行以下命令,验证输出如下:
modprobe -n -V dccp
install /bin/true
Ismod | grep dccp
配置与检测方法相同只是换了个协议名称。
防火墙配置-iptables
默认防火墙拒绝策略
默认防火墙拒绝任何未配置的网络使用。
配置:
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FOTWARD DROP
检车:
iptables -L
配置环回地址规则
配置环回地址接受环回流量,其他接口拒绝。
配置:
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -i lo -j ACCEPT
iptables -A INPUT -s 127.0.0.1/8 -j DROP
检测:
iptables -L INPUT -v -n
iptables -L OUTPUT -v -n
为特定连接配置防火墙
为特定客户端IP连接建立制定规则
iptables -A INPUT -s <IP地址/掩码> -p tcp -dport 开放端口 -j ACCEPT
为业务环境开放指定ip连接建立规则
iptables -A INPUT -s <IP地址/掩码> -j ACCEPT
查看一下配置的防火墙规则
iptables -L INPUT -v -n
网络安全学习路线
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
同时每个成长路线对应的板块都有配套的视频提供:
需要网络安全学习路线和视频教程的可以在评论区留言哦~
最后
- 如果你确实想自学的话,我可以把我自己整理收藏的这些教程分享给你,里面不仅有web安全,还有渗透测试等等内容,包含电子书、面试题、pdf文档、视频以及相关的课件笔记,我都已经学过了,都可以免费分享给大家!
给小伙伴们的意见是想清楚,自学网络安全没有捷径,相比而言系统的网络安全是最节省成本的方式,因为能够帮你节省大量的时间和精力成本。坚持住,既然已经走到这条路上,虽然前途看似困难重重,只要咬牙坚持,最终会收到你想要的效果。
黑客工具&SRC技术文档&PDF书籍&web安全等(可分享)
结语
网络安全产业就像一个江湖,各色人等聚集。相对于欧美国家基础扎实(懂加密、会防护、能挖洞、擅工程)的众多名门正派,我国的人才更多的属于旁门左道(很多白帽子可能会不服气),因此在未来的人才培养和建设上,需要调整结构,鼓励更多的人去做“正向”的、结合“业务”与“数据”、“自动化”的“体系、建设”,才能解人才之渴,真正的为社会全面互联网化提供安全保障。
特别声明:
此教程为纯技术分享!本教程的目的决不是为那些怀有不良动机的人提供及技术支持!也不承担因为技术被滥用所产生的连带责任!本教程的目的在于最大限度地唤醒大家对网络安全的重视,并采取相应的安全措施,从而减少由网络安全而带来的经济损失