คุณกำลังมองหาวิธีในการสร้าง Raspberry Pi Firewall นานขึ้นไหม หากคุณไม่สามารถทำได้โดยใช้ OpenWRT และ Pfsense บล็อกนี้เหมาะสำหรับคุณอย่างแน่นอน Raspberry Pi มีซ็อกเก็ตอีเธอร์เน็ตเดียวซึ่งเป็นสาเหตุที่ไม่สามารถสร้างไฟร์วอลล์ของแท้บน Raspberry Pi อย่างไรก็ตามเราสามารถผลิตเราเตอร์ที่มีความสามารถด้านไฟร์วอลล์ สำหรับการทำงานนี้คุณต้องติดตั้งซอฟต์แวร์บางตัวใน Pi ก่อนที่เราจะลงลึกไปในรายละเอียดมาพูดคุยเรื่องพื้นฐานกันก่อน!

เราเตอร์ไฟร์วอลล์คืออะไร

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

Raspberry Pi มีการ์ดอีเธอร์เน็ตหนึ่งใบ อย่างไรก็ตามผู้ใช้สามารถใช้การ์ด WiFi เพื่อสร้างเครือข่ายอื่น ที่นี่คุณจะรู้ว่าคุณสามารถเชื่อมต่อเครือข่าย WiFi กับเครือข่ายอีเธอร์เน็ตได้อย่างไร ในทางกลับกันไฟร์วอลล์หมายถึงซอฟต์แวร์ประเภทหนึ่ง ซอฟต์แวร์นี้ช่วยให้ผู้ใช้สามารถแทรกนโยบายความปลอดภัยลงในเราเตอร์ ตามที่ระบุไว้ในตัวอย่างข้างต้นเราพูดถึงว่า X สามารถ ping Y ได้ แต่ไม่สามารถเข้าถึงเซิร์ฟเวอร์ HTTP ได้ ที่นี่เราจะใช้“iptables” ซอฟต์แวร์สำหรับสิ่งนี้ คุณสามารถไปกับซอฟต์แวร์อื่น ๆ เมื่อมันมาถึงไฟร์วอลล์ขึ้นอยู่กับความต้องการของคุณ

สำหรับการสร้างการเข้าถึงแบบไร้สายและซอฟต์แวร์อื่น ๆ เพื่อตรวจสอบเครือข่ายผู้ใช้จะต้องทำตามคำแนะนำ เมื่อใช้สิ่งนี้คุณสามารถกรองการรับส่งข้อมูลบางอย่างได้ ดังนั้นหากคุณต้องการทำสิ่งนี้

นี่คือเครือข่ายปัจจุบันของฉัน:

และฉันต้องการที่จะเปิดเช่นนี้

  • ติดตั้ง Raspberry Pi Firewall บนเครือข่ายของคุณ
  • อนุญาตจุดเชื่อมต่อ WiFi โดยใช้เครือข่ายย่อยที่หลากหลาย
  • สร้างสะพานเชื่อมระหว่างสองเครือข่าย
  • ตั้งค่ากฎและข้อบังคับของไฟร์วอลล์
  • ติดตั้งซอฟต์แวร์อื่น

ที่นี่เราจะพูดถึงขั้นตอนเหล่านี้ในรายละเอียดทีละคน ดังนั้นเรามาเริ่มต้นด้วยขั้นตอนแรกของขั้นตอนนี้

นอกจากนี้คุณจะได้เรียนรู้เพิ่มเติมเกี่ยวกับ ข้อมูลเบื้องต้นเกี่ยวกับไฟร์วอลล์และ วิธีปิดไฟร์วอลล์ เช่นเดียวกับการเปรียบเทียบเต็มรูปแบบของ fireful รัฐ stateful กับไร้สัญชาติ ที่นี่

ติดตั้ง Raspberry Pi Firewall

