วันพุธที่ 24 มิถุนายน พ.ศ. 2558

iptable block facebook by mac or ip

74-EA-3A-81-05-94 เครื่อง poo

http://forum.ubuntuclub.com/index.php?topic=107.0
http://askubuntu.com/questions/270693/how-can-set-these-iptables-rules-to-run-at-startup
http://attasit.ptl.ac.th/Jml/index.php?option=com_content&view=article&id=30:-port-iptable&catid=10:2010-02-11-15-46-39&Itemid=22

การblockให้หมด เช่น เวป http และ https
ทำ2 แบบ คือ 1
1.block http หรือ port 80 ใช้ squid ดังลา่ง

acl mac_nb_joe arp 20:6a:8a:34:32:f2
acl mac_poo  arp 74:ea:3a:81:05:94

.
.
.

http_access deny mac_nb_joe
http_access deny  mac_poo
ใน # nano /etc/squid/squid.conf แล้วสั่ง /etc/init.d/squid reload
และให้ลองสั่ง ว่า คำสั่งใน squid ได้โหลดผ่านหมดไหม ใช้ service squid stop และสั่ง service squid start ถ้าไม่มี error ก็ผ่าน






2.block https ทำใน  nano /etc/init.d/firewall.sh ทำเสร้จ ให้ สั่ง sh /etc/initd./firewall.sh ดู ที่ตั้งไป # iptables -L -v


iptables -A FORWARD -m iprange --src-range 192.168.0.1-192.168.0.20 -m string --string "facebook.com" --algo bm --to 65535 -j DROP

iptables -I FORWARD -m mac --mac-source aa:bb:cc:dd:ee:ff -j DROP

iptables -A FORWARD -m mac --mac-source 20:6a:8a:34:32:f2 -m string --string "facebook.com" --algo bm --to 65535 -j DROP

================
ขอถามพี่ๆเรื่อง iptables block web และ bypass ip บางเครื่องให้เข้าได้
« on: September 23, 2013, 12:19:38 AM »
คือตอนนี้ผมทำ server block web โดย web ที่เป็น url port 80 จะ block ด้วย squid3 ก็ใช้งานได้โอเค

แต่จะติดปัญหากับการ block facebook https ซึ่ง squid3 ไม่สามารถเอาอยู่ ผมเลยมา block facebook https ผ่าน iptables แทนก็สามารถ block ได้โอเคเลยครับ แต่ติดปัญหาที่ เครื่องระดับหัวหน้าเค้าต้องการ facebook เข้าได้ผมเลยจะถามพี่ๆว่า ถ้า

จะให้บางเครื่องหรือบาง ip สามารถทะลุหรือผ่านเข้า facebook https ได้ มันสามารถทำได้ไหมครับ ถ้าทำได้ต้องใช้คำสั่งว่าอะไรบ้างครับ รบกวนๆพี่ๆช่วยด้วยนะครับ  :) :'(

ซึ่งผมลองค้นหาในเน็ตอยู่พักนึงได้มาแบบนี้ครับ ลองดูมันไม่ได้ผลครับ เข้า facebook ไม่ได้อยู่ดี

iptables -I FORWARD -s 192.168.1.0/24 --match iprange --dst-range 192.168.1.50-192.168.1.70 -p tcp -d 69.63.176.0/20 -j ACCEPT


รบกวนด้วยนะครับ

---
ตอบช้าไปไหมนิ ทำได้ครับ คุณก็ทำแบบเดิมเหมือนที่คุณ Block Https ครับ แต่ว่าอันนี้คุณ ระบุ IP ของคนที่ต้องการให้เข้า และกำหนดเป็น ACCEPT แค่นั้นครับ
** ข้อสำคัญคือ ลำดับการจัดวางมีความสำคัญมาก เช่น
1. 192.168.1.0/24 https Deny
2. 192.168.1.10 https Accept

จะต่างกับ
1. 192.168.1.10 https Accept
2. 192.168.1.0/24 https Deny

