Friday, January 6, 2012

Firewall


Linux Firewall
Firewall – Аюулгүй байдлын дүрмийн дагуу сүлжээний орчны холболтонд шүүлтүүр хийх зориулалт бүхий програм хангамж юм. Галтхана нь сүлжээ болон сервер компьютеруудыг аюулгүй байдлаар хангахад оршино.
Галтханыг дотор нь
-FILTER
-FIREWALL
-PACKETFILTER

Дарааллын төрөл
Дарааллын функц
Пакет дарааллаар дамжин гарах  Chain –үүд
Chain-ны функц
Filter
Сүлжээгээр дамжиж байгаа пакетуудыг шүүх
FORWARD
Тухайн linux системээр дамжин өнгөрч байгаа пакетыг шүүх
INPUT
Тухайн системд орж ирж байгаа пакетыг шүүх
OUTPUT
Тухайн системээс гарч байгаа пакетыг шүүх
Nat
Сүлжээгээр дамжин өнгөрч байгаа пакетын хаягийг хөрвүүлэх
PREROUTING
Тухайн системээр дамжин өнгөрч байгаа пакетыг чиглүүлэлт хийхээс өмнө хаягын хөрвүүлэлт хийх
POSTROUTING
Тухайн системээр дамжин өнгөрч байгаа пакетыг чиглүүлэлт хийсний дараа хаягын хөрвүүлэлт хийх
OUTPUT
Тухайн системээс гарч байгаа пакетын хаягыг хөрвүүлэх

Mangle

Сүлжээгээр дамжин өнгөрч байгаа пакетын TCP header-ийг өөрчлөх

PREROUTING POSTROUTING OUTPUT
INPUT
FORWARD

Пакетыг чиглүүлэлт хийхдээ TCP header-ийг өөрчлөх
Сүлжээний хандалдат зориулагдсан дүрмүүдийн жагсаалтыг chain гэнэ. Chain-үүдийн нийлбэрийг хүснэгт гэнэ. Хүснэгтүүд нийлээд iptables-ийг үүсгэнэ.

Iptables firewall-тай ажиллах
            iptables command [option] target
Commands
            -F         Хоослох (доторх бүх бичлэгүүдийг устгана)
            -A        Хамгийн сүүлд нэмнэ
            -I         Өгөгдсөн байрлалд нэмнэ
            -P         Устгана
            -L        Харуулна
            -P         Default rule. Нэг бол хориглоно нэг бол зөвшөөрнө

Нөхцлүүд – Options

-t          [table]                                      Аль хүснэгт гэдгийг нь заана. Жишээ нь -t nat
-j         [target]                                     Өгөгдсөн нөхцөлд тохирч байвал ямар үйлдэл хийхийг заана. Жишээ нь: -j ACCEPT
-p         [protocol type]                        Ямар протокол ашиглахыг нь заана. Жишээ нь: -p tcp
-s         [ip-address]                             Пакетын source хаягийг нь заана. Жишээ нь:  -s 10.0.5.0/24                    -s 10.0.5.1
-d         [ip-address]                             Пакетын destination хаягийг заана. Жишээ нь: -d 192.168.1.1
-i          [interface-name]                      Пакет орж ирэх интерфэйсийг заана. Жишээ нь: -i eth0
-o         [interface-name]                      Пакет гарах интерфэйсийг заана. Жишээ нь:  -o eth1
-p tcp --sport [port]                             Source port-ийг заана. Жишээ нь: -p tcp --sport 1345
-p tcp --dport [port]                             Destination port-ийг заана. Жишээ нь: -p tcp –dport 80
-p udp --sport [port]                            Source port-ийг заана. Жишээ нь: -p tcp --sport 1345
-p udp --dport [port]                           Destination port-ийг заана. Жишээ нь: -p tcp –dport 80


Target

            ACCEPT                                 Зөвшөөрөх
            DROP                                     Хориглох
            LOG                                        Системийн log-руу бичих
            REJECT                                  Пакет хориглогдсон тухай мэдээллийг эх руу явуулаад пакетыг хориглоно
            DNAT                                     Хүлээн авагчийн ip хаягийг хөрвүүлнэ
            SNAT                                      Эх ip хаягийг хөрвүүлнэ.
            MASQRUEDE                       Өөрийнхөө гарч байгаа интерфэйсийн хаягт хөрвүүлнэ.

Жишээ

Бүх chain дотор бүх дүрэм (мөр)-үүдийг устгах
            #iptables –F                
Nat table дэхь бүх дүрмүүдийг устгана.
            #iptables –F –t nat     
Filter хүснэгтийн INPUT chain-ийн төгсгөлд нь дараах дүрмийг нэмэх. 0/0 гэсэн эх хаягтай 192.168.1.1 гэсэн хүлээн авах хаягтай tcp протокол ашиглаж дамжигдан орж ирэх пакетыг зөвшөөрөх
            #iptables –A INPUT –s 0/0 –i eth0 –d 192.168.1.1 –p tcp –j ACCEPT
Filter хүснэгтийн INPUT chain-ийн гуравдугаар мөрөнд дараах дүрмийг нэмэх. 0/0 гэсэн эх хаягтай 192.168.1.1 гэсэн хүлээн авах хаягтай tcp протокол ашиглаж дамжигдан орж ирэх пакетыг зөвшөөрөх
            #iptables –I INPUT 3 –s 0/0 –i eth0 –d 192.168.1.1 –p tcp –j ACCEPT
Filter хүснэгтийн INPUT chain дэхь дараах нөхцөлд тохирох дүрмийг устгах. 0/0 гэсэн эх хаягтай 192.168.1.1 гэсэн хүлээн авах хаягтай tcp протокол ашиглаж дамжигдан орж ирэх пакетыг зөвшөөрөх
            #iptables –D INPUT –s 0/0 –i eth0 –d 192.168.1.1 –p tcp –j ACCEPT
Өргөтгөх нөхцлүүд

            -m multiport --sport [port, port]
            -m multiport --dport [port, port]
            -m --state [state]
            ESTABLISHED
            NEW
            RELATED
            INVALID
#iptables –A FORWARD –s 0/0 –i eth0 –d 192.168.1.58 –o eth1 –p TCP –sport 1024:65535 –m multiport –dort 80.443 –j ACCEPT
#iptables –A FORWARD –d 0/0 –o eth0 –s 192.168.1.58 –i eth1 –p TCP –m state 1024:65535

No comments:

Post a Comment