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终端和Shell提示符进行美化

    本篇文章重点为大家讲解一下对Linux终端和Shell提示符进行美化具体方法,有需要的小伙伴可以参考一下。 在Bash中,可以添加表情符号、更改颜色、添加字体样式,以及在每次绘制提…

    Linux系统 2025年10月23日
  • Linux LVM逻辑卷管理机制(硬盘分区管理机制)

    我们在实际使用 linux 服务器的时候,总会有一个让人头疼的问题,随着业务的增加,文件系统负载会越来越大,当到了空间不足的情况时,如果我们还在使用传统的分区方式管理硬盘,就不得不…

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

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

    Linux系统 2025年6月9日
  • Linux下部署VPS

    VPS技术,将一台服务器分割成多个虚拟专享服务器的优质服务。实现VPS的技术分为容器技术,和虚拟化技术 。在容器或虚拟机中,每个VPS都可选配独立公网IP地址、独立操作系统、实现不…

    Linux系统 2025年6月13日
  • 如何使用 Ansible 安装软件

    使用 Ansible 剧本自动安装和更新设备上的软件。 Ansible 是系统管理员和开发人员用来保持计算机系统处于最佳状态的一种流行的自动化工具。与可扩展框架一样,Ansible…

    Linux系统 2025年6月8日
  • 详解Mariadb聚合函数及分组查询

    MariaDB Server 是最流行的开源关系型数据库之一。它由 MySQL 的原始开发者制作,并保证保持开源。它是大多数云产品的一部分,也是大多数Linux发行版的默认配置。M…

    Linux系统 2025年6月8日
  • Nginx的主要应用场景

    本文只针对Nginx在不加载第三方模块的情况能处理哪些事情,由于第三方模块太多所以也介绍不完,当然本文本身也可能介绍的不完整,毕竟只是我个人使用过和了解到过得。所以还请见谅,同时欢…

    Linux系统 2025年10月11日
  • 服务之间调用RPC的原因是什么?

    RPC(Remote Procedure Call):远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的思想。 RPC 是一种技术思想而非一种规范…

    Linux系统 2025年7月6日
  • Linux绝对路径和相对路径详解

    在 linux 中,简单的理解一个文件的路径,指的就是该文件存放的位置,例如,在《Linux文件系统的层次结构》中提到的 /home/cat 就表示的是 cat 文件所存放的位置。…

    Linux系统 2025年7月11日
  • Linux中通过命令行卸载安装包

    严格地说,Linux是内核。Linux发行版由Linux内核、安装脚本、shell、编译器、桌面和其他组件组成。因此,卸载包或软件的Linux命令取决于Linux发行版的名称和类型…

    Linux系统 2025年6月12日

发表回复

登录后才能评论