Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การแก้ไขปัญหา >> Linux

การเรียนรู้ UFW:คำแนะนำทีละขั้นตอนเกี่ยวกับการรักษาความปลอดภัยไฟร์วอลล์ Linux

จริงๆ แล้ว UFW ย่อมาจาก Uncomplicated Firewall ไม่ใช่ไฟร์วอลล์ Ubuntu อย่างที่หลายๆ คนเชื่อ ชื่อนี้สะท้อนถึงความจริงที่ว่ากำหนดค่าได้ง่ายอย่างน่าประหลาดใจ ผู้ใช้ส่วนใหญ่จะต้องตั้งค่าสามตัวเลือกอย่างแท้จริงก่อนที่จะค่อนข้างปลอดภัย ผู้ที่ต้องการตั้งค่าตัวเลือกการกำหนดค่าขั้นสูงจะไม่ต้องทำอะไรมากไปกว่าการแก้ไขไฟล์ข้อความ แม้ว่านักพัฒนาโครงการ Ubuntu จะออกแบบซอฟต์แวร์ไฟร์วอลล์ชิ้นนี้โดยเฉพาะ แต่ ufw ก็มีให้บริการในรุ่นอื่นๆ ด้วยเช่นกัน ผู้ใช้ Debian, Arch, Linux Mint, Lubuntu และ Xubuntu มีแนวโน้มว่าจะติดตั้งไว้แล้ว

ปัญหาคือผู้ใช้เปิดเครื่องค่อนข้างน้อย แม้ว่าผู้ใช้จะไม่ต้องทำงานกับ iptables โดยตรงอีกต่อไป แต่ Ubuntu ก็บังคับให้ ufw ตั้งค่าเริ่มต้นเป็นสถานะปิด การใช้งาน Debian หลายอย่างไม่มีแพ็คเกจติดตั้งตามค่าเริ่มต้นด้วยซ้ำ ข่าวดีก็คือ ใครก็ตามที่มีประสบการณ์เทอร์มินัลเพียงเล็กน้อยก็สามารถเสริมความแข็งแกร่งของระบบได้

วิธีที่ 1:การเปิด UFW จาก Command Prompt

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

หากคุณทำงานจากบัญชีผู้ใช้มาตรฐาน ให้เรียกใช้ sudo ufw Enable และพิมพ์รหัสผ่านผู้ดูแลระบบของคุณหากได้รับแจ้ง คุณควรได้รับแจ้งว่าเปิดใช้งาน ufw แล้ว และจะทำงานโดยอัตโนมัติเมื่อเริ่มต้นระบบ เรียกใช้ สถานะ sudo ufw อย่างไรก็ตามเพียงเพื่อให้แน่ใจ คุณควรได้รับเอาต์พุตบรรทัดเดียวที่อ่านว่า "สถานะ:ใช้งานอยู่" โดยไม่มีอะไรเลยหลังจากนั้น

ในทางกลับกัน คุณอาจได้รับแจ้งว่าไม่ได้ติดตั้ง ufw ผู้ใช้การกระจายแบบ apt เช่น Debian ควรเรียกใช้ sudo apt-get install ufw . คุณอาจต้องการเรียกใช้ sudo apt-get update จากนั้น sudo apt-get upgrade เพื่อให้แน่ใจว่าแพ็คเกจอื่นๆ ของคุณเป็นไปตามลำดับเมื่อทำการติดตั้ง ผู้ใช้ Arch Linux จะต้องเรียกใช้ sudo pacman -Syu หากพวกเขาต้องการรับพัสดุตามลำดับแล้ว sudo pacman -S ufw เพื่อติดตั้ง ufw แต่ผู้ใช้ทุกคนจะสามารถดำเนินการต่อได้ตามปกติในภายหลัง ทำตามขั้นตอนข้างต้นและตรวจสอบให้แน่ใจว่า sudo ufw Enable ทำงานอยู่ ส่งคืน “สถานะ:ใช้งานอยู่ ดังกล่าวข้างต้น ” เส้น

วิธีที่ 2:การส่ง UFW ชุดกฎพื้นฐาน

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

sudo ufw default อนุญาตให้ส่งออก

sudo ufw default ปฏิเสธขาเข้า

