Linux下安装与配置APF防火墙

APF是一款Linux下的iptables防火墙,由R-fx Networks开发维护,实现代码基本为SHELL。个人觉得这是Linux下最易用,且强大的防火墙脚本。类似级别的还有Bastille,FireHol,Kill my firewall等。但我还是喜欢APF。

一,下载,安装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/12810.html

(0)
晴川运维晴川运维
上一篇 2025年9月19日
下一篇 2025年9月19日

相关推荐

  • Linux 系统中如何输入emoji

    emoji 是在 Unicode 字符空间里的有趣表情图,它们已经风靡于整个互联网。emoji 可以用来在社交媒体上表示自己的心情状态,也可以作为重要文件名的视觉标签,总之它们的各…

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

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

    Linux系统 2025年6月8日
  • 简单介绍一下graphql

    graphql 是一种用于 API 的查询语言,对你的 API 中的数据提供了一套易于理解的完整描述,使得客户端能够准确地获得它需要的数据,减少数据的冗余。 对比 Rest API…

    Linux系统 2025年6月8日
  • FreeBSD虚拟机安装VMware Tools

    FreeBSD Jails是FreeBSD平台上的一种基于容器的虚拟化技术,是对Unix传统的chroot机制的一种扩展,本篇文章重点为大家讲解一下FreeBSD虚拟机安装VMwa…

    Linux系统 2025年10月22日
  • 开源日志库Logger进阶使用方法

    日志对于开发来说是非常重要的,不管是调试数据查看、bug问题追踪定位、数据信息收集统计,日常工作运行维护等等,都大量的使用到。今天介绍著名开源日志库Logger的使用,库的地址:h…

    Linux系统 2025年6月15日
  • APF防火墙的安装和使用

    APF(Advanced Policy Firewall)是 Rf-x Networks 出品的Linux环境下的软件防火墙,被大部分Linux服务器管理员所采用,使用iptabl…

    Linux系统 2025年6月10日
  • 通过Go语言制作二维码

    本篇文章重点为大家讲解一下使用Go语言制作二维码具体方法,有需要的小伙伴可以参考一下。 Go语言生成二维码图片 使用Go语言编程时,生成任意内容的二维码是非常方便的,因为我们有go…

    Linux系统 2025年10月24日
  • 细说Vim的高级使用方法

    Vim 是从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。和Emacs并列成为类Unix系统用户最喜欢的编辑器,本篇文章…

    Linux系统 2025年10月6日
  • Linux终端中使用Nmcli命令连接WiFi具体方法

    nmcli命令是redhat7或者centos7之后的命令,该命令可以完成网卡上所有的配置工作,并且可以写入配置文件,永久生效,本篇文章重点为大家讲解一下在Linux终端中使用Nm…

    Linux系统 2025年6月13日
  • 通过https访问www服务

    Web服务器在默认情况下使用HTTP,这是一个纯文本的协议。正如其名称所暗示的,纯文本协议不会对传输中的数据进行任何形式的加密。而基于HTTP的Web服务器是非常容易配置,它在安全…

    Linux系统 2025年10月23日

发表回复

登录后才能评论