អាយធីខ្មែរស៊ែរ : itkhmershare.blogspot.com

រៀបរាប់សង្ខេបពីវិធី Configuration Iptables ធ្វើជា Firewall សំរាប់ CentOS / Redhat

Thursday, January 3, 20130 comments

រៀបរាប់សង្ខេបពីវិធី Configuration Iptables ធ្វើជា Firewall សំរាប់ CentOS / Redhat
តើខ្ញុំអាចធ្វើការ configure firewall នៅលើ host-based ឬហៅថា Netfilter (iptables) សំរាប់ប្រព្ធ័ CentOS/RHEL / Fedora / Redhat Enterprise Linuxដោយវិធីណា ?

cropped-ages.jpg

Netfilter គឺជា firewall នៅលើ host-based សំរាប់ប្រពន្ធ័ដំណើរការ Linux ។ វារួមមានគ្រប់ជំនាន់របស់ Linux ហើយជាធម្មតា វាបានដំណើរការ ។​ Firewall នេះត្រូវបាន ត្រួតពិនិត្យ ដោយកម្មវិធីមួយ ឈ្មោះថា Iptables ។ ចំពោះ Netfilter filtering បានធ្វើការជំនួសកន្លែង ជាមួយ kernel level មុនពេល ដែលកម្មវិធី ដំណើរការ ជាមួយ data ពី network packet

Iptables Config File
ជាធម្មតា files config សំរាប់ RHEL / CentOS / FedoraLinux មាន ៖
/etc/sysconfig/iptables - គឺជា system scripts ដែលអាចធ្វើការ activate firewall ដោយ reading ពី files ទាំងនេះ ។

ធ្វើការបង្ហាញពីច្បាប់ (Rules)
ប្រើប្រាស់ command ដូចតទៅនេះ ៖
លទ្ធផលជាឧទាហរណ៍ ៖

បើកដំណើរការFirewall
ប្រើប្រាស់command ពីរដូចខាងក្រោមនេះ ដើម្បី turn on firewall


ស្វែងយល់ពី firewall
វាមាន ៤ ចំណង (chains) គឺ ៖
១. INPUT - ជាចំណងដំបូង ដែលប្រើសំរាប់ធ្វើជា អាសយ័ដ្ឋានកញ្ចប់ របស់ system ។ ប្រើចំណងនេះ ដើម្បីបើកឬក៍បិទ incoming ports ដូចជា 80, 25, និង 110 ជាដើម និង ip addresses / subnet ដូចជា 202.54.1.20/29
២. OUTPUT - ក៍ជាចំណងដំបូងដែរ ដែលប្រើ នូវពេល packets បានកើតចេញពី system ។ ប្រើចំណងនេះ ដើម្បីបើកឬបិទ ចំពោះ outgoing ports និង ip addresses / subnets
៣. FORWARD - វាក៍ជាចំណងដំបូងដែរ ដែលប្រើនូវពេល packets ត្រូវបានបញ្ជូនឆ្លងកាត់ពី interface ផ្សេងទៀត ។ ជាធម្មតាពេល អ្នក setup linux ធ្វើជា router មួយ ។ ជាឧទាហរណ៍ eth0 ធ្វើការភ្ជាប់ទៅកាន់ ADSL/Cable modem និង eth1 ធ្វើការភ្ជាប់ទៅកាន់ local LAN ។ ប្រើ FORWARD ដើម្បីធ្វើការ send និង receive traffic ពី LAN ទៅកាន់ internet
៤. RH-Firewall-1-INPUT - នេះគឺជាច្បាប់ដែលអ្នកប្រើប្រាស់បានកំណត់ ។​ វាប្រើជាមួយចំណង INPUT , OUTPUT និង FORWARD
Packet ត្រូវដូចគ្នានិង rules
១. រាល់ packet start ជាមួយ rule ដំបង នៅក្នុងចំណង (chain)
២. Packet មួយអាចដំណើរការបាន ទាល់តែវាដូចគ្នានៅក្នុងច្បាប់នោះ ។
៣. បើសិន ជាវាបានរកឃើញដូចគ្នា នោះការត្រួតពិនិត្យ វានិង មានលក្ខណៈពិសេសដូចជា REJECT, ACCEPT, និង DROP
អត្ថន័យនៃពាក្យ REJECT, ACCEPT, និង DROP
១. ពាក្យ ACCEPT មានន័យថា អនុញ្ញាតអោយ packet ដំណើរការ ។
២. ពាក្យ REJECT មានន័យថា ទប់ស្កាត់ packet និង បញ្ជូន error massage ទៅកាន់ remote host
៣. ពាក្យ DROP មានន័យថា ទប់ស្កាត់ packet និង មិនបញ្ជូន error massage ទៅកាន់ remote host ឬក៍ sending host
/etc/sysconfig/iptables
ធ្វើការ edit file /etc/sysconfig/iptables និងប្រើ enter
អ្នកនិងទទួលបានលទ្ធផលដូខាងក្រោមនេះ ៖


ទប់ស្កាត់រាល់ Traffic ទាំងអស់
ស្វែងរកបន្ទាត់ ៖


ធ្វើការផ្លាស់ប្ដូរនួវច្បាប់ពី ACCEPT ទៅកាន់ DROP សំរាប់ INPUT និង FORWARD នៅក្នុងចំណង ៖


Log និងdrop Spoofing Source Addresses

បន្ថែមបន្ទាត់ទាំងអស់នេះ មុនពេល បន្ទាត់ចុងក្រោយ COMMIT


Log និង Drop រាល់ Traffic

ស្វែងរកបន្ទាត់ ៖


ធ្វើការបន្ថែមដូចខាងក្រោមនេះ ៖

បើក portដើម្បីបើក port 80 (Http server) គឺត្រូវបន្ថែមមុនបន្ទាត់ COMMIT
ដើម្បីបើក port 53 (DNS server) គឺត្រូវបន្ថែមមុនបន្ទាត់ COMMIT


ដើម្បីបើក port 443 (Https server) គឺត្រូវបន្ថែមមុនបន្ទាត់ COMMIT
ដើម្បីបើក port 25 (smtp server) គឺត្រូវបន្ថែមមុនបន្ទាត់ COMMIT
អ​នុញ្ញាតត្រឹមតែ SSH traffic ពី 192.168.0.1/24
Enable Printing Access សំរាប់ 192.168.1.0/24


ផ្ដល់សិទ្ធិ អោយ NTP client access ទៅកាន់ Server
បើក FTP port 21 (ftp)
ធ្វើការរក្សាទុកនិងបិទ file រួចហើយធ្វើការ edit /etc/sysconfig/iptables-config និងប្រើ enter
ត្រួតពិនិត្យ ftp module គឺ Load ជាមួយ space-separated list នៃ modules
ដើម្បី restart firewall ប្រើ command ដូចតទៅនេះ ៖

ធ្វើការ edit /etc/sysctl.conf សំរាប់ DoS និង Synprotection
Edit /etc/sysctl.conf ដើម្បីការពាររាល់ពេល update

ជំរើសនៃការ configuration
អ្នកអាច skip /etc/sysconfig/iptables ដោយមិនប្រើ និងបង្កើត shell script ដូចតទៅនេះ ៖

Share this article :

Post a Comment