ข้อมูลเบื้องต้นเกี่ยวกับปลาหมึก: การตั้งค่าทีละขั้นตอน

โลโก้ปลาหมึกและ Tux

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

สำหรับการติดตั้งของคุณคุณสามารถเข้าถึงไฟล์ เว็บไซต์อย่างเป็นทางการของโครงการ และเลือกแพ็กเกจไบนารีสำหรับระบบปฏิบัติการหรือการแจกจ่ายของคุณ หากคุณต้องการติดตั้งจากแพ็คเกจซอร์สโค้ดโดยการคอมไพล์ด้วย คุณมีตัวเลือกนั้น. tarball ที่มีอยู่คือ tar.gz, tar.bz2 และ tar.xz หากคุณไม่ทราบวิธีการติดตั้งคุณสามารถไปที่บทความที่เราแก้ไขในบล็อกนี้ได้ วิธีการติดตั้งแพ็คเกจจาก linux. ตา! หากคุณมี Debian หรืออนุพันธ์และเห็นว่ามีการติดตั้ง sudo "apt-get install ปลาหมึก" คุณอาจได้รับข้อผิดพลาดเนื่องจากคุณต้องแทนที่ "ปลาหมึก" ด้วย "ปลาหมึก 3" เพื่อให้มีผล ...

ตอนนี้เราไปที่การอธิบายการกระทำโดยตรง ตัวอย่างการใช้ Squid เพื่อปกป้องอุปกรณ์ของเรา ก่อนที่ฉันจะอธิบายว่า Squid นั้นขึ้นอยู่กับ ACL นั่นคือในรายการควบคุมการเข้าถึงหรือรายการควบคุมการเข้าถึงนั่นคือรายการที่ให้รายละเอียดสิทธิ์ในการควบคุมในกรณีนี้การไหลของเครือข่ายและใช้ตัวกรองที่คล้ายกับ iptables แต่ ในระดับแอปพลิเคชัน

