歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux服務器

利用Linux打造安全的管理型網關

我們首先安裝網關的系統,網上我們有三塊網卡:第一塊網卡為eth0,IP地址為212.1.1.1的公網地址。第二塊網卡為eth1,IP地址為192.168.1.1。

    在這裡我們選用redhat的一個Linux發行版本CentOS。安裝完成後,系統自帶了一套完善的防火牆系統iptables。首先我們在建立一個firewall,並賦於它執行的權限。

    #touch /etc/rc.d/firewall

    #chmod u+x /etc/rc.d/firewall

    首先,為了使客戶機可以正常上網,我們先在這個文件內寫入:

    #!/bin/sh

    echo 1 > /proc/sys/net/ipv4/ip_forward

    在使用之前需要先對iptables的規則進行清除

    iptables -F

    iptables -t nat -F

    iptables -X

    iptables -t nat -X

    iptables -F -t mangle

    iptables -t mangle –X

    為了有效的防止Spoofing Attack,可以繼續添加下面的語句

    if [ -e /proc/sys/net/ipv4/tcp_ecn ]

    then

    echo 0 > /proc/sys/net/ipv4/tcp_ecn

    fi

    接下來,我們要預制iptables的三個內置鏈

    iptables -P OUTPUT ACCEPT

    iptables -P FORWARD ACCEPT

    iptables -A INPUT -i lo -j ACCEPT

    iptables -A INPUT -i eth0 -j ACCEPT

    PORT="80,21,110,23"

    iptables -A INPUT -p tcp -m multiport --dports $PORT -m state --state NEW -j ACCEPT

    iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

    iptables -A INPUT -j MIRROR

    iptables -P INPUT  DROP

    前期的准備工作已經做好,我們將要進行網管管理功能的相應規則。

    #禁用了192.168.1.1/24這個段內的主機禁止使用了p2p協議的軟件,泛指BT下載類。

    iptables -A FORWARD -m iprange --src-range 192.168.1.1-192.168.1.254 -m ipp2p --ipp2p -j DROP

    #屏蔽訪問指定的網站

    iptables -A FORWARD -m domain --name "www.test.com" -j DROP

    #禁止上班時間使用QQ

    iptables -A FORWARD -m layer7 --l7proto qq -m time --timestart 8:00 --timestop 12:00 --days Mon,Tue,Wed,Thu,Fri  -j DROP

    iptables -A FORWARD -m layer7 --l7proto qq -m time --timestart 13:00 --timestop 17:30 --days Mon,Tue,Wed,Thu,Fri -j DROP

    特別說明一下,使用layer7這個模塊,可以禁止現在市面上大部分的IM工具。

    #發現某個客戶機在局域網內搗亂,可以使用下面的規則

    iptables -I FORWARD -m mac --mac-source 00:11:FF:FF:FF:FF -j DROP

    其中00:11:FF:FF:FF:FF是該客戶機的MAC地址。

    #將內網內的WEB服務器映射至公網

    iptables -t nat -A PREROUTING -p tcp –d 212.1.1.1 --dport 80 -j DNAT --to 192.168.1.10:80

    按照上述方法,我們就不難把mail、FTP等內網服務映射至公網

    再者我們配合TC,來實現每台客戶機的限速

    tc qdisc del dev eth0 root 2>/dev/null

    tc qdisc add dev eth0 root handle 2: htb

    tc class add dev eth0 parent 2: classid 2:1 htb rate 1024kbit

    i=1;

    while [ $i -lt 254 ]

    do

    tc class add dev eth0 parent 2:1 classid 2:2$i htb rate 1024kbit ceil 1024kbit burst 15k

    tc qdisc add dev eth0 parent 2:2$i handle 2$i: sfq

    tc filter add dev eth0 parent 2:0 protocol ip prio 4 u32 match ip dst 192.168.1.$i flowid 2:2$i

    i=`expr $i + 1`

    done

    從上面的腳本來看,如果客戶機的速度超過了1024kbit,那麼就會以15kbit的速度進行下調。

    為了防止局域網內的IP地址盜用問題,我們可以編輯/etc/ethers文件以下面這種格式

    IP-addr MAC-addr

    編寫完了之後,執行arp –f 這樣的話,如果IP地址與MAC地址不匹配的話,客戶機就無法上網了,這樣也可以有效的防止ARP病毒的攻擊。

    這樣,一台相對安全的服務器就已經設定完成了。當然,安全是一個整體,不要改過任何一個細節,因為它都有可能是一個安全隱患

Copyright © Linux教程網 All Rights Reserved