Linux 防火墙管理

一些服务器设备必须暴露公网IP,很容易遭到攻击。配置硬件或软件防火墙,只开放可以访问的端口,拒绝其他不合法的IP的请求,包括端口扫描。甚至拒绝ping。将大大提升服务器的安全。

基本概念

典型的防火墙设置有两个网卡:一个流入,一个流出。iptables读取流入和流出数据包的报头,将它们与规则集(Ruleset)相比较,将可接受的数据包从一个网卡转发至另一个网卡,对被拒绝的数据包,可以丢弃或按照所定义的方式来处理。
通过向防火墙提供有关对来自某个源地址、到某个目的地或具有特定协议类型的信息包要做些什么的指令,规则控制信息包的过滤。通过使用iptables系统提供的特殊命令iptables建立这些规则,并将其添加到内核空间特定信息包过滤表内的链中。关于添加、去除、编辑规则的命令,一般语法如下:
iptables [-t table] command [match] [target]

基本配置方案

1、最便捷最救急的方案
修改 /etc/sysconfig/iptables获得最基本的防火墙配置。把/etc/sysconfig/iptables修改为如下:

*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 23 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

意思是先拒绝所有INPUT和FORWARD,即输入和跳转,放开所有的OUTPUT,即往外发送数据时不做任何拦截,然后放开22、80、21、23端口。如果还需要对外开放数据库的访问,就把数据库的端口打开。

2、高级的个性化配置方案
利用iptables进行配置… 待续…

防火墙服务管理

关闭和启动防火墙服务:
1) 永久性生效,Linux系统重启后不会复原
开启: chkconfig iptables on
关闭: chkconfig iptables off
2) 即时生效,Linux系统重启后复原
开启: service iptables start
关闭: service iptables stop
3)查看当前防火墙的状态:
service iptables status
或者
iptables -L
4)保存配置让规则随系统启动
service iptables save
使用iptables修改防火墙配置如果没有保存,则在下次服务器重启的时候会丢失,所以需要这个命令保存。
5)配置文件
/etc/sysconfig/iptables
默认如下:

# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

修改SHH端口号

rpm -qa|grep ssh   // 确认ssh有被安装
cd /etc/ssh
vi sshd_config
进入vi后键入:/Port 进行查找,查找到之后把光标移到这一行,键入 yy,然后Shift+p进行复制,出现如下两行,把其中一行的#号去掉,然后修改新端口号。
#Port 22
#Port 22
譬如修改为22123,设置好之后如下图,wq保存退出。
/etc/init.d/sshd restart  //  重启ssh
!注意自己的防火墙配置,端口变更后,防火墙也得变更。
最后自己的ssh客户端就可以试试新端口的连接了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值