สิ่งนี้ทำให้แน่ใจได้ว่า ufw อนุญาตให้คุณส่งทราฟฟิกขาออกไปยังอะแดปเตอร์เครือข่ายของคุณเสมอ ซึ่งเป็นสิ่งสำคัญหากคุณทำงานออนไลน์ประเภทใดก็ตาม โดยปกติแล้ว คุณไม่ควรถือว่าคำขอส่งออกใดๆ ที่เป็นอันตราย นอกจากนี้ยังห้ามไม่ให้คำขอที่เข้ามาทำอันตรายใดๆ ซึ่งเป็นการตั้งค่าที่ถูกต้องสำหรับผู้ใช้ตามบ้านและธุรกิจเกือบทั้งหมด แม้แต่นักเล่นเกมส่วนใหญ่ที่เล่นเกม FPS ออนไลน์แบบเข้มข้นก็ไม่ควรต้องการอะไรไปมากกว่านี้ คนส่วนใหญ่สามารถหยุดที่นี่ได้ตราบใดที่การเรียกใช้ sudo ufw status ยังคงส่งคืนข้อความที่เปิดใช้งานแม้ว่าคุณจะรีบูทเครื่องแล้วก็ตาม กระบวนการกำหนดค่าไม่มีอะไรอื่นมากนัก ผู้ใช้ที่มี ssh หรือเป้าหมายเครือข่ายขั้นสูงจำเป็นต้องดำเนินการต่อ

วิธีที่ 3:ตัวเลือกการกำหนดค่า UFW ขั้นสูง

ผู้ใช้ส่วนใหญ่ไม่จำเป็นต้องอ่านต่อ แต่กฎเหล่านี้อาจมีประโยชน์สำหรับบางคน ตัวอย่างเช่น หากคุณต้องการอนุญาตการเชื่อมต่อ TCP บนพอร์ต 80 ทั่วไป คุณสามารถเรียกใช้:

sudo ufw อนุญาต 80/tcp

คุณยังสามารถใช้ sudo ufw อนุญาตจาก ###.##.##.##/## ด้วยที่อยู่ IP จริงและหมายเลขซับเน็ตจริงหลังเครื่องหมายทับ โปรดทราบว่า 80 เป็นหมายเลขที่ถูกต้องสำหรับการใช้งานนี้ หากคุณต้องการเชื่อมต่อเครือข่ายผ่านหมายเลขนั้น การใช้ sudo ufw อนุญาต http/tcp ยังใช้ได้และอาจจำเป็นในสถานการณ์เซิร์ฟเวอร์ แต่สิ่งนี้เริ่มที่จะเปิดเวิร์มกระป๋องเท่าที่อนุญาตการเชื่อมต่อประเภทต่างๆ

การตั้งค่ายอดนิยมประการหนึ่งคือ sudo ufw อนุญาต 22 ซึ่งจะเปิดพอร์ตสำหรับการเชื่อมต่อ ssh ผู้ใช้บางคนใช้วลีเป็น sudo ufw อนุญาต ssh แทน ซึ่งใช้ได้ผลเช่นกัน แม้ว่าคำแนะนำบางส่วนอาจแนะนำให้คุณเพิ่มทั้งสองบรรทัด แต่สิ่งนี้ไม่จำเป็นในกรณีส่วนใหญ่ และอาจส่งผลให้มีค่าใช้จ่ายที่ไม่จำเป็นในตอนท้าย

เมื่อคุณต้องการลบกฎข้อใดข้อหนึ่งของคุณในอนาคต คุณสามารถเรียกใช้ sudo ufw Delete ตามด้วยชื่อกฎได้ ตัวอย่างเช่น sudo ufw ลบอนุญาต 80/tcp จะปิดหนึ่งในตัวอย่างที่เราสร้างไว้ข้างต้น

ตอนนี้เมื่อคุณเรียกใช้ sudo ufw status verbose คุณอาจเห็นตารางที่สมบูรณ์กว่านี้มากหากคุณสร้างกฎเพิ่มเติม หากคุณต้องการปิดใช้งานไฟร์วอลล์ในอนาคต คุณสามารถเรียกใช้ sudo ufw ปิดการใช้งานได้ แต่มีเพียงไม่กี่สถานการณ์ที่คุณต้องทำเช่นนี้

ในบางครั้งคุณอาจพบว่าคุณได้รับข้อผิดพลาดการหมดเวลาเกตเวย์ 504 หากคุณใช้ ufw ในลักษณะนี้เพื่อปกป้องเซิร์ฟเวอร์ การเปลี่ยนลำดับของกฎบางข้ออาจช่วยได้ในกรณีนี้ ต้องป้อนกฎการอนุญาตก่อนกฎการปฏิเสธ เนื่องจาก ufw จะค้นหารายการที่ตรงกันแรกเสมอเมื่อแยกวิเคราะห์รายการของคุณด้วยเหตุผลด้านความปลอดภัย การลบกฎคู่หนึ่งแล้วเพิ่มกลับโดยพิมพ์ sudo ufw default อนุญาต บรรทัดแรกควรแก้ไขปัญหานี้ คุณอาจต้องการลบบรรทัดที่ซ้ำกันเพิ่มเติมด้วยเหตุผลด้านประสิทธิภาพเช่นกัน

