网络安全
安全体系概览:
Firewalls --> TCP Wrappers --> Xinetd --> PAM -- > SELinux --> Server specific
Firewalls: netfilter/iptables
netfilter组件 内核空间,是内核一部分
iptables组件 用户空间,提供管理防火墙的手段,通过iptables插入、删除、修改规则
OSI七层模型:
应用层 ftp http smtp pop3
表示层 上三层,一般操作系统和应用的功能
会话层
传输层 源端口2222/tcp ---> 目的端口 80/tcp 传输协议TCP,UDP
网络层 源IP x.x.x.x ---> 目的IP y.y.y.y 下四层,数据流层
数据链路层 源MAC 00:50:fc:12:34:56 ---> 目的MAC(网一段主机,网关) 00:50:fc:12:34:59
物理层
TCP: 面向连接,可靠的传输协议 类似于三次握手,window...
UDP: 非面向连接,不可靠的传输协议
A (封装)---------- (解封装)B
============= =iptables ================
语法:
iptables [-t 要操作的表] <操作命令> [要操作的链] [规则号码] [匹配条件] [-j 匹配后的动作]
小写 大写 大写 小写 大写
示例:
iptables -L //查看,默认filter表
iptables -t filter -L
iptables -t nat -L
iptables -t raw -L
iptables -t mangle -L
===========================================================
常见的操作命令:
-L 查看,v详细,n不反解 --line-number
-A 追加,放置最后一条
-I 插入,默认插入成第一条
-D 删除
-F 清空flush
匹配的条件:
-s 192.168.2.0/24 源地址
-d 192.168.2.1 目标地址
-p tcp|upd|icmp 协议
-i eth0 input 从eth0接口进入的数据包
-o eth0 output 从eth0出去的数据包
-p tcp --dport 80 目标端口是80,必须和-p tcp|udp 连用
===========================================================
iptables -t filter -L INPUT
iptables -L INPUT
iptables -F INPUT
iptables -F
iptables -t nat -F
操作示例:
iptables -F
iptables -A INPUT -j REJECT //拒绝所以进入filter表INPUT链的所有数据包
iptables -I INPUT -p tcp --dport 5900 -j ACCEPT
iptables -I INPUT -p tcp --dport 80 -j ACCEPT
iptables -I INPUT -p tcp --dport 22 -j ACCEPT
iptables -I INPUT -p icmp -j ACCEPT
iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -nL
针对FTP:连接追踪模块
iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -I INPUT -p tcp --dport 21 -j ACCEPT //打开控制端口
modprobe ip_conntrack_ftp 加载连接追踪模块(临时)
lsmod |grep ftp
[root@station230 ~]# vim /etc/sysconfig/iptables-config
IPTABLES_MODULES="ip_conntrack_ftp"
标准流程
================================================================
[root@station230 ~]# iptables -F
[root@station230 ~]# iptables -A INPUT -i lo -j ACCEPT
[root@station230 ~]# iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
[root@station230 ~]# iptables -A INPUT -s 192.168.2.0/24 -j ACCEPT
[root@station230 ~]# iptables -A INPUT -p tcp --dport 80 -j ACCEPT
[root@station230 ~]# iptables -A INPUT -p tcp --dport 22 -j ACCEPT
[root@station230 ~]# iptables -A INPUT -p tcp --dport 21 -j ACCEPT
[root@station230 ~]# iptables -A INPUT -j REJECT
[root@station230 ~]# service iptables save
将当前规则保存到 /etc/sysconfig/iptables: [确定]
[root@station230 ~]# chkconfig iptables on
[root@station230 ~]# iptables -vnL INPUT
[root@station230 ~]# vim /etc/sysconfig/iptables-config
IPTABLES_MODULES="ip_conntrack_ftp"
[root@station230 ~]# service iptables restart
=======================================================
小知识:
常见协议的端口 /etc/services
[root@station230 ~]# grep ^http /etc/services
服务 协议 端口/传输协议
ssh ssh 22/tcp
http http 80/tcp
https 443/tcp
dns domain 53/udp,53/tcp
mail smtp 25/tcp 发信协议
smtps 465/tcp # SMTP over SSL (TLS)
pop3 110/tcp 收信协议
pop3s 995/tcp
imap 143/tcp
imaps 993/tcp
dhcp bootps 67/udp # BOOTP server
nfs nfs 2049/tcp
samba 137,138,139/tcp
445/tcp
ftp ftp 21/tcp
ftp-data 20/tcp
ntp ntp 123/udp
syslog syslog 514/udp
=======================================================================
真实iptables实例 :
一些常见允许外网访问的服务:
网站 http 80/tcp; https 443/tcp;
邮件 mail smtp 25/tcp 发信协议
smtps 465/tcp # SMTP over SSL (TLS)
pop3 110/tcp 收信协议
pop3s 995/tcp
imap 143/tcp
远程管理: ssh 22/tcp
一些常见不允许外网访问的服务:
文件服务器:
NFS
SAMBA
FTP
[root@station230 ~]# iptables -A INPUT -i lo -j ACCEPT
[root@station230 ~]# iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
[root@station230 ~]# iptables -A INPUT -s 192.168.2.0/24 -j ACCEPT
[root@station230 ~]# iptables -A INPUT -p tcp --dport 80 -j ACCEPT
[root@station230 ~]# iptables -A INPUT -p tcp --dport 22 -j ACCEPT
[root@station230 ~]# iptables -A INPUT -p tcp --dport 25 -j ACCEPT
[root@station230 ~]# iptables -A INPUT -p tcp --dport 110 -j ACCEPT
[root@station230 ~]# iptables -A INPUT -j REJECT
外网 =====> VPN =====> 内网FTP,SAMBA,NFS
========================================================================
安全体系概览:
Firewalls --> TCP Wrappers --> Xinetd --> PAM -- > SELinux --> Server specific
Firewalls: netfilter/iptables
netfilter组件 内核空间,是内核一部分
iptables组件 用户空间,提供管理防火墙的手段,通过iptables插入、删除、修改规则
OSI七层模型:
应用层 ftp http smtp pop3
表示层 上三层,一般操作系统和应用的功能
会话层
传输层 源端口2222/tcp ---> 目的端口 80/tcp 传输协议TCP,UDP
网络层 源IP x.x.x.x ---> 目的IP y.y.y.y 下四层,数据流层
数据链路层 源MAC 00:50:fc:12:34:56 ---> 目的MAC(网一段主机,网关) 00:50:fc:12:34:59
物理层
TCP: 面向连接,可靠的传输协议 类似于三次握手,window...
UDP: 非面向连接,不可靠的传输协议
A (封装)---------- (解封装)B
============= =iptables ================
语法:
iptables [-t 要操作的表] <操作命令> [要操作的链] [规则号码] [匹配条件] [-j 匹配后的动作]
小写 大写 大写 小写 大写
示例:
iptables -L //查看,默认filter表
iptables -t filter -L
iptables -t nat -L
iptables -t raw -L
iptables -t mangle -L
===========================================================
常见的操作命令:
-L 查看,v详细,n不反解 --line-number
-A 追加,放置最后一条
-I 插入,默认插入成第一条
-D 删除
-F 清空flush
匹配的条件:
-s 192.168.2.0/24 源地址
-d 192.168.2.1 目标地址
-p tcp|upd|icmp 协议
-i eth0 input 从eth0接口进入的数据包
-o eth0 output 从eth0出去的数据包
-p tcp --dport 80 目标端口是80,必须和-p tcp|udp 连用
===========================================================
iptables -t filter -L INPUT
iptables -L INPUT
iptables -F INPUT
iptables -F
iptables -t nat -F
操作示例:
iptables -F
iptables -A INPUT -j REJECT //拒绝所以进入filter表INPUT链的所有数据包
iptables -I INPUT -p tcp --dport 5900 -j ACCEPT
iptables -I INPUT -p tcp --dport 80 -j ACCEPT
iptables -I INPUT -p tcp --dport 22 -j ACCEPT
iptables -I INPUT -p icmp -j ACCEPT
iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -nL
针对FTP:连接追踪模块
iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -I INPUT -p tcp --dport 21 -j ACCEPT //打开控制端口
modprobe ip_conntrack_ftp 加载连接追踪模块(临时)
lsmod |grep ftp
[root@station230 ~]# vim /etc/sysconfig/iptables-config
IPTABLES_MODULES="ip_conntrack_ftp"
标准流程
================================================================
[root@station230 ~]# iptables -F
[root@station230 ~]# iptables -A INPUT -i lo -j ACCEPT
[root@station230 ~]# iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
[root@station230 ~]# iptables -A INPUT -s 192.168.2.0/24 -j ACCEPT
[root@station230 ~]# iptables -A INPUT -p tcp --dport 80 -j ACCEPT
[root@station230 ~]# iptables -A INPUT -p tcp --dport 22 -j ACCEPT
[root@station230 ~]# iptables -A INPUT -p tcp --dport 21 -j ACCEPT
[root@station230 ~]# iptables -A INPUT -j REJECT
[root@station230 ~]# service iptables save
将当前规则保存到 /etc/sysconfig/iptables: [确定]
[root@station230 ~]# chkconfig iptables on
[root@station230 ~]# iptables -vnL INPUT
[root@station230 ~]# vim /etc/sysconfig/iptables-config
IPTABLES_MODULES="ip_conntrack_ftp"
[root@station230 ~]# service iptables restart
=======================================================
小知识:
常见协议的端口 /etc/services
[root@station230 ~]# grep ^http /etc/services
服务 协议 端口/传输协议
ssh ssh 22/tcp
http http 80/tcp
https 443/tcp
dns domain 53/udp,53/tcp
mail smtp 25/tcp 发信协议
smtps 465/tcp # SMTP over SSL (TLS)
pop3 110/tcp 收信协议
pop3s 995/tcp
imap 143/tcp
imaps 993/tcp
dhcp bootps 67/udp # BOOTP server
nfs nfs 2049/tcp
samba 137,138,139/tcp
445/tcp
ftp ftp 21/tcp
ftp-data 20/tcp
ntp ntp 123/udp
syslog syslog 514/udp
=======================================================================
真实iptables实例 :
一些常见允许外网访问的服务:
网站 http 80/tcp; https 443/tcp;
邮件 mail smtp 25/tcp 发信协议
smtps 465/tcp # SMTP over SSL (TLS)
pop3 110/tcp 收信协议
pop3s 995/tcp
imap 143/tcp
远程管理: ssh 22/tcp
一些常见不允许外网访问的服务:
文件服务器:
NFS
SAMBA
FTP
[root@station230 ~]# iptables -A INPUT -i lo -j ACCEPT
[root@station230 ~]# iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
[root@station230 ~]# iptables -A INPUT -s 192.168.2.0/24 -j ACCEPT
[root@station230 ~]# iptables -A INPUT -p tcp --dport 80 -j ACCEPT
[root@station230 ~]# iptables -A INPUT -p tcp --dport 22 -j ACCEPT
[root@station230 ~]# iptables -A INPUT -p tcp --dport 25 -j ACCEPT
[root@station230 ~]# iptables -A INPUT -p tcp --dport 110 -j ACCEPT
[root@station230 ~]# iptables -A INPUT -j REJECT
外网 =====> VPN =====> 内网FTP,SAMBA,NFS
========================================================================