เริ่มแรกคุณต้องติดตั้ง Raspberry Pi Firewall บนเครือข่ายของคุณ สำหรับสิ่งนี้ทำตาม:

  • ติดตั้ง Raspbian
  • ไม่มีข้อกำหนดของรุ่นเดสก์ท็อปยกเว้นว่าผู้ใช้ต้องการใช้ Raspbian สำหรับงานอื่น ๆ
  • ปลั๊กอิน Raspberry Pi โดยใช้สายเคเบิล RJ45 บนเครือข่าย
  • ไม่จำเป็นต้องใช้ที่อยู่ IP คงที่ แต่สามารถช่วยได้
  • หลังจากนี้ให้อัพเดตระบบโดยใช้: sudo apt update, อัพเกรด sudo aptและ sudo reboot.
  • อนุญาตให้ SSH โดยการนำทางไปยัง raspi-config จากนั้นเลือกตัวเลือกการเชื่อมต่อแล้ว sudo raspi-config.

เพียงเท่านี้และตอนนี้ก็ถึงเวลาที่จะติดตั้งเราเตอร์ ดังนั้นเรามารู้วิธีการติดตั้งเราเตอร์

นอกจากนี้ที่นี่ยังมี กฎของ Mikrotik Firewall และ ประโยชน์ของการจำลองเสมือน สำหรับการอ้างอิงของคุณ

ติดตั้งเราเตอร์ไร้สาย

ค่อนข้างเป็นไปได้สำหรับการกำหนดค่า Raspberry Pi Firewall ด้วยตนเองเป็นเราเตอร์ไร้สาย อย่างไรก็ตามมันใช้เวลานานและซับซ้อน เพื่อให้ง่ายขึ้นสำหรับคุณเรากำลังนำเสนอสคริปต์ให้กับคุณ

  • สคริปต์นี้มีให้ที่ GitHub ก่อนอื่นคุณต้องติดตั้ง git เพื่อดาวน์โหลดโปรแกรมนี้ ตัวอย่างเช่น sudo apt install git
  • เปลี่ยนเป็นโฟลเดอร์ใหม่สำหรับดาวน์โหลดโปรแกรมนี้

cd / เลือก

git clone https://github.com/unixabg/RPI-Wireless-Hotspot/git

  • สลับไปที่ไดเรกทอรีย่อยซึ่งก็คือ cd RPI-Wireless-Hotspot /
  • เริ่มต้นกระบวนการติดตั้งโดย sudo./install

ตอนนี้สคริปต์ถามคำถามสองสามข้อ เมื่อคุณตอบคำถามแล้ว Raspberry Pi จะรีบูตเพื่อใช้การเปลี่ยนแปลง หลังจากเสร็จสิ้นกระบวนการนี้คุณสามารถใช้ไฟร์วอลล์ Raspberry Pi เป็นเราเตอร์ ในรายการเครือข่ายของ WiFi คุณจะเห็น apt SSID หลังจากเชื่อมต่อกับเซิร์ฟเวอร์แล้วตรวจสอบว่าทุกอย่างทำงานได้ดีหรือไม่ ดังนั้นจึงไม่มีอะไรมากไปกว่าการกำหนดค่าเครือข่าย

PS: นี่คือทุกอย่างเกี่ยวกับ ไฟร์วอลล์ SMB Ports และ ความสำคัญของไฟร์วอลล์เช่นเดียวกับทั้งหมด ประเภทของไฟร์วอลล์สำหรับการอ้างอิงของคุณ

ทฤษฎีไฟร์วอลล์

บทบาทหลักของไฟร์วอลล์คือการอนุญาตหรือบล็อกการเข้าถึงจากที่อยู่ IP ที่เฉพาะเจาะจงไปยังที่อื่น ส่วนใหญ่เรามักจะใช้พอร์ตสำหรับการตั้งค่าสิทธิ์ที่แม่นยำ ในการกำหนดค่าไฟร์วอลล์มีกฎพื้นฐานสองข้อซึ่งเป็นบัญชีดำที่เป็นไปตามกฎ 'อนุญาตทั้งหมดยกเว้น ...'และรายการที่อนุญาตที่ปฏิบัติตามกฎ'ปฏิเสธทั้งหมดยกเว้น ...'