เรียกใช้ sudo ufw verbose และให้ความสนใจอย่างใกล้ชิดว่าบรรทัด DENY IN และ ALLOW IN ของคุณอยู่ในลำดับใด หากคุณมีบางอย่างบนพอร์ตทั่วไป เช่น 80 หรือ 22 ที่อ่านว่า DENY IN ตามด้วย Anywhere บนแผนภูมิก่อนการอ้างอิงอื่นๆ ไปยังพอร์ตเหล่านั้น คุณอาจกำลังพยายามบล็อกการเชื่อมต่อก่อนที่จะมีโอกาสทะลุผ่าน การเรียงลำดับใหม่จะช่วยแก้ไขปัญหาได้ การวางคำสั่งเหล่านี้ตามลำดับที่ถูกต้องตั้งแต่แรกจะช่วยป้องกันปัญหาในภายหลัง

ผู้ใช้พรอมต์รูทที่ยกระดับจะไม่จำเป็นต้องใช้ sudo ก่อนแต่ละคำสั่ง หากคุณได้รับข้อผิดพลาดบางอย่างเกี่ยวกับเรื่องนั้น นี่อาจเป็นปัญหาของคุณ ตรวจสอบส่วนท้ายของข้อความแจ้งเพื่อดูว่าคุณมี # หรือ $ ก่อนเคอร์เซอร์หรือไม่ ผู้ใช้ tcsh ที่มีเพียง % สำหรับพรอมต์ควรเรียกใช้ whoami เพื่อดูว่าตนทำงานเป็นผู้ใช้รายใด

ผู้ใช้ทั่วไปที่ใช้งาน sudo ufw status verbose มีแนวโน้มที่จะยังคงได้รับการตอบรับค่อนข้างน้อยหลังจากที่ได้รับแจ้ง คุณอาจจะเห็นบรรทัดเดียวกับที่คุณมีมาก่อน

เนื่องจากผู้ใช้เหล่านี้ทำงานโดยใช้กฎน้อยมาก อย่างไรก็ตาม คำเตือนอาจมีความสำคัญเกี่ยวกับกฎเหล่านี้ แม้ว่าคำสั่งเริ่มต้น ufw จะอนุญาตให้คุณใช้พารามิเตอร์ปฏิเสธเพิ่มเติมได้ แต่คุณก็สามารถล็อกตัวเองออกจากโครงสร้างเซิร์ฟเวอร์ส่วนตัวของคุณเองหรือทำสิ่งแปลกๆ อื่นๆ ได้อย่างง่ายดาย หากคุณต้องการ sudo ufw อนุญาต ssh หรือบรรทัดอื่นๆ ที่คล้ายกันในชุดกฎของคุณ ต้องมาก่อนที่คุณใช้กฎการปฏิเสธหรือปฏิเสธที่เป็นค่าเริ่มต้น

แม้ว่าเครื่องมือกราฟิกบางอย่างจะมีอยู่เช่น Gufw และ kmyfirewall ที่ใช้ Qt แต่ก็ง่ายพอที่จะกำหนดค่า ufw จากบรรทัดคำสั่งที่คุณไม่ต้องการใช้จริงๆ หากคุณจำเป็นต้องแก้ไขไฟล์การกำหนดค่าโดยตรงแทน ให้ใช้คำสั่งเพื่อย้ายไปยังไดเร็กทอรีที่ถูกต้อง จากนั้นใช้ sudo nanofw เพื่อแก้ไข คุณอาจต้องการใช้ ufw มากกว่าหรือน้อยกว่าในตอนแรกเพื่อดูข้อความก่อนทำการเปลี่ยนแปลงใดๆ

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

เกี่ยวกับผู้เขียน

การเรียนรู้ UFW:คำแนะนำทีละขั้นตอนเกี่ยวกับการรักษาความปลอดภัยไฟร์วอลล์ Linux

เควิน แอร์โรว์ส

Kevin Arrows เป็นผู้เชี่ยวชาญด้านเทคโนโลยีที่มีประสบการณ์สูงและมีความรู้และมีประสบการณ์ในอุตสาหกรรมมานานกว่าทศวรรษ เขาได้รับการรับรองจาก Microsoft Certified Technology Specialist (MCTS) และมีความมุ่งมั่นอย่างแรงกล้าที่จะติดตามข่าวสารเกี่ยวกับการพัฒนาเทคโนโลยีล่าสุด Kevin ได้เขียนหัวข้อที่เกี่ยวข้องกับเทคโนโลยีอย่างกว้างขวาง โดยนำเสนอความเชี่ยวชาญและความรู้ของเขาในด้านต่างๆ เช่น การพัฒนาซอฟต์แวร์ ความปลอดภัยทางไซเบอร์ และการประมวลผลแบบคลาวด์ การมีส่วนร่วมของเขาในด้านเทคโนโลยีได้รับการยอมรับและเคารพอย่างกว้างขวางจากเพื่อนร่วมงานของเขา และเขาได้รับการยกย่องอย่างสูงจากความสามารถของเขาในการอธิบายแนวคิดทางเทคนิคที่ซับซ้อนในลักษณะที่ชัดเจนและรัดกุม