防火墙
防火墙分类
- 软件防火墙和硬件防火墙
包过滤防火墙和应用层防火墙
centOS 6默认的防火墙是iptables
centOS 7默认的防火墙是firewallD(底层使用netfilter)
规则表, 代表着功能
filter nat mangle raw
- 规则链
INPUT OUTPUT FORWARD
PREROUTING POSTROUTING
iptables的filter表
iptables -t filter 命令 规则链 规则
命令
-L
-A 在已有的规则后面添加规则 -I 在规则的最头部添加规则
注意: 相同ip的多个规则是最靠前的生效
-D -F -P
-N 添加自定义规则链 -X 删除自定义规则链 -E 重命名自定义规则链
示例:
iptables -t filter -vnL 显示filter表的规则, n表示不做域名转换, v表示显示详细信息
iptables -t nat -vnL 显示nat表的规则
iptables -t filter -A INPUT -s 10.0.0.1 -j ACCEPT 添加一个可访问的ip, -t filer可省略
iptables -A INPUT -s 10.0.0.2 -j DROP 添加一个不可访问的ip
lang=c man iptables 显示英文的帮助, lang=c表示当前这个命令使用英文字符
iptables -F 清除人为添加的所有的规则(默认规则不能更改)
iptables -D INPUT -s 10.0.0.2 -j DROP 表示删除这条规则
iptables -P INPUT DROP 更改INPUT的默认规则链为DROP
示例: 红框表示INPUT过滤链的默认规则是允许
一般配置ip规则有两种方式:
默认全部允许, 配置阻止
默认全部阻止, 配置允许
通常规则设置示例:
//
添加一个可访问的ip, 指定了ech0网卡, tcp的连接方式, 80的端口
iptables -t filter -A INPUT -i ech0 -s 10.0.0.2 -p tcp --aport 80 -j ACCEPT
拒绝其余所有的ip访问
iptables -t filter -A INPUT -j
iptables的nat表
iptables -t nat 命令 规则链 规则
PREROUTING 目的地址转换
POSTROUTING 源地址转换
太复杂了略
firewalld
systemctl start|status|stop|enable|disable firewalld.service
iptables与firewalld同时运行时会冲突
因此需要停掉iptables, service iptables stop
再启动firewalld, systemctl start firewalld.service
firewall-cmd --state 显示firewall.service的运行状态
firewall-cmd --list-all 显示所有配置
firewall-cmd --add-service=https 添加一个可访问的服务给sourcesa限制的ip
firewall-cmd --add-port=81/tcp --permanent 添加个端口, permanent表示永久生效, 不然重启后就不生效了
firewall-cmd --reload 永久添加后需要重新加载, 才能看到
firewall-cmd --remove-source=10.0.0.1 移除一个ip
如下图表示:
- ech0网卡允许访问的ip有10.0.0.1
- 这个ip可以访问ssh服务, ssh服务默认22端口; 还有个xxx服务
- 这个ip可以访问80, 23端口
SSH
ssh称为安全的shell终端
ssh服务配置文件 cd /etc/ssh/
主要的服务端配置文件sshd_config, 客户端配置文件是ssh_config
- 默认端口22
- PermitRootLogin yes
- AuthorizedKeysFile .ssh/authorized_keys
ssh连接
密码方式
ssh [-p 端口] 用户@远程ip
秘钥方式
ssh-keygen -t rsa 生成秘钥对
ssh-copy-id 拷贝公钥
FTP协议
FTP协议是文件传输协议