APF防火墙的安装和使用

APF(Advanced Policy Firewall)是 Rf-x Networks 出品的Linux环境下的软件防火墙,被大部分Linux服务器管理员所采用,使用iptables的规则,易于理解及使用。

下载,安装apf

root@linux:/home/zhangy# wget http://www.rfxnetworks.com/downloads/apf-current.tar.gz

root@linux:/home/zhangy# tar -xvzf apf-current.tar.gz

root@linux:/home/zhangy# cd apf-9.7-1

root@linux:/home/zhangy/apf-9.7-1# ./install.sh

安装成功的提示信息如下:

root@linux:/home/zhangy/apf-9.7-1# ./install.sh

Installing APF 9.7-1: Completed.

Installation Details:

Install path: /etc/apf/

Config path: /etc/apf/conf.apf

Executable path: /usr/local/sbin/apf

Other Details:

Listening TCP ports: 22,25,111,3306,53976

Listening UDP ports: 111,917,936,5353,49640,54744

Note: These ports are not auto-configured; they are simply presented for information purposes. You must manually configure all port options.

配置apf

vim /etc/apf/conf.apf

IG_TCP_CPORTS="21,22,80,443,3306,8080" //设置服务器允许被访问的TCP端口IG_UDP_CPORTS="53" //设置服务器允许被访问的UDP端口EG_TCP_CPORTS="21,25,80,443,43,2089" //设置服务器允许对外访问的TCP端口EG_UDP_CPORTS="20,21,53" //设置服务器允许对外访问的UDP端口

DEVEL_MODE="1" 改为 DEVEL_MODE="0"

DLIST_SPAMHAUS="0" 改为 DLIST_SPAMHAUS="1"

DLIST_DSHIELD="0" 改为 DLIST_DSHIELD="1"

配置过程中要注意以下几点:

1,根据不同的服务器开放不同的端口,web服务器根mysql服务器开放的端口肯定不一样。

2,DEVEL_MODE=”1″表示在调试模式下,每五分钟重调配置,这样能避免因为错误的配置而使服务器崩溃。

3,设置只通许192.168.1.139远程连接22端口

// 在/etc/apf/allow_hosts.rules添加如下信息:tcp:in:d=22:s=192.168.1.139

out:d=22:d=192.168.1.139

// 在/etc/apf/deny_hosts.rules添加如下信息:

tcp:in:d=22:s=0/0

out:d=22:d=0/0

开始的时候,我以为只要在allow_hosts.rules里面加就行了,改过一后,我换了一个IP,已然可以连接,搞得我很无语。后在deny_hosts.rules加上了上面的规则后,在连接时就提示超时了。allow_hosts.rules和deny_hosts.rules里面都加了规则后,重起apf会提示配置成功的信息,偶然发现的。

apf(12234): {trust} allow outbound 192.168.1.139 to port 22

apf(12234): {trust} allow inbound tcp 192.168.1.139 to port 22

apf的常用命令

apf -s // 启动APF防火墙

apf -r // 重启APF防火墙

apf -f // 刷新APF防火墙配置文件

apf -l // 列出APF的过虑规则

apf -t // APF的日志信息

apf -e // 将域名解释加入信认规则

apf -a // 将IP/IP段添加到白名单

apf -d // 将IP/IP段添加到黑名单

apf -u // 将IP/IP段从白/黑名单中删除

apf -o // 将IP/IP段从白/黑名单中删除

常用端口列表

21/tcp //ftp

22/tcp //ssh

25/tcp //smtp

53/udp //dns

80/tcp //http

110/tcp //pop

3143/tcp //imap

443/tcp //https

993/tcp //imaps

995/tcp //pop3

3306/tcp //mysql

5432/tcp //postgresql

原创文章,作者:晴川运维,如若转载,请注明出处:https://baike.qcidc.com/7779.html

(0)
晴川运维晴川运维
上一篇 2025年6月10日
下一篇 2025年6月10日

相关推荐

  • Linux Tee 命令使用实例

    Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。在执行Linux命令时,我们既想把输出保存到文件中,又想在屏幕上看到输出内容,那么可以用到tee…

    Linux系统 2025年6月8日
  • Linux下crontab使用方法

    Linux crontab是用来定期执行程序的命令,当安装完成操作系统之后,默认便会启动此任务调度命令,crond 命令每分锺会定期检查是否有要执行的工作,如果有要执行的工作便会自…

    Linux系统 2025年6月8日
  • Linux下XWiki的安装和使用

    XWiki是一个由Java编写的基于LGPL协议发布的开源wiki和应用平台,是一个具有强大的扩展功能(如在页面嵌入脚本),集成插件以及高度模块化架构的专业wiki系统,下面为大家…

    Linux系统 2025年6月8日
  • Linux下使用Linfo显示服务器运行状况

    Linfo 是一个自由开源的跨平台的服务器统计 UI 或库,它可以显示大量的系统信息。Linfo 是可扩展的,通过 composer,很容易使用 PHP5 库以程序化方式获取来自 …

    Linux系统 2025年6月8日
  • 分享一下git使用小技巧

    Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放…

    Linux系统 1天前
  • 讲解一下ES6 async关键字的使用方法

    async 作为一个关键字放到函数前面,用于表示函数是一个异步函数,因为async就是异步的意思, 异步函数也就意味着该函数的执行不会阻塞后面代码的执行。 async 语法 asy…

    Linux系统 2025年6月12日
  • Linux中安装 supervisor 具体步骤

    Supervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启,下面为大家分享一下在Linux…

    Linux系统 2025年6月9日
  • Linux下查看文件内容具体方法

    Linux下查看文件内容有多种方法,可以使用:cat、tac、nl、more等命令,下面详细的讲解一下各个命令的具体使用方法。 cat 由第一行开始显示文件内容 语法: cat&n…

    Linux系统 2025年6月8日
  • Shell test命令(Shell [])详解,附带所有选项及说明

    test 是 Shell 内置命令,用来检测某个条件是否成立。test 通常和 if 语句一起使用,并且大部分 if 语句都依赖 test。 test 命令有很多选项,可以进行数值…

    Linux系统 2025年6月8日
  • Shell脚本习题:MySQL分库分表备份

    脚本详细内容 [root@db02 scripts]# cat /server/scripts/Store_backup.sh  &nbsp…

    Linux系统 2025年6月8日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注