ดังนั้นเลือกอันที่คุณต้องการจะทำกับเราเตอร์ของราสเบอร์รี่ Pi หากอยู่ที่บ้านคุณควรไปกับคนแรกซึ่งคุณสามารถบล็อกได้หลายอย่างเช่นที่อยู่ IP เฉพาะ ที่ทำงานไปกับคนอื่นที่คุณสามารถห้ามทุกอย่างยกเว้นสิ่งที่ได้รับอนุญาต

เข้า, ออกและส่งต่อ

มันเป็นโปรแกรมที่ง่ายขึ้นโดยที่หนึ่งสามารถสร้างกฎหลายข้อในเวลาเพียงสามทิศทาง ทั้งสามทิศทางคือ:

  • อินพุต: แพ็คเก็ตของเครือข่ายที่เข้ามาในไฟร์วอลล์ของคุณ
  • เอาท์พุต: แพ็คเก็ตที่ออกจากไฟร์วอลล์ของคุณ
  • ข้างหน้า: แพ็คเก็ตที่ผ่านไฟร์วอลล์ของคุณ

เมื่อใช้เว็บเซิร์ฟเวอร์ที่โฮสต์หนึ่งสามารถบล็อกทุกอย่างในอินพุตไม่รวม HTTPS และ HTTP อย่างไรก็ตามในผลลัพธ์มันไม่สำคัญว่าเซิร์ฟเวอร์ทำอะไรบนอินเทอร์เน็ต ที่นี่เราจะใช้กฎการส่งต่อเนื่องจากมี Raspberry Pi Firewall ไม่มากนัก ดังนั้นจึงไม่มีประโยชน์ในการปกป้องมัน

Raspberry Pi Firewall องค์ประกอบ

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

IPTables

สำหรับ Raspbian มีแพ็คเกจไฟร์วอลล์มากมายเช่น UFW หรือ IPTables OpenWRT ก็อยู่ที่นั่นเช่นกันนั่นคือการกระจาย Raspberry Pi สำหรับการสร้างไฟร์วอลล์ IPTables ได้รับการติดตั้งบน Raspberry Pi

ตรวจสอบการกำหนดค่าปัจจุบัน

ก่อนที่จะเพิ่มกฎจะเป็นการดีกว่าที่จะตรวจสอบการกำหนดค่าปัจจุบัน สำหรับการทำเช่นนั้นใช้คำสั่งเป็น 'sudo iptables - L.' สคริปต์ GitHub เพิ่มกฎพื้นฐานลงในส่วนของการส่งต่อเพื่อเปิดใช้งานการส่งต่อ หนึ่งสามารถใช้คำสั่งนี้เพื่อตรวจสอบว่ากฎที่คุณเพิ่มเมื่อเร็ว ๆ นี้สอดคล้องกับการตั้งค่าของคุณ

แทรกกฎการส่งต่อ

เครือข่ายแต่ละเครือข่ายมีความหลากหลายดังนั้นตารางกฎของ Raspberry Pi Firewall ก็มีความหลากหลายเช่นกัน นี่คือไวยากรณ์ทั้งหมดสำหรับการเพิ่มกฎเฉพาะในสภาพแวดล้อม

  • รีเซ็ตการกำหนดค่า IPTables

สำหรับสิ่งนี้เพิ่ม sudo iptables - F. คำสั่งซื้อมีความสำคัญโดยที่เราเตอร์ยอมรับทุกสิ่ง ดังนั้นเราไม่สามารถปิดกั้นการเชื่อมต่อเฉพาะ

  • เพิ่มกฎ DROP