อันบนคือ 192.168.1.10 จะไม่สามารถเข้า https ได้ครับ เพราะว่าโดนบรรทัดแรก Deny ไปแล้ว ที่คุณต้องทำคือทำแบบอันล่าง
** ผิดถูกยังไงต้อง ขอ อภัย ด้วยครับ ถ้าผมผิด วานผู้รู้ช่วยแก้ด้วยครับ
--
ตามนั้นครับ จำง่ายๆ คือมันทำงานทุกคำสั่งโดยเรียงจากล่างขึ้นบน ( กรณีนี้คือปิด https ทุกคนก่อน ตามด้วยเปิด https ให้กับ 192.168.1.10)

ปล.มันจะไม่มีปัญหากับ web อื่นที่เป็น https เหรอครับ เช่น google, hotmail พวกนี้ ทำไมไม่ลองชี้ domain facebook ไปที่ ip อื่นดู โดยแก้ที่ไฟล์ /etc/hosts
======================

   ส่วนถ้าถามว่า ควร จะปิดหรือเปิด PORT อะไรบ้าง อันนี้ตอบแบบฟันธงไม่ได้ จะขึ้นอยู่กับหน่วยงานของท่านเองว่าจะต้องใช้ PORT อะไรบ้าง แต่พอร์ตที่ จำเป็นจะต้องเปิดมีดังนี้

หทายเลขพอร์ต
การเชื่อมต่อ
หน้าที่เชื่อมต่อ
53
TCP/UDP
DNS  การแปลงชื่อกับหมายเลข IP
80,8080
TCP
HTTP  การใช้ WEB
443,8443
TCP
HTTPS การใช้ WEB ความปลอดภัยสูง
20,21
TCP/UDP
FTP  บริการ FTP โอนถ่ายข้อมูล
22
TCP
SSH  บริการควบคุมระยะไกล
25,110
TCP
EMAIL   อีเมล์ Server เท่านั้น เช่นการใช้ Outlook เป็นต้น
ไม่เกี่ยวกับการเข้า email ด้วย web
1863
TCP
MSN  การแชท
554
TCP/UDP
RTSP  ระบบมัลติมีเดีย เช่น วิทยุ ทีวี ฟังเพลง  Online

สำหรับส่วนประกอบของ IPTABLES นั้นจะมีส่วนประกอบหลัก ๆ อยู่ 3 ส่วนด้วยกัน
  1. INPUT  คือส่วนของข้อมูลที่เข้ามาสู่เครืองคอมพิวเตอร์ Server
  2. OUTPUT คือส่วนของข้อมูลที่ออกจะเครื่องคอมพิวเตอร์ Server
  3. FORWARD คือส่วนที่ส่งต่อข้อมูลจะเครือข่ายภายในสู่ภายนอกนั้นเองครับ  (การบล็อกพอร์ตจะใช้ในส่วนที่เป็นหลัก สำหรับการติดต่อระหว่างเครื่องภายในและภายนอก)

สำหรับวิธีการการบล็อกพอร์ทนั้น จะมีวิธีที่นิยมอยู่  2  วิธีการคือ
1.เปิดทั้งหมดแล้ว ทำการบล็อกพอร์ทที่จะปิด
ตัวอย่าง
$IPTABLES -P FORWARD ACCEPT                                              #OPEN ALL
$IPTABLES -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
$IPTABLES -A FORWARD -p tcp --dport 1863 -j DROP                     #BLOCK MSN
$IPTABLES -A FORWARD -p udp --dport 1863 -j DROP                    #BLOCK MSN
$IPTABLES -A FORWARD -p tcp --dport 4000 -j DROP                     #BLOCK qq
$IPTABLES -A FORWARD -p tcp --dport 5050 -j DROP                     #BLOCK YAHOO CHAT
$IPTABLES -A FORWARD -p tcp --dport 2778  -j DROP                     #BLOCK  CamFrox
 
2. ปิดทั้งหมดแล้วเปิดพอร์ทที่ใช้เท่านั้น    (วิธีการนี้จะมีความปลอดภัยมากกว่าคือ ต้องการเปิดปิดไหนก็เปิดเอาเองได้เลยครับ แต่ถ้าเราเปิดไม่ครบอาจมีปัญหาได้ครับ)
ตัวอย่าง

