BASH หรือ Bourne Again Shell เป็นเชลล์ในระบบปฏิบัติการยูนิกซ์ (UNIX) เป็นที่นิยมใช้อย่างมากใน
ระบบปฏิบัติการลินุกซ์หลากหลายค่ายอีกด้วย ซึ่งในระบบปฏิบัติการลินุกซ์เองยังไม่โปรแกรมจำนวนมากที่อาศัย Bash รันอยู่เบื้องหลัง ใ ห้บริการเชลล์ผ่านการเข้าถึงจากระยะไกล (เช่น ssh แ ละ telnet เป็นต้น) ให้บริการ parser สำหรับสคริปส์ CGI (Apache ห รื อ อื่ นๆ ) หรือแม้กระทั่งการสนับสนุนการเอ็กซิคิวต์คำสั่งอย่างจำกัด (เช่น git หรือ อื่นๆ) จากรายงานช่องโหว่ CVE-2014-6271 หรือ Shellshock ซึ่งเป็นช่องโหว่ของเชลล์ BASH (โปรแกรมในการรันคำสั่งบนระบบปฏิบัติการลินุกซ์) ส่งผลทำให้ผู้โจมตีสามารถรันโค้ดจากระยะไกลได้ ผ่านสคริปส์ C G I ที่รันอยู่ในApache ที่ติดตั้ง mod_cgi ด้วย ดังนั้นช่องโหว่นี้จึงมีผลกระทบต่อระบบปฏิบัติการลินุกซ์หรือยูนิกซ์ที่ติดตั้งเชลล์ดังกล่าว
วิธีการตรวจสอบ
รันคำสั่ง env x='() { :;}; echo vulnerable' bash -c "echo this is a test" ถ้าหากเซิร์ฟเวอร์มีช่องโหว่
จะแสดงผลดังรูปที่ 1
แต่ถ้าหากไม่พบช่องโหว่ จะแสดงข้อความดังรูปที่ 2
วิธีการแก้ไข
1. สำหรับระบบปฏิบัติการ Ubuntu ให้ใช้คำสั่ง # apt-get install bash ดังรูปที่ 3 ซึ่งทดสอบบนระบบปฏิบัติ
การ Ubuntu 14.04.1 LTS
2. สำหรับระบบปฏิบัติการ CentOS ให้ใช้คำสั่ง # yum install bash -y ดังรูปที่ 4 ซึ่งทดสอบบนระบบปฏิบัติการ CentOS 7.0
สรุป
จากตัวอย่างจะแสดงผลการแก้ไขบนระบบปฏิบัติการ Ubuntu และ CentOS เท่านั้น อย่างไรก็ตามยังมี
ระบบปฏิบัติการลินุกซ์และยูนิกซ์ตระกูลอื่นๆ ที่ใช้ BASH ดังนั้นจำเป็นจะต้องอัพเดตเวอร์ชั่นของโปรแกรม BASH
ด้วย
วันศุกร์ที่ 3 ตุลาคม พ.ศ. 2557
วันพฤหัสบดีที่ 2 ตุลาคม พ.ศ. 2557
เข้าเว็บ ไม่ได้ ติด Forbidden You don't have permission to access
ใช้ คำสั่ง เพื่อดู
ls -laZ /var/www/html/
คำสั่งเปลี่ยน
chcon -R --reference=/var/www/html /var/www/html/Joomla
ls -laZ /var/www/html/
คำสั่งเปลี่ยน
chcon -R --reference=/var/www/html /var/www/html/Joomla
วันพุธที่ 1 ตุลาคม พ.ศ. 2557
Linux Server (CentOS) : คำสั่งตรวจสอบฮาร์ดแวร์ของเครื่อง !!!
หลังการติดตั้งลีนุกซ์เสร็จทุกครั้่ง ก่อนจะคอนฟิกแล้วนำไปใช้งาน แนะนำให้ใช้คำสั่งลีนุกซ์ ดูฮาร์ดแวร์ของเครื่อง เพื่อตรวจสอบความถูกต้องว่าเราลงถูกต้อง ครบถ้วนไหม
ในที่นี้จะแนะนำคำสั่งเพื่อตรวจสอบฮาร์ดแวร์หลัก 3 ส่วนคือ CPU, Memory และ Disk
CPU
ใช้คำสั่ง lscpu เพื่อดูข้อมูลโดยรวมของ CPU เครื่องได้
ตัวอย่างผลลัพธ์ที่ได้
[root@cent6 ~]# lscpu Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit CPU(s): 4 Thread(s) per core: 1 Core(s) per socket: 4 CPU socket(s): 1 NUMA node(s): 1 Vendor ID: GenuineIntel CPU family: 6 Model: 15 Stepping: 11 CPU MHz: 2659.626 L1d cache: 32K L1i cache: 32K L2 cache: 4096K
หรือหากต้องการดูรายละเอียดของ CPU ในแต่ละ core เลย สามารถทำได้โดยใช้คำสั่ง cat อ่านไฟล์ /proc/cpuinfo
ผลลัพธ์จะแสดงรายละเอียดขึ้นมาทั้งหมด (ในตัวอย่างนี้ตัดมาเฉพาะ 2 core แรก)
[root@cent6 ~]# cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 15 model name : Intel(R) Xeon(R) CPU X5355 @ 2.66GHz stepping : 11 cpu MHz : 2659.626 cache size : 4096 KB physical id : 0 siblings : 4 core id : 0 cpu cores : 4 apicid : 0 initial apicid : 0 fpu : yes fpu_exception : yes cpuid level : 10 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi bogomips : 5319.25 clflush size : 64 cache_alignment : 64 address sizes : 38 bits physical, 48 bits virtual power management:
processor : 1 vendor_id : GenuineIntel cpu family : 6 model : 15 model name : Intel(R) Xeon(R) CPU X5355 @ 2.66GHz stepping : 11 cpu MHz : 2659.626 cache size : 4096 KB physical id : 0 siblings : 4 core id : 1 cpu cores : 4 apicid : 1 initial apicid : 1 fpu : yes fpu_exception : yes cpuid level : 10 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi bogomips : 5320.01 clflush size : 64 cache_alignment : 64 address sizes : 38 bits physical, 48 bits virtual power management: ...
Memory
สำหรับหน่วยความจำ หากต้องการดูแค่ขนาดรวม memory ที่ลีนุกซ์เห็นและใช้งานได้ ให้ใช้คำสั่ง free แล้วดูส่วน total จะเป็นขนาดของหน่วยความจำรวมของเครื่อง ผลลัพธ์ที่แสดงโดยดีฟอลต์จะเป็นหน่วย kB (kilo bytes)
[root@cent6 ~]# free
total used free shared buffers cached
Mem: 1020756 258060 762696 0 20140 106752
-/+ buffers/cache: 131168 889588
Swap: 2097144 0 2097144
เช่น เครื่องนี้มีขนาดหน่วยความจำ (memory) 1020756 kB หรือประมาณ 1 GB
แต่หากต้องการดูรายละเอียดถึงฮาร์ดแวร์เลยว่า มี memory กี่แผง กี่สล๊อต ต้องใช้คำสั่ง dmidecode ซึ่งค่อนข้างดูยากพอสมควร และแตกต่างกันตามชนิดของฮาร์ดแวร์
แนะนำให้ดูจาก BIOS หรือพอร์ต Management (out-of-band) ของเครื่องจะง่ายกว่า แล้วใช้คำสั่ง free เพื่อดูผลรวมของ memory ที่ลีนุกซ์เห็น
Disk
ใช้คำสั่ง fdisk -l เพื่อดูดิสก์ทั้งหมดที่ต่ออยู่ ผลลัพธ์ที่ได้ จะแสดงชื่อดิสก์ที่ลีนุกซ์ใช้ เช่น /dev/sda ขนาดฮาร์ดดิสก์ (500 GB) และข้อมูลการแบ่งพาร์ทิชั่น
[root@cent6 ~]# fdisk -l
Disk /dev/sda: 500 GB, 500007860016 bytes
255 heads, 63 sectors/track, 60800 cylinders
Units = cylinders of 16065 * 512 = 8225180 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Device Boot Start End Blocks Id System /dev/sda1 * 1 25 204800 83 Linux /dev/sda2 26 12773 102400000 83 Linux /dev/sda3 12774 14804 16380000 82 Linux swap / Solaris
หากต้องการดูรายละเอียดของฮาร์ดดิสก์ เช่นยี่ห้อ รุ่น serial number ต้องใช้คำสั่ง hdparm ออปชั่น ‘-I’ แล้วตามด้วยชื่อดิสก์ที่ต้องการดู
[root@cent6 ~]# hdparm -I /dev/sda
/dev/sda:
ATA device, with non-removable media Model Number: ST3500640A Serial Number: 123456789 Firmware Revision: 3.0
เช่นเดียวกับการตรวจสอบหน่วยความจำ (memory) ผลลัพธ์ที่ได้ อาจแตกต่างกันไป บางเครื่องหรือดิสก์บางรุ่นก็ดูไม่ได้ ขึ้นอยู่กับชนิดของฮาร์ดแวร์ เพื่อความง่ายแนะนำให้ใช้ BIOS ของเครื่องตรวจสอบรายละเอียด
credit http://www.softmelt.com
วันจันทร์ที่ 15 กันยายน พ.ศ. 2557
map driver ไม่ได้
- Disable the firewall
- Ensure that the share works on another comptuer
- Run 'secpol.msc' > Local Policies > Security Options > Network Security: LAN Manager authentication level > Send LM & NTLM - use NTLMv2 if negotiated
- Ensure that the share works on another comptuer
- Run 'secpol.msc' > Local Policies > Security Options > Network Security: LAN Manager authentication level > Send LM & NTLM - use NTLMv2 if negotiated
วันศุกร์ที่ 9 มีนาคม พ.ศ. 2555
Job Description เจ้าหน้าที่ระบบงานคอมพิวเตอร์
Job Description ขอบเขตงาน :
1. กำหนดนโยบายการใช้เทคโนโลยีสารสนเทศให้เป็นไปในแนวทางเดียวกับนโยบายการดำเนินงานขององค์กร
2. กำหนดมาตรฐานงานของระบบคอมพิวเตอร์ทั้งหมด อาทิ ฮาร์ดแวร์ ซอฟท์แวร์ และระบบเครือข่าย ฯลฯ ให้เหมาะสมกับการดำเนินงานขององค์กร
3. ควบคุมดูแลการพัฒนาแอพพลิเคชั่นและซอฟท์แวร์ ทั้งของบริษัทพัฒนาเองหรือของบุคคลภายนอกให้สามารถตอบสนองความต้องการของผู้ใช้งานของแต่ละหน่วยงาน
4. ศึกษาวิทยาการใหม่ๆ ทางเทคโนโลยีสารสนเทศ เพื่อนำมาปรับปรุงและประยุกต์ใช้กับเทคโนโลยีสารสนเทศขององค์กร
5. ให้ความรู้ทางด้านเทคโนโลยีสารสนเทศ และการใช้งานต่างๆ แก่ผู้ใช้คอมพิวเตอร์ภายองค์กร
6. วางแผนการใช้คอมพิวเตอร์และอุปกรณ์ต่อพ่วงต่างๆ ให้เป็นมาตรฐานเดียวกันทั้งองค์กร
7. ดูแลจัดซื้ออุปกรณ์คอมพิวเตอร์
8. ควบคุมดูแลการแก้ไขปัญหาและบำรุงรักษาอุปกรณ์คอมพิวเตอร์ รวมทั้งให้คำแนะนำในด้านการใช้เครื่องคอมพิวเตอร์
9. ติดตามเทคโนโลยีใหม่ๆ ทางด้านฮาร์ดแวร์เพื่อนำมาประยุกต์ใช้งานในองค์กร
10. วิเคราะห์ข้อมูลเกี่ยวกับระบวนการทำงานและความต้องการพัฒนาโปรแกรมและซอฟท์แวร์ต่างๆ ของผู้ใช้งานคอมพิวเตอร์
11. ควบคุมดูแลระบบ วิเคราะห์ระบบ การพัฒนาการทดสอบและประเมินผลซอฟท์แวร์ รวมทั้งจัดเตรียมคู่มือการใช้งานเพื่อตอนสนองความต้องการของผู้ใช้งาน
12. ให้ความรู้เกี่ยวกับการใช้งานโปรแกรมหรือซอฟท์แวร์ต่างๆ แก่ผู้ใช้งาน
13. ให้คำแนะนำผู้ใช้งานทางด้านซอฟท์แวร์และฮาร์ดแวร์
14. ร่วมพิจารณาในการจัดซื้ออุปกรณ์คอมพิวเตอร์และซอฟท์แวร์มาตรฐาน
15. ดูแลระบบเครือข่ายคอมพิวเตอร์ขององค์กร อาทิ ระบบ LAN อีเมล์ อินเตอร์เน็ต อินทราเน็ต
16. ดูแลระบบบริหารระบบฐานข้อมูลขององค์กร รวมทั้งสำรองข้อมูลในฐานข้อมูลของระบบงานทั้งหมด
17. ทดสอบ และติดตั้งโปรแกรมคอมพิวเตอร์และซอฟท์แวร์ต่างๆ ให้แก่ผู้ใช้งาน
18. จัดเตรียมคู่มือการใช้งานคอมพิวเตอร์
19. อบรมการใช้งานโปรแกรมและซอฟท์แวร์ให้แก่ผู้ใช้งานคอมพิวเตอร์ รวมทั้งช่วยแก้ไขปัญหาที่เกิดขึ้นระหว่างการใช้งาน
20. เก็บรวบรวมและวิเคราะห์ความต้องการของผู้ใช้งานคอมพิวเตอร์ เพื่อนำไปใช้ในการวิเคราะห์และออกแบบระบบ
21. ทดสอบการใช้งานของโปรแกรมคอมพิวเตอร์
22. เตรียมเอกสารต่างๆ เกี่ยวกับระบบคอมพิวเตอร์ และโปรแกรมต่างๆ ที่ได้รับมอบหมาย
23. งานอื่นๆ ที่รับมอบหมาย
1. กำหนดนโยบายการใช้เทคโนโลยีสารสนเทศให้เป็นไปในแนวทางเดียวกับนโยบายการดำเนินงานขององค์กร
2. กำหนดมาตรฐานงานของระบบคอมพิวเตอร์ทั้งหมด อาทิ ฮาร์ดแวร์ ซอฟท์แวร์ และระบบเครือข่าย ฯลฯ ให้เหมาะสมกับการดำเนินงานขององค์กร
3. ควบคุมดูแลการพัฒนาแอพพลิเคชั่นและซอฟท์แวร์ ทั้งของบริษัทพัฒนาเองหรือของบุคคลภายนอกให้สามารถตอบสนองความต้องการของผู้ใช้งานของแต่ละหน่วยงาน
4. ศึกษาวิทยาการใหม่ๆ ทางเทคโนโลยีสารสนเทศ เพื่อนำมาปรับปรุงและประยุกต์ใช้กับเทคโนโลยีสารสนเทศขององค์กร
5. ให้ความรู้ทางด้านเทคโนโลยีสารสนเทศ และการใช้งานต่างๆ แก่ผู้ใช้คอมพิวเตอร์ภายองค์กร
6. วางแผนการใช้คอมพิวเตอร์และอุปกรณ์ต่อพ่วงต่างๆ ให้เป็นมาตรฐานเดียวกันทั้งองค์กร
7. ดูแลจัดซื้ออุปกรณ์คอมพิวเตอร์
8. ควบคุมดูแลการแก้ไขปัญหาและบำรุงรักษาอุปกรณ์คอมพิวเตอร์ รวมทั้งให้คำแนะนำในด้านการใช้เครื่องคอมพิวเตอร์
9. ติดตามเทคโนโลยีใหม่ๆ ทางด้านฮาร์ดแวร์เพื่อนำมาประยุกต์ใช้งานในองค์กร
10. วิเคราะห์ข้อมูลเกี่ยวกับระบวนการทำงานและความต้องการพัฒนาโปรแกรมและซอฟท์แวร์ต่างๆ ของผู้ใช้งานคอมพิวเตอร์
11. ควบคุมดูแลระบบ วิเคราะห์ระบบ การพัฒนาการทดสอบและประเมินผลซอฟท์แวร์ รวมทั้งจัดเตรียมคู่มือการใช้งานเพื่อตอนสนองความต้องการของผู้ใช้งาน
12. ให้ความรู้เกี่ยวกับการใช้งานโปรแกรมหรือซอฟท์แวร์ต่างๆ แก่ผู้ใช้งาน
13. ให้คำแนะนำผู้ใช้งานทางด้านซอฟท์แวร์และฮาร์ดแวร์
14. ร่วมพิจารณาในการจัดซื้ออุปกรณ์คอมพิวเตอร์และซอฟท์แวร์มาตรฐาน
15. ดูแลระบบเครือข่ายคอมพิวเตอร์ขององค์กร อาทิ ระบบ LAN อีเมล์ อินเตอร์เน็ต อินทราเน็ต
16. ดูแลระบบบริหารระบบฐานข้อมูลขององค์กร รวมทั้งสำรองข้อมูลในฐานข้อมูลของระบบงานทั้งหมด
17. ทดสอบ และติดตั้งโปรแกรมคอมพิวเตอร์และซอฟท์แวร์ต่างๆ ให้แก่ผู้ใช้งาน
18. จัดเตรียมคู่มือการใช้งานคอมพิวเตอร์
19. อบรมการใช้งานโปรแกรมและซอฟท์แวร์ให้แก่ผู้ใช้งานคอมพิวเตอร์ รวมทั้งช่วยแก้ไขปัญหาที่เกิดขึ้นระหว่างการใช้งาน
20. เก็บรวบรวมและวิเคราะห์ความต้องการของผู้ใช้งานคอมพิวเตอร์ เพื่อนำไปใช้ในการวิเคราะห์และออกแบบระบบ
21. ทดสอบการใช้งานของโปรแกรมคอมพิวเตอร์
22. เตรียมเอกสารต่างๆ เกี่ยวกับระบบคอมพิวเตอร์ และโปรแกรมต่างๆ ที่ได้รับมอบหมาย
23. งานอื่นๆ ที่รับมอบหมาย
IPTables Firewall พื้นฐานที่ต้องมี
IPTables Firewall พื้นฐานที่ต้องมี
posted on 26 Jan 2009 22:19 by charin IPTABLES เป็น Firewall พื้นฐานของ Linux เกือบทุก Distro และให้ประสิทธิภาพที่สูงมากในการ Filtering Traffic และ การป้องกันการ Attack ต่างๆ โดยที่จะมีตัวอย่างพอสังเขป ดังนี้
เปิดการใช้งาน IP Forward ป้องกัน Syn Flood และ อนุญาติให้มีการใช้งานแบบ Dynamic IP (ต่อเนต DSL ทั่วไป)
[root@localhost]#echo 1 > /proc/sys/net/ipv4/ip_forward
[root@localhost]#echo 1 > /proc/sys/net/ipv4/tcp_syncookies
[root@localhost]#echo 1 > /proc/sys/net/ipv4/ip_dynaddr
Drop Packet ก่อนหน้านี้ทั้งหมด
[root@localhost]#iptables -F INPUT
[root@localhost]#iptables -F FORWARD
[root@localhost]#iptables -F OUTPUT
[root@localhost]#iptables -P INPUT DROP
[root@localhost]#iptables -P FORWARD DROP
[root@localhost]#iptables -P OUTPUT ACCEPT
[root@localhost]#iptables -A INPUT -i lo -j ACCEPT
อนุญาติเฉพาะ SSH, SMTP, DNS, Web Services, SSL และ POP3 ให้ผ่านเข้าออก
[root@localhost]#iptables -A INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT
[root@localhost]#iptables -A INPUT -p tcp --dport 22 --syn -j ACCEPT
[root@localhost]#iptables -A INPUT -p tcp --dport 25 --syn -j ACCEPT
[root@localhost]#iptables -A INPUT -p tcp --dport 53 --syn -j ACCEPT
[root@localhost]#iptables -A INPUT -p udp --dport 53 --syn -j ACCEPT
[root@localhost]#iptables -A INPUT -p tcp --dport 80 --syn -j ACCEPT
[root@localhost]#iptables -A INPUT -p tcp --dport 443 --syn -j ACCEPT
[root@localhost]#iptables -A INPUT -p tcp --dport 110 --syn -j ACCEPT
ป้องกันการ scan ports
[root@localhost]#iptables -N check-flags
[root@localhost]#iptables -F check-flags
[root@localhost]#iptables -A check-flags -p tcp --tcp-flags ALL FIN,URG,PSH -m limit --limit 5/minute -j LOG --log-level alert --log-prefix "NMAP:"
[root@localhost]#iptables -A check-flags -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP
[root@localhost]#iptables -A check-flags -p tcp --tcp-flags ALL ALL -m limit --limit 5/minute -j LOG --log-level 1 --log-prefix "XMAS:"
[root@localhost]#iptables -A check-flags -p tcp --tcp-flags ALL ALL -j DROP
[root@localhost]#iptables -A check-flags -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -m limit --limit 5/minute -j LOG --log-level 1 --log-prefix "XMAS-PSH:"
[root@localhost]#iptables -A check-flags -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j DROP
[root@localhost]#iptables -A check-flags -p tcp --tcp-flags ALL NONE -m limit --limit 5/minute -j LOG --log-level 1 --log-prefix "NULL_SCAN:"
[root@localhost]#iptables -A check-flags -p tcp --tcp-flags ALL NONE -j DROP
[root@localhost]#iptables -A check-flags -p tcp --tcp-flags SYN,RST SYN,RST -m limit --limit 5/minute -j LOG --log-level 5 --log-prefix "SYN/RST:"
[root@localhost]#iptables -A check-flags -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
[root@localhost]#iptables -A check-flags -p tcp --tcp-flags SYN,FIN SYN,FIN -m limit --limit 5/minute -j LOG --log-level 5 --log-prefix "SYN/FIN:"
[root@localhost]#iptables -A check-flags -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP
ป้องกันการ flood SSH (SSH Brute Force)
[root@localhost]#iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --set
[root@localhost]#iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --update --seconds 600 --hitcount 2 -j DROP
ห้าม ping
[root@localhost]#iptables -A INPUT -p ICMP -i eth0 --icmp-type 8 -j DROP
ห้าม traceroute
[root@localhost]#iptables -A INPUT -p ICMP -i eth0 --icmp-type 11 -j DROP
Protect Syn Flood
[root@localhost]#iptables-N syn-flood
[root@localhost]#iptables -A syn-flood -i ppp0 -m limit --limit 75/s --limit-burst 100 -j RETURN
[root@localhost]#iptables -A syn-flood -j LOG --log-prefix "SYN-FLOOD: "
[root@localhost]#iptables -A syn-flood -j DROP
REDIRECT PORT 10080 to 80
[root@localhost]#iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 80 -j DNAT --to 192.168.xxx.xxx:10080
[root@localhost]#iptables -A FORWARD -p tcp -i ppp0 -d 192.168.xxx.xxx --dport 80 -j ACCEPT (192.168.xxx.xxx = ip ของเรา)
[root@localhost]#iptables -A FORWARD -p tcp -i ppp0 -d 192.168.xxx.xxx --sport 80 -j ACCEPT
Transparent Proxy
[root@localhost]#iptables -t nat -A PREROUTING -p TCP --dport 80 -j REDIRECT -to-ports 3128
ที่มา http://www.thaiadmin.org/board/index.php?topic=21468.0;imode
Tags: firewall, iptables, linux0 CommentsComment
IPTables Firewall พื้นฐานที่ต้องมี
posted on 26 Jan 2009 22:19 by charin IPTABLES เป็น Firewall พื้นฐานของ Linux เกือบทุก Distro และให้ประสิทธิภาพที่สูงมากในการ Filtering Traffic และ การป้องกันการ Attack ต่างๆ โดยที่จะมีตัวอย่างพอสังเขป ดังนี้
เปิดการใช้งาน IP Forward ป้องกัน Syn Flood และ อนุญาติให้มีการใช้งานแบบ Dynamic IP (ต่อเนต DSL ทั่วไป)
[root@localhost]#echo 1 > /proc/sys/net/ipv4/ip_forward
[root@localhost]#echo 1 > /proc/sys/net/ipv4/tcp_syncookies
[root@localhost]#echo 1 > /proc/sys/net/ipv4/ip_dynaddr
Drop Packet ก่อนหน้านี้ทั้งหมด
[root@localhost]#iptables -F INPUT
[root@localhost]#iptables -F FORWARD
[root@localhost]#iptables -F OUTPUT
[root@localhost]#iptables -P INPUT DROP
[root@localhost]#iptables -P FORWARD DROP
[root@localhost]#iptables -P OUTPUT ACCEPT
[root@localhost]#iptables -A INPUT -i lo -j ACCEPT
อนุญาติเฉพาะ SSH, SMTP, DNS, Web Services, SSL และ POP3 ให้ผ่านเข้าออก
[root@localhost]#iptables -A INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT
[root@localhost]#iptables -A INPUT -p tcp --dport 22 --syn -j ACCEPT
[root@localhost]#iptables -A INPUT -p tcp --dport 25 --syn -j ACCEPT
[root@localhost]#iptables -A INPUT -p tcp --dport 53 --syn -j ACCEPT
[root@localhost]#iptables -A INPUT -p udp --dport 53 --syn -j ACCEPT
[root@localhost]#iptables -A INPUT -p tcp --dport 80 --syn -j ACCEPT
[root@localhost]#iptables -A INPUT -p tcp --dport 443 --syn -j ACCEPT
[root@localhost]#iptables -A INPUT -p tcp --dport 110 --syn -j ACCEPT
ป้องกันการ scan ports
[root@localhost]#iptables -N check-flags
[root@localhost]#iptables -F check-flags
[root@localhost]#iptables -A check-flags -p tcp --tcp-flags ALL FIN,URG,PSH -m limit --limit 5/minute -j LOG --log-level alert --log-prefix "NMAP:"
[root@localhost]#iptables -A check-flags -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP
[root@localhost]#iptables -A check-flags -p tcp --tcp-flags ALL ALL -m limit --limit 5/minute -j LOG --log-level 1 --log-prefix "XMAS:"
[root@localhost]#iptables -A check-flags -p tcp --tcp-flags ALL ALL -j DROP
[root@localhost]#iptables -A check-flags -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -m limit --limit 5/minute -j LOG --log-level 1 --log-prefix "XMAS-PSH:"
[root@localhost]#iptables -A check-flags -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j DROP
[root@localhost]#iptables -A check-flags -p tcp --tcp-flags ALL NONE -m limit --limit 5/minute -j LOG --log-level 1 --log-prefix "NULL_SCAN:"
[root@localhost]#iptables -A check-flags -p tcp --tcp-flags ALL NONE -j DROP
[root@localhost]#iptables -A check-flags -p tcp --tcp-flags SYN,RST SYN,RST -m limit --limit 5/minute -j LOG --log-level 5 --log-prefix "SYN/RST:"
[root@localhost]#iptables -A check-flags -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
[root@localhost]#iptables -A check-flags -p tcp --tcp-flags SYN,FIN SYN,FIN -m limit --limit 5/minute -j LOG --log-level 5 --log-prefix "SYN/FIN:"
[root@localhost]#iptables -A check-flags -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP
ป้องกันการ flood SSH (SSH Brute Force)
[root@localhost]#iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --set
[root@localhost]#iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --update --seconds 600 --hitcount 2 -j DROP
ห้าม ping
[root@localhost]#iptables -A INPUT -p ICMP -i eth0 --icmp-type 8 -j DROP
ห้าม traceroute
[root@localhost]#iptables -A INPUT -p ICMP -i eth0 --icmp-type 11 -j DROP
Protect Syn Flood
[root@localhost]#iptables-N syn-flood
[root@localhost]#iptables -A syn-flood -i ppp0 -m limit --limit 75/s --limit-burst 100 -j RETURN
[root@localhost]#iptables -A syn-flood -j LOG --log-prefix "SYN-FLOOD: "
[root@localhost]#iptables -A syn-flood -j DROP
REDIRECT PORT 10080 to 80
[root@localhost]#iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 80 -j DNAT --to 192.168.xxx.xxx:10080
[root@localhost]#iptables -A FORWARD -p tcp -i ppp0 -d 192.168.xxx.xxx --dport 80 -j ACCEPT (192.168.xxx.xxx = ip ของเรา)
[root@localhost]#iptables -A FORWARD -p tcp -i ppp0 -d 192.168.xxx.xxx --sport 80 -j ACCEPT
Transparent Proxy
[root@localhost]#iptables -t nat -A PREROUTING -p TCP --dport 80 -j REDIRECT -to-ports 3128
ที่มา http://www.thaiadmin.org/board/index.php?topic=21468.0;imode
Tags: firewall, iptables, linux0 CommentsComment
สมัครสมาชิก:
บทความ (Atom)