ใช้คำสั่ง iptables - ไปข้างหน้า - p tcp - dport 80 - j DROP. คำสั่งอธิบายว่า:

(-A) สำหรับการเพิ่มกฎใหม่

(ไปข้างหน้า) เพื่อใช้ในส่วนไปข้างหน้า

(-p tcp) สำหรับการใช้โปรโตคอล tcp

(-dport 80) สำหรับการใช้พอร์ต HTTP

(DROP) สำหรับการทิ้งทุกอย่างซึ่งเป็นการเชื่อมต่อที่หมดเวลา

ตรวจสอบว่าการเชื่อมต่อใช้งานได้หรือไม่ หากต้องการทำสิ่งนี้ให้เชื่อมต่อกับเราเตอร์ WiFi สำหรับการลบกฎผู้ใช้จำเป็นต้องใช้ IPTables -F หรือใช้คำสั่งที่คล้ายกันที่มีตัวดำเนินการ -D แทนที่ -A

Iptables -D ไปข้างหน้า -p tcp –dport 80 -j DROP

คำสั่งนี้อนุญาตให้ผู้ใช้ลบกฎเฉพาะและดังนั้นจึงไม่ใช่กฎทั้งหมดที่เป็นกรณีของ -F

ไวยากรณ์คำสั่ง Iptables

สำหรับการสร้างกฎ Raspberry Pi Firewall เราสามารถใช้เทมเพลตคำสั่งที่คล้ายกันได้ หากต้องการดำเนินการนี้ให้ทำตามแม่แบบดังนี้:

Iptables - <operation> <direction> -p <protocol> - -dport <port> -j <action>

การดำเนินงาน:

  • -F: เอาออกล้างกฎทั้งหมดที่ไม่ต้องการพารามิเตอร์
  • -A: เพิ่มผนวกกฎใหม่
  • -D: ลบลบกฎปัจจุบัน

ทิศทาง:

ไปข้างหน้าเอาท์พุทหรืออินพุต

โพรโทคอ:

ส่วนใหญ่ udp หรือ tcp

ท่าเรือ:

จำนวนพอร์ตที่คุณต้องการสร้างกฎ

การดำเนินการ:

เลือกตัวเลือกสำหรับการสร้างทราฟฟิกที่สอดคล้อง ACCEPT อนุญาตให้เข้าถึงในโหมดรายการที่อนุญาต ปฏิเสธการเข้าถึงและบอกผู้ส่งถึงสิ่งที่ไม่ได้รับอนุญาต DROP ปฏิเสธการเข้าถึงอย่างไรก็ตามไม่ได้บอกผู้ส่ง

เปลี่ยนเป็นรายการที่อนุญาต

ผู้ใช้ที่อยู่ในสภาพแวดล้อมที่เข้มงวดจากนั้นเปลี่ยนเป็นโหมดรายการที่อนุญาต สำหรับการดำเนินการนี้พวกเขาจะต้องสร้างสายพอร์ต วิธีที่ง่ายที่สุดในการสร้างสคริปต์คือการเรียกใช้คำสั่งทั้งหมดในครั้งเดียว สำหรับสิ่งนี้คุณสามารถดาวน์โหลดตัวส่งต่อ DNS บน Raspberry Pi ถัดไปใช้วิธีเดียวกันกับการตอบคำขอ DNS

  • ดาวน์โหลด Bind (แพ็คเกจเซิร์ฟเวอร์ DNS)

sudo apt ติดตั้ง bind9
  • สำรองข้อมูลการกำหนดค่า

sudo mv /etc/bind/named.conf.options/etc/bind/named.conf.options

ตอนนี้วางบรรทัดเป็น:

ACL“ localnetwork” {127.0.0.1/32; 192.168.42.0/24;};
ตัวเลือก {directory“ / var / cache / bind”; ผู้ส่งต่อ {208.67.222.222;};
allow-query {localnetwork;};
dnssec - ตรวจสอบอัตโนมัติ
รับรองความถูกต้อง nxdomain no;
Listen-on-v6 {any;};
};

