APF(Advanced Policy Firewall)是 Rf-x Networks 出品的Linux環境下的軟件防火牆,被大部分Linux服務器管理員所採用,使用iptables的規則,易於理解及使用。適合對iptables不是很熟悉的人使用,由於它的安裝配置比較簡單,可是功能仍是很是強大的。html
一,下載,安裝apfmysql
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
安裝成功的提示信息以下:linux
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.
二,配置apfweb
vim /etc/apf/conf.apfsql
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"
配置過程當中要注意如下幾點:vim
1,根據不一樣的服務器開放不一樣的端口,web服務器根mysql服務器開放的端口確定不同。服務器
2,DEVEL_MODE="1"表示在調試模式下,每五分鐘重調配置,這樣能避免由於錯誤的配置而使服務器崩潰。ssh
3,設置只通許192.168.1.139遠程鏈接22端口tcp
// 在/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會提示配置成功的信息,偶然發現的。post
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