linux防火牆 – apf 安裝 ,配置,使用

apf是一款比較好用的linxu防火牆,用它來設置iptables等是一個比較好的工具,線上通常免費版,不少使用這個,下面說一下他的安裝與配置mysql

wget http://www.rfxn.com/downloads/apf-current.tar.gz
tar -xvzf apf-current.tar.gz
cd apf-9.7-2/
./install.sh web

[root@iZ942k2d5ezZ apf-9.7-2]# ./install.sh
Installing APF 9.7-2: Completed. sql

Installation Details:
Install path: /etc/apf/
Config path: /etc/apf/conf.apf
Executable path: /usr/local/sbin/apf vim

Other Details:
Listening TCP ports: 22,80,100,3306,6379,27017
Listening UDP ports: 123,636
Note: These ports are not auto-configured; they are simply presented for information purposes. You must manually configure all port options.
到上面就安裝成功了服務器

啓動ssh

/etc/init.d/apf start
chkconfig apf on
二,配置apftcp

vim /etc/apf/conf.apf 通常按照下面的配置好,而後apf -f(或者apf -r) 刷新一下就好了ide

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端口post

// 在/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 //pop3
143/tcp //imap
443/tcp //https
993/tcp //imaps
995/tcp //pop3
3306/tcp //mysql
5432/tcp //postgresql

其餘:
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,根據不一樣的服務器開放不一樣的端口。

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 //pop3

143/tcp //imap

443/tcp //https

993/tcp //imaps

995/tcp //pop3

3306/tcp //mysql

5432/tcp //postgresql

相關文章
相關標籤/搜索