[Linux] iptables 防火牆筆記 @ Ubuntu 12.04

回覆文章
tony
文章: 585
註冊時間: 2012-02-26, 07:04
聯繫:

[Linux] iptables 防火牆筆記 @ Ubuntu 12.04

未閱讀文章 tony »

很久沒碰機器了,自從大學畢業後,就打定不佔用學術資源,所以就沒擺任何機器來使用(但用別人管的機器XD),隨著經濟能力的好轉,上次被同事勸敗 Linode 512 後,開始進入管自己的機器啦,首先就是要設定防火牆,這東西以前修課有印象,記得那時是 FreeBSD 4 跟 ipfw ,只是差不多都忘光了 XD

首先 Linode 的 Ubuntu 12.04 server 預設有裝 iptables ,所以就用 iptables 了,網路上資源還不少,這次就試著用安全性較高的防火牆規則,那就是預設從外頭來進來連線都是不給過的。痛過之後,就可以慢慢加東西了 XD

$ iptables [-P 策略(INPUT,OUTPUT,FORWARD)][-t 表格(filter,nat,mangle,raw,security)] [-A 新增規則(end)] [-I 新增規則(begin)] [-I 網路卡(in)] [-O 網路卡(out)] [-s 封包IP來源] [-d 封包IP目的地] [-p 通訊協定(tcp,udp,icmp,all)] [-sport 來源阜] [-dport 輸出阜] [-j 動作(Accept,Drop)]

查看目前的設定:

$ sudo iptables -L



$ sudo iptables-save

簡易 Script:

#!/bin/sh

# BIN
BIN_IPTABLES=`which iptables`

# reset rules
$BIN_IPTABLES -F
$BIN_IPTABLES -X
$BIN_IPTABLES -Z

# init policies
$BIN_IPTABLES -P INPUT DROP
$BIN_IPTABLES -P OUTPUT ACCEPT
$BIN_IPTABLES -P FORWARD ACCEPT

# setup connection state
$BIN_IPTABLES -A INPUT -i lo -j ACCEPT
$BIN_IPTABLES -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

# service port
$BIN_IPTABLES -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT
$BIN_IPTABLES -A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT

設定開機啟動:

$ mkdir ~/conf/
$ vim ~/conf/firewall.sh
$ sudo ln -s ~/conf/firewall.sh /etc/init.d/firewall.sh
$ sudo chmod 755 /etc/init.d/firewall.sh
$ sudo update-rc.d -f firewall.sh defaults
回覆文章

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客