$IPTABLES -P FORWARD DROP                                                                           #CLOSE PORT ALL$IPTABLES -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
$IPTABLES -A FORWARD -p tcp --dport 53 -j ACCEPT   #DNS
$IPTABLES -A FORWARD -p udp --dport 53 -j ACCEPT  #DNS
$IPTABLES -A FORWARD -p tcp --dport 80 -j ACCEPT  #HTTP
$IPTABLES -A FORWARD -p tcp --dport 8080 -j ACCEPT  #HTTP
$IPTABLES -A FORWARD -p tcp --dport 443 -j ACCEPT  #HTTPS
$IPTABLES -A FORWARD -p tcp --dport 8443 -j ACCEPT  #HTTPS
$IPTABLES -A FORWARD -p tcp --dport 20 -j ACCEPT  #FTP
$IPTABLES -A FORWARD -p udp --dport 20 -j ACCEPT  #FTP
$IPTABLES -A FORWARD -p tcp --dport 21 -j ACCEPT  #FTP
$IPTABLES -A FORWARD -p udp --dport 21 -j ACCEPT  #FTP
$IPTABLES -A FORWARD -p tcp --dport 22 -j ACCEPT  #SSH
$IPTABLES -A FORWARD -p tcp --dport 23 -j ACCEPT  #TELNET
$IPTABLES -A FORWARD -p tcp --dport 25 -j ACCEPT  #MAIL
$IPTABLES -A FORWARD -p tcp --dport 110 -j ACCEPT  #MAIL
$IPTABLES -A FORWARD -p tcp --dport 1863 -j ACCEPT #MSN
$IPTABLES -A FORWARD -p udp --dport 1863 -j ACCEPT #MSN
$IPTABLES -A FORWARD -p tcp --dport 4000 -j ACCEPT  #qq
$IPTABLES -A FORWARD -p tcp --dport 554 -j ACCEPT  #RTSP
$IPTABLES -A FORWARD -p udp --dport 554 -j ACCEPT  #RTSP
$IPTABLES -A FORWARD -p tcp --dport 5050 -j ACCEPT  #YAHOO


74-EA-3A-81-05-94 เครื่อง poo

ทำใน  nano /etc/init.d/firewall.sh ทำเสร้จ ให้ สั่ง sh /etc/initd./firewall.sh ดู ที่ตั้งไป # iptables -L -v


iptables -A FORWARD -m iprange --src-range 192.168.0.1-192.168.0.20 -m string --string "facebook.com" --algo bm --to 65535 -j DROP

iptables -I FORWARD -m mac --mac-source aa:bb:cc:dd:ee:ff -j DROP

iptables -A FORWARD -m mac --mac-source 20:6a:8a:34:32:f2 -m string --string "facebook.com" --algo bm --to 65535 -j DROP

================
ขอถามพี่ๆเรื่อง iptables block web และ bypass ip บางเครื่องให้เข้าได้
« on: September 23, 2013, 12:19:38 AM »
คือตอนนี้ผมทำ server block web โดย web ที่เป็น url port 80 จะ block ด้วย squid3 ก็ใช้งานได้โอเค

แต่จะติดปัญหากับการ block facebook https ซึ่ง squid3 ไม่สามารถเอาอยู่ ผมเลยมา block facebook https ผ่าน iptables แทนก็สามารถ block ได้โอเคเลยครับ แต่ติดปัญหาที่ เครื่องระดับหัวหน้าเค้าต้องการ facebook เข้าได้ผมเลยจะถามพี่ๆว่า ถ้า

จะให้บางเครื่องหรือบาง ip สามารถทะลุหรือผ่านเข้า facebook https ได้ มันสามารถทำได้ไหมครับ ถ้าทำได้ต้องใช้คำสั่งว่าอะไรบ้างครับ รบกวนๆพี่ๆช่วยด้วยนะครับ  :) :'(

ซึ่งผมลองค้นหาในเน็ตอยู่พักนึงได้มาแบบนี้ครับ ลองดูมันไม่ได้ผลครับ เข้า facebook ไม่ได้อยู่ดี

iptables -I FORWARD -s 192.168.1.0/24 --match iprange --dst-range 192.168.1.50-192.168.1.70 -p tcp -d 69.63.176.0/20 -j ACCEPT


รบกวนด้วยนะครับ