โดยปกติหลังจากการติดตั้งไฟล์คอนฟิกูเรชันจะรวมอยู่ในไฟล์ /etc/squid3/squid.conf และนี่คือสิ่งที่เราต้องแก้ไขด้วยโปรแกรมแก้ไขเช่น nano หรือ gedit ในนั้นเราสามารถสร้างกฎการกรองของเราได้แม้ว่าจะมีตัวเลือก cache_dir, cache_mem และ http_port เราจะใช้กฎความปลอดภัยหลัง รายละเอียดอีกอย่างคือไฟล์นี้ระบุพอร์ตเริ่มต้นที่ใช้โดยบริการ Squid ซึ่งโดยค่าเริ่มต้นคือ 3128 (ดูบรรทัดหรือคำสั่ง "http_port 3128" และลบ # เพื่อเปิดใช้งาน) หากคุณต้องการคุณสามารถเปลี่ยนเป็นพอร์ตอื่นเช่น 8080 ... และอีกอย่างที่จำเป็นคือกำหนดค่าชื่อโฮสต์มองหาความคิดเห็น "TAG: Visible_hostname" และคุณจะเห็นบรรทัด "visible_hostname" ซึ่งคุณต้องใส่ ชื่อโฮสต์ของคุณ

หากต้องการทราบชื่อโฮสต์ของคุณคุณสามารถพิมพ์ในเทอร์มินัล:

hostname

และชื่อที่ปรากฏให้คุณเพิ่มลงในบรรทัดที่ไม่ควรนำหน้าด้วย # เพื่อที่จะไม่ถูกเพิกเฉยเป็นความคิดเห็น นั่นคือมันจะมีลักษณะดังนี้:

visible_hostname ชื่อโฮสต์_have_you_appปรากฏ

หากคุณเห็นไฟล์การกำหนดค่าคุณจะเห็นว่ามีการแสดงความคิดเห็นเป็นอย่างมาก หากคุณต้องการแทนที่กฎที่สร้างขึ้นคุณสามารถเริ่มบรรทัดด้วย # และคุณแปลงเป็นความคิดเห็นโดยที่ Squid เพิกเฉยต่อการนำกลับมาใช้บริการคุณจะลบ # และนั่นก็คือมัน อันที่จริงมีกฎที่สร้างและแสดงความคิดเห็นมากมายที่คุณสามารถใช้ได้โดยการลบ # คุณจึงไม่ต้องลบและเขียนกฎใหม่ ในการเพิ่มกฎหรือตัวกรองที่เฉพาะเจาะจงต้องมี ACL และคำสั่งที่ระบุสิ่งที่ต้องทำ

อย่างไรก็ตามเมื่อคุณลบ # เพื่อเปิดใช้งานกฎ อย่าเว้นวรรคตอนต้นบรรทัด. ตัวอย่างเช่น

ทางที่ผิด:

http_port 3128

วิธีที่ถูกต้อง:

http_port 3128

คุณไม่ได้ยินอะไรเลยเหรอ? ไม่ต้องกังวลกับ ตัวอย่าง คุณจะเห็นทุกอย่างดีขึ้นมาก ลองนึกภาพสิ่งนี้:

acl บล็อก url_regex เป็น facebook
http_access ปฏิเสธการบล็อก

ความหมายของกฎนี้ คือการที่ acl ที่มีชื่อ "บล็อก" จะห้ามไม่ให้เข้าถึง URL ที่มี "facebook" (ดังนั้นหากเราพยายามเข้าสู่ Facebook จะเป็นการข้ามข้อผิดพลาดในเบราว์เซอร์) หากแทนที่จะ "ปฏิเสธ" คุณใช้ "allow" คุณจะอนุญาตให้เข้าถึงแทนการห้าม คุณยังสามารถใช้! หากต้องการยกเว้นตัวอย่างเช่นสมมติว่าคุณต้องการอนุญาตให้เข้าถึง list1 แต่ไม่ใช่ list2:

http_access allow lista1 !lista2

อีกตัวอย่างหนึ่งอาจเป็นการสร้างไฟล์ / etc / squid3 / ips ที่อนุญาต และบันทึกรายการ IP ที่เราต้องการอนุญาตให้เข้าถึง ตัวอย่างเช่นสมมติว่าเนื้อหาของ ips ที่อนุญาตคือ:

192.168.30.1

190.169.3.250

192.168.1.26

แล้วเราก็สร้าง acl เพื่ออนุญาตให้เข้าถึง IP เหล่านี้:

acl nuevaregla src "/etc/squid3/ipspermitidas"

เป็นตัวอย่างที่ใช้ได้จริงลองนึกภาพว่าเด็กอายุต่ำกว่า 18 ปีใช้คอมพิวเตอร์ของคุณและคุณต้องการ จำกัด การเข้าถึงเว็บไซต์เนื้อหาสำหรับผู้ใหญ่บางเว็บไซต์ สิ่งแรกคือการสร้างไฟล์ชื่อ / etc / squid3 / list ที่มีเนื้อหา:

ผู้ใหญ่

สื่อลามก

เพศ

Poringa

และตอนนี้ใน  ไฟล์ Squid.conf เราวางกฎต่อไปนี้:

acl denegados url_regex "/etc/squid3/lista"

http_access allow !denegados

อย่างที่คุณเห็น เราได้ใช้ allow ซึ่งโดยหลักการก็คืออนุญาต แต่ถ้าคุณดูเราได้เพิ่ม! การปฏิเสธดังนั้นมันจะเทียบเท่ากับการวาง:

acl denegados url_regex "/etc/squid3/lista"

http_access deny denegados

นอกจากนี้คุณยังสามารถสร้างรายการไม่เพียง แต่ชื่อโดเมนหรือ IP เท่านั้นอย่างที่เราเคยทำ คุณยังสามารถใส่โดเมน และตัวอย่างเช่น จำกัด การเข้าถึงโดเมนเช่น. xxx, .gov เป็นต้น ลองดูตัวอย่างตามกฎก่อนหน้านี้ เราสร้างไฟล์ / etc / squid3 / domains ที่มี:

. Edu

วอลล์เปเปอร์.

Org.

และตอนนี้กฎของเราเพื่อปฏิเสธการเข้าถึงรายการไซต์ต้องห้ามที่เราสร้างขึ้น แต่อนุญาตให้เข้าถึง URL ที่มีโดเมนเหล่านี้:

acl denegados url_regex "/etc/squid3/lista" 
acl permitidos dstdomain "/etc/squid3/dominios"

http_access allow !denegados dominios

ส่วนขยาย:

ขออภัยเมื่อฉันเห็นความคิดเห็นฉันก็รู้ว่า ฉันพลาดสิ่งสำคัญไปแล้ว. ฉันเพิ่งใส่ตัวอย่างวิธีการใช้งานและลืมบอกไปว่าเพื่อเริ่มเซิร์ฟเวอร์ Squid:

sudo service squid3 start

ก่อนที่มันจะขึ้นด้วย "/etc/init.d/squid start" แต่ตอนนี้คุณต้องใช้บรรทัดอื่นที่ฉันวางไว้ให้คุณ เช่นเดียวกับไฟล์คอนฟิกูเรชันไม่ได้อยู่ใน /etc/squid/squid.conf อีกต่อไป แต่อยู่ใน /etc/squid3/squid.conf ตกลงเมื่อสร้างนโยบายการกรองและเริ่มต้นแล้วเราต้องกำหนดค่าเบราว์เซอร์ด้วยเช่นหากคุณใช้ Mozilla Firefox หรืออนุพันธ์คุณสามารถไปที่เมนูการกำหนดค่า (คุณรู้จักแถบสามแถบ) จากนั้นไปที่ การตั้งค่าขั้นสูงและในแท็บเครือข่ายคลิกที่การกำหนดค่าในส่วนการเชื่อมต่อ ที่นั่นเราเลือกการกำหนดค่าพร็อกซีด้วยตนเองและใส่ IP ของเราและพอร์ตที่ Squid กำลังใช้ในกรณีนี้คือ 3128 เลือก "ใช้พร็อกซีเดียวกันสำหรับทุกอย่าง" และออกจากการบันทึกการเปลี่ยนแปลง

Por โปรดปราน, อย่าลืมที่จะแสดงความคิดเห็นของคุณข้อสงสัยหรืออะไรก็ตามที่คุณต้องการ ... แม้ว่ามันจะเป็นการสอนที่เหนือกว่า Squid แต่ฉันหวังว่ามันจะช่วยคุณ