มันเป็นการกำหนดค่าทั่วไป หนึ่งสามารถใช้ OpenDNS สำหรับการส่งแบบสอบถาม DNS ที่ได้รับใน Raspberry Pi

  • บันทึกและออก (CTRL + O, CTRL + X)
  • รีสตาร์ท Bind โดยการติดตามบริการ sudo bind9 เริ่มต้นใหม่
  • แก้ไขเซิร์ฟเวอร์ DNS อยู่ใน DHCP, sudo nano / etc / udhcpd.conf
  • เปลี่ยนสาย, เลือก dns 208.67.222.222.208.67.220.220
  • รีสตาร์ทเซิร์ฟเวอร์ DHCP โดย sudo service udhcp ทำการรีสตาร์ท

ตอนนี้เชื่อมต่ออุปกรณ์และดูว่าทุกอย่างทำงานได้ดี

สร้างสคริปต์ไฟร์วอลล์ Raspberry Pi

  • ทำไฟล์ที่มีนาโน

Nano / usr / local / bin / firewall.sh
  • วางบรรทัดเป็น:
# / bin / sh
#Clear กฎทั้งหมด
Iptables -F
โหมด #Whitelist
iptables -P ยอมรับการยอมรับ
iptables -P ไปข้างหน้า DROP
iptables -P ยอมรับผลลัพธ์
# อนุญาตให้ PING สำหรับทุกคน
iptables -A ไปข้างหน้า -p icmp -j ACCEPT
# อนุญาต HTTP / HTTPS สำหรับไคลเอนต์ WiFi
iptables -A ไปข้างหน้า -p tcp –dport 80 -j ACCEPT
iptables -A ไปข้างหน้า -p tcp –dport 443 -j ACCEPT
# อนุญาตให้ POP / IMAP / SMTP สำหรับไคลเอนต์ WiFi
iptables -A ไปข้างหน้า -p tcp –dport 25 -j ACCEPT
iptables -A ไปข้างหน้า -p tcp –dport 110 -j ACCEPT
iptables -A ไปข้างหน้า -p tcp –dport 993 -j ACCEPT
# อนุญาต PING สำหรับไคลเอนต์ WiFi
iptables -A ไปข้างหน้า -p icmp -j ACCEPT
ผู้ใช้สามารถทำการแก้ไขคำสั่งนี้ตามความต้องการของพวกเขา ตอนนี้คุณสามารถเพิ่มสิทธิ์ของผู้บริหารได้โดย“sudo chmod + x firewall.sh” และตอนนี้เรียกใช้โดย“sudo /usr/local/bin/firewall.sh.” หากมีบางอย่างไม่ถูกต้องคุณสามารถรีบูตไฟร์วอลล์ Raspberry Pi เพื่อกู้คืนการเข้าถึงทั้งหมด

ทำให้การกำหนดค่าถาวร

สคริปต์ใช้คำสั่ง“ไฟล์ / etc / iptables.ipv4.nat” สำหรับบันทึกการกำหนดค่า หากใช้งานได้ให้บันทึกการกำหนดค่าปัจจุบันไว้ภายในเป็น:

sudo iptables - บันทึก> /etc/iptables/ipv4.nat

การทำเช่นนี้จะเป็นการอัปโหลดไฟล์และจะใช้การเปลี่ยนแปลงโดยตรง

ตรวจสอบเครือข่าย

หาก Raspberry Pi Firewall ทำงานได้ดีคุณสามารถเพิ่มแพ็คเกจเพื่อปรับปรุงความสามารถของ Raspbian ในการเพิ่มเว็บอินเตอร์เฟสคุณสามารถตรวจสอบสิ่งที่เกิดขึ้นในเครือข่าย สำหรับสิ่งนี้คุณสามารถใช้ Webmin ซึ่งเป็นเว็บอินเตอร์เฟส ดาวน์โหลดเวอร์ชันล่าสุดและกำหนดเส้นทางการตั้งค่า ตอนนี้ตั้งรหัสผ่านและเลือกหากคุณต้องการใช้ SSL

เว็บไซต์และตัวกรองพร็อกซี่

ที่นี่เรากำลังติดตั้ง Squid เป็นพร็อกซีเช่นเดียวกับ SquidGuard เป็นตัวกรองสำหรับไฟร์วอลล์ Raspberry Pi สำหรับการติดตั้ง Squid ให้ทำตาม“sudo apt ติดตั้งปลาหมึก” และสำรองไฟล์ด้วย“cd / etc / squid sudo mv squid.conf squid.conf.old“ ตอนนี้เปลี่ยนเป็นผู้ใช้และกำจัดความคิดเห็นทั้งหมดด้วย“ของ su sudo

Cat squid.conf.old | egrep -v -e '^ [[: blank:]] * # | ^"

คุณต้องเพิ่มบรรทัดที่ช่องเปิดดังนี้:

acl LocalNet src 192.168.42.0/24
การเข้าถึง http อนุญาตให้ LocalNet

ตอนนี้เริ่ม Squid ใหม่เพื่อใช้การเปลี่ยนแปลงด้วย“sudo systemct1 รีสตาร์ทปลาหมึก".

หลังจากการกำหนดค่าของ Squid มีสองตัวเลือกก่อนใช้ Raspberry Pi Firewall เป็น HTTP Proxy โดยการกำหนดค่าเว็บเบราเซอร์ อีกอันหนึ่งคือเปลี่ยนเส้นทางการรับส่งข้อมูล HTTP ทั้งหมดไปยัง Squid โดยอัตโนมัติ

การติดตั้ง SquidGuard

ตอนนี้ได้เวลาติดตั้ง SquidGuard โดย“sudo apt ติดตั้ง squidguard.” ดาวน์โหลดรายชื่อเว็บไซต์ตามหมวดหมู่และแตกไฟล์เก็บถาวร เมื่อแยกผู้ใช้สามารถดูหมวดหมู่บัญชีดำบนหน้าจอ เลือกหนึ่งรายการและใช้งานเดียวกันสำหรับการกำหนดค่าของ SquidGuard เลื่อนไฟล์ไปที่โฟลเดอร์นี้และเก็บถาวรการกำหนดค่า SquidGuard ถัดไปสร้างไฟล์กำหนดค่าและวางบรรทัดต่อไปนี้:

Dbhome / var / lib / squidguard / db logdir / var / log / squidguard ปลายทาง
ความรุนแรง {
บัญชีดำ domainlist / ความรุนแรง / โดเมน
บัญชีดำ urllist / ความรุนแรง / URL
เข้าสู่ระบบความรุนแรงการเข้าถึง
}
ac1 {
ผิดนัด
{
ผ่าน!
เปลี่ยนเส้นทาง http: //localhost/block.html
}
}
ทำการเปลี่ยนแปลงหากคุณต้องการแล้วบันทึกและออก (CTRL + O, CTRL + X) ตอนนี้สร้างฐานข้อมูลและเริ่มต้น Squid ใหม่เพื่อใช้การเปลี่ยนแปลงโดยทำตาม“บริการ sudo ปลาหมึกเริ่มต้นใหม่.” ตอนนี้ลองเข้าถึง URL จากรายการโดเมนและตรวจสอบว่า SquidGuard บล็อกคุณหรือไม่

ดังนั้นนี่คือวิธีการสร้าง Raspberry Pi Firewall. ตอนนี้คุณมีความรู้ที่สมบูรณ์เกี่ยวกับการสร้างเราเตอร์ไฟร์วอลล์โดยใช้พร็อกซีบน Raspberry Pi

ติดแท็กใน:
Cocospy Phone SpyCocoSpy Phone Spy