---
ตอบช้าไปไหมนิ ทำได้ครับ คุณก็ทำแบบเดิมเหมือนที่คุณ Block Https ครับ แต่ว่าอันนี้คุณ ระบุ IP ของคนที่ต้องการให้เข้า และกำหนดเป็น ACCEPT แค่นั้นครับ
** ข้อสำคัญคือ ลำดับการจัดวางมีความสำคัญมาก เช่น
1. 192.168.1.0/24 https Deny
2. 192.168.1.10 https Accept

จะต่างกับ
1. 192.168.1.10 https Accept
2. 192.168.1.0/24 https Deny

อันบนคือ 192.168.1.10 จะไม่สามารถเข้า https ได้ครับ เพราะว่าโดนบรรทัดแรก Deny ไปแล้ว ที่คุณต้องทำคือทำแบบอันล่าง
** ผิดถูกยังไงต้อง ขอ อภัย ด้วยครับ ถ้าผมผิด วานผู้รู้ช่วยแก้ด้วยครับ
--
ตามนั้นครับ จำง่ายๆ คือมันทำงานทุกคำสั่งโดยเรียงจากล่างขึ้นบน ( กรณีนี้คือปิด https ทุกคนก่อน ตามด้วยเปิด https ให้กับ 192.168.1.10)

ปล.มันจะไม่มีปัญหากับ web อื่นที่เป็น https เหรอครับ เช่น google, hotmail พวกนี้ ทำไมไม่ลองชี้ domain facebook ไปที่ ip อื่นดู โดยแก้ที่ไฟล์ /etc/hosts
======================
1.เปิดทั้งหมดแล้ว ทำการบล็อกพอร์ทที่จะปิด
$IPTABLES -P FORWARD ACCEPT                                              #OPEN ALL
$IPTABLES -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT

$IPTABLES -A FORWARD -p tcp --dport 1863 -j DROP                     #BLOCK MSN

แบบ 2 
2. ปิดทั้งหมดแล้วเปิดพอร์ทที่ใช้เท่านั้น    (วิธีการนี้จะมีความปลอดภัยมากกว่าคือ ต้องการเปิดปิดไหนก็เปิดเอาเองได้เลยครับ แต่ถ้าเราเปิดไม่ครบอาจมีปัญหาได้ครับ)

ตัวอย่าง
$IPTABLES -P FORWARD DROP                                                                           #CLOSE PORT ALL
$IPTABLES -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT

$IPTABLES -A FORWARD -p tcp --dport 53 -j ACCEPT   #DNS
$IPTABLES -A FORWARD -p udp --dport 53 -j ACCEPT  #DNS



===============================
How Do I Block an IP Address on My Linux server?
by VIVEK GITE on MARCH 29, 2006

How do I block an IP address or subnet under Linux operating system?

In order to block an IP on your Linux server you need to use iptables tools (administration tool for IPv4 packet filtering and NAT) and netfilter firewall. First you need to log into shell as root user. To block an IP address you need to type the iptables command as follows:


Syntax to block an IP address under Linux

iptables -A INPUT -s IP-ADDRESS -j DROP
Replace IP-ADDRESS with your actual IP address. For example, if you wish to block an ip address 65.55.44.100 for whatever reason then type the command as follows:
# iptables -A INPUT -s 65.55.44.100 -j DROP

If you have IP tables firewall script, add the above rule to your script.

If you just want to block access to one port from an ip 65.55.44.100 to port 25 then type command:
# iptables -A INPUT -s 65.55.44.100 -p tcp --destination-port 25 -j DROP

The above rule will drop all packets coming from IP 65.55.44.100 to port mail server port 25.

CentOS / RHEL / Fedora Block An IP And Save It To Config File

Type the following two command:
# iptables -A INPUT -s 65.55.44.100 -j DROP
# service iptables save

How Do I Unblock An IP Address?

Use the following syntax (the -d options deletes the rule from table):
# iptables -D INPUT -s xx.xxx.xx.xx -j DROP
# iptables -D INPUT -s 65.55.44.100 -j DROP
# service iptables save

==============

1 ความคิดเห็น:

  1. Wind Tonda best wathces replica 1950 watch, the watch has been produced using turquoise dial. Tonda 1950 Poppy watch concept also start from the same starting point: to build a watch to show the natural mineral rolex replicas swiss made structure, which is designed to highlight the inherent beauty of the stone, and, ultimately, a harmonious blend of colors and materials. best replica IWC watches Parmigiani .

    ตอบลบ