การป้องกัน Mikrotik จากกำลังดุร้าย จะกำหนดค่าและป้องกัน Mikrotik จากการบุกรุกของศัตรูจากภายนอกได้อย่างไร? การสร้างการสำรองข้อมูลการกำหนดค่า

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

การป้องกันไมโครติก

1. การเปลี่ยนชื่อล็อกอินและรหัสผ่านของผู้ดูแลระบบ

เริ่มต้นด้วยการป้องกันหลักของเราเตอร์ของเรา - สร้างการเข้าสู่ระบบและรหัสผ่านของผู้ดูแลระบบที่ป้องกันการแฮ็ก ตามค่าเริ่มต้น Mikrotik จะใช้การเข้าสู่ระบบ ผู้ดูแลระบบและรหัสผ่านว่างเปล่า มาแก้ไขปัญหานี้: เชื่อมต่อผ่าน Winbox กับเราเตอร์ของเราแล้วไปที่ส่วนการตั้งค่า ระบบผู้ใช้- เราเห็นผู้ใช้ ผู้ดูแลระบบซึ่งกำหนดค่าไว้ตามค่าเริ่มต้น:

มาเพิ่มผู้ใช้ใหม่ซึ่งจะมีรายละเอียดการแฮ็กที่เข้มงวดยิ่งขึ้น (เข้าสู่ระบบ/รหัสผ่าน) โดยคลิกที่ไอคอน "+" ที่มุมซ้ายบน:


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

2. พอร์ตบริการ

เราเตอร์ Mikrotik มีบริการ "เดินสาย" บางอย่างซึ่งมีพอร์ตที่สามารถเข้าถึงได้จากอินเทอร์เน็ตสาธารณะ อาจเป็นไปได้ว่านี่คือช่องโหว่สำหรับวงจรเครือข่ายของคุณ ดังนั้นเราขอแนะนำให้ไปที่ส่วนการตั้งค่า ไอพีบริการ:


หากคุณเข้าถึง Mikrotik ผ่าน Winbox เท่านั้น เราขอแนะนำให้คุณปิดการใช้งานบริการทั้งหมดยกเว้น วินบ็อกซ์และ สช(ปล่อย ssh ไว้เผื่อไว้) กล่าวคือ:

  • API-SSL
  • www-ssl

หากต้องการปิด ให้คลิกไอคอน "x" สีแดง ตั้งแต่เราจากไป สสสเข้าถึงเซิร์ฟเวอร์มา "รักษาความปลอดภัย" โดยเปลี่ยนพอร์ตจาก 22 เป็น 6022 โดยดับเบิลคลิกที่พอร์ตบริการ SSH แล้วระบุการตั้งค่าในหน้าต่างที่เปิดขึ้น:


คลิก นำมาใช้และ ตกลง.

3. การป้องกันการใช้กำลังดุร้าย (bruteforce)

บนเว็บไซต์อย่างเป็นทางการของ Mikrotik มีคำแนะนำเกี่ยวกับวิธีการปกป้องเราเตอร์ของคุณจากการบังคับใช้รหัสผ่านอย่างดุร้ายผ่านการเข้าถึง FTP และ SSH ในขั้นตอนที่แล้ว เราได้ปิดการเข้าถึง FTP ดังนั้นหากคุณปฏิบัติตามคำแนะนำเหล่านี้อย่างเคร่งครัด ให้ใช้เฉพาะโค้ดเพื่อป้องกันการโจมตี SSH มิฉะนั้น ให้คัดลอกทั้งสองรายการ ดังนั้นให้เปิดเทอร์มินัลการจัดการเราเตอร์ โดยคลิกในเมนูการนำทางด้านขวา เทอร์มินัลใหม่- คัดลอกโค้ดด้านล่างลงในคอนโซลเราเตอร์ตามลำดับ:

/ip ตัวกรองไฟร์วอลล์ #บล็อกการโจมตี FTP เพิ่ม chain=input protocol=tcp dst-port=21 src-address-list=ftp_blacklist action=drop \ comment="drop ftp bruteforcers" เพิ่ม chain=output action=accept protocol=tcp content ="530 การเข้าสู่ระบบไม่ถูกต้อง" dst-limit=1/1m,9,dst-address/1m add chain=output action=add-dst-to-address-list protocol=tcp content="530 การเข้าสู่ระบบไม่ถูกต้อง" \ address- list =ftp_blacklist address-list-timeout=3h #Block การโจมตีผ่าน SSH add chain=input protocol=tcp dst-port=22 src-address-list=ssh_blacklist action=drop \ comment="drop ssh bruteforcers" ปิดการใช้งาน=ไม่มีการเพิ่ม chain = โปรโตคอลอินพุต = tcp dst-port = 22 สถานะการเชื่อมต่อ = ใหม่ \ src-address-list = ssh_stage3 action = add-src-to-address-list address-list = ssh_blacklist \ address-list-timeout = 10d comment = " " ปิดการใช้งาน = ไม่ เพิ่มเชน = อินพุตโปรโตคอล = tcp dst-port = 22 การเชื่อมต่อสถานะ = ใหม่ \ src-address-list = ssh_stage2 การกระทำ = เพิ่ม-src-to-address-list ที่อยู่รายการ = ssh_stage3 \ รายการที่อยู่ - หมดเวลา = 1m ความคิดเห็น = "" ปิดการใช้งาน = ไม่ เพิ่มเชน = อินพุตโปรโตคอล = tcp dst-port = 22 การเชื่อมต่อสถานะ = ใหม่ src-address-list = ssh_stage1 \ การกระทำ = เพิ่ม src-to-address-list ที่อยู่รายการ = ssh_stage2 address-list-timeout=1m comment="" Disable=no เพิ่ม chain=input protocol=tcp dst-port=22 สถานะการเชื่อมต่อ=การกระทำใหม่=add-src-to-address-list \ address-list=ssh_stage1 ที่อยู่ -list-timeout=1m comment="" ปิดการใช้งาน=no

การสร้างการสำรองข้อมูลการกำหนดค่า

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

ส่งออกไฟล์=สำรอง2020-02-10_01:01:07

คุณสามารถค้นหาไฟล์ได้โดยคลิกที่ส่วนในเมนูนำทาง ไฟล์- ดาวน์โหลดลงพีซีของคุณโดยคลิก คลิกขวาเมาส์และเลือก ดาวน์โหลด


การปิดกั้นการเข้าถึงเว็บไซต์

ในเวลาทำงานพนักงานต้องทำงาน ดังนั้นเรามาบล็อกการเข้าถึงแหล่งข้อมูลความบันเทิงเช่น Youtube, Facebook และ Vkontakte กันดีกว่า โดยไปที่ส่วนนี้ ไอพีไฟร์วอลล์- คลิกที่แท็บ โปรโตคอลเลเยอร์ 7จากนั้นคลิกที่ไอคอน “+” ที่มุมซ้ายบน:


เราตั้งชื่อให้กับกฎของเรา ซึ่งจะทำงานที่ระดับ 7 ของโมเดล OSI และในส่วน Regexp เราจะเพิ่ม:

^.+(youtube.com|facebook.com|vk.com).*$

คลิก ตกลงและไปที่แท็บ กฎการกรองและคลิกไอคอน "+":


ในส่วนลูกโซ่ เลือกส่งต่อ ในหน้าต่างเดียวกัน ให้ไปที่แท็บ ขั้นสูงและในฟิลด์ Layer 7 Protocol ให้เลือกกฎการบล็อกที่เราสร้างขึ้น:


ไปที่แท็บ การกระทำแล้วเลือก Action = Drop:


เมื่อการตั้งค่าเสร็จสมบูรณ์ คลิก นำมาใช้และ ตกลง.

บทความนี้มีประโยชน์กับคุณหรือไม่?

โปรดบอกฉันว่าทำไม?

ขออภัยที่บทความนี้ไม่มีประโยชน์สำหรับคุณ: (โปรดหากไม่ยากระบุสาเหตุ เราจะขอบคุณมากสำหรับคำตอบโดยละเอียด ขอบคุณที่ช่วยให้เราดีขึ้น!

อย่างไรก็ตาม คุณไม่ควรคิดว่ามีเพียง Mikrotik เท่านั้นที่มีปัญหาด้านความปลอดภัย Ubiquiti ก็มีเช่นกัน ไม่ต้องพูดถึงแบรนด์ต่างๆ เช่น TP-Link เป็นต้น เป็นเรื่องที่แตกต่างไปจากเดิมอย่างสิ้นเชิงที่ช่องโหว่บางรายการไม่ได้เปิดเผยต่อสาธารณะ และไม่ใช่ทุกบริษัทจะแก้ไขปัญหาได้อย่างรวดเร็ว

RouterOS 6.35.8 – การปฏิเสธการให้บริการ

ช่องโหว่ใน Network Stack ของ MikroTik เวอร์ชัน 6.38.5 ที่เผยแพร่เมื่อ 2017-03-09 อาจทำให้ผู้โจมตีระยะไกลที่ไม่ได้รับการรับรองความถูกต้องสามารถระบาย CPU ที่มีอยู่ทั้งหมดผ่านทางแพ็กเก็ต TCP RST จำนวนมาก ส่งผลให้เราเตอร์ที่ได้รับผลกระทบไม่สามารถยอมรับการเชื่อมต่อ TCP ใหม่ได้

หากคุณต้องการเรียนรู้วิธีตั้งค่า MikroTik เราขอแนะนำให้คุณดำเนินการต่อไป มากกว่า ข้อมูลรายละเอียดคุณสามารถดูได้ในตอนท้ายของเอกสารนี้


สาระสำคัญของช่องโหว่ ROS 6.38.5 อยู่ที่ความเป็นไปได้ของการโหลดเราเตอร์จากระยะไกลด้วยแพ็กเก็ต TCP RST (ฟลัด) ซึ่งทำให้มีการใช้ทรัพยากร CPU สูงถึง 100% และทำให้ไม่สามารถรับแพ็กเก็ตเพิ่มเติมได้ ทำให้เกิดการปฏิเสธการให้บริการ (ดอส).

> การตรวจสอบทรัพยากรระบบ cpu ที่ใช้: 100% cpu ที่ใช้ต่อ cpu: หน่วยความจำว่าง 100%: 8480KiB

การโจมตีเกิดขึ้นที่พอร์ต 8291 ซึ่งใช้ภายใต้ Winbox ยิ่งไปกว่านั้น การใช้ประโยชน์นั้นเปิดเผยต่อสาธารณะ สถานการณ์ยิ่งเลวร้ายลงจากความจริงที่ว่าการใช้งานนั้นไม่ต้องการการรับรองความถูกต้อง เช่น แม้กระทั่งรู้การเข้าสู่ระบบ

วิธีการป้องกัน

เพื่อเป็นมาตรการชั่วคราว คุณสามารถเปลี่ยนพอร์ต Winbox จาก 8291 เป็นพอร์ตที่ไม่ได้มาตรฐานได้ ซึ่งสามารถทำได้ในส่วนภายใต้ IP – บริการ ข้อเสีย วิธีนี้คือไม่ได้ป้องกันการสแกนพอร์ตแต่อย่างใด อย่างไรก็ตามใน Mikrotik ไม่มีการป้องกันการสแกนพอร์ตเลยในกฎไฟร์วอลล์พื้นฐาน หากคุณพบผู้ใช้ที่มีประสบการณ์ การเปลี่ยนพอร์ตจะไม่หยุดเขา แต่อย่างใด



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

ตัวกรองไฟร์วอลล์ Ip เพิ่ม chain=input action=accept protocol=tcp src-address=ADMIN_IP dst-port=8291 comment=Allow_Winbox

โดยที่ ADMIN_IP ต้องถูกแทนที่ด้วย IP ของคุณ ในขณะเดียวกันอย่าลืมปฏิเสธการเข้าถึง Winbox ไปยัง IP อื่น ๆ ทั้งหมด

สำหรับผู้ใช้ที่ใช้เราเตอร์ Mikrotik ที่บ้าน ไม่ต้องกังวล เนื่องจากกฎไฟร์วอลล์พื้นฐานห้ามไม่ให้เข้าถึง Winbox จาก WAN (อินเทอร์เน็ต) แต่สำหรับคนตัวใหญ่ เครือข่ายองค์กรหรือผู้ให้บริการ ปัญหาจะร้ายแรงกว่ามาก เนื่องจากการกระทำของสัตว์รบกวนอาจทำให้เครือข่ายล้มเหลวได้

จนกว่าช่องโหว่จะได้รับการแก้ไข ไม่มีอะไรเหลือให้ทำนอกจากรอการเปิดตัวอัปเดตสำหรับ RouterOS

อัปเดตสถานะ ณ วันที่ 04/04/2014

การอภิปรายเกี่ยวกับช่องโหว่นี้ยังคงดำเนินต่อไปในฟอรัม mikrotik อย่างเป็นทางการ

ผู้ใช้ un1x0d ทำการทดสอบช่องโหว่บน RB751, hEX lite และ CHR (8x Xeon) ส่งผลให้อุปกรณ์ทั้งสามโหลดได้ 100% ซึ่งทำให้บริการเครือข่ายทั้งหมดล้มเหลว นอกจากนี้ ดังที่ un1x0d ระบุไว้ ช่องโหว่ไม่ได้ขึ้นอยู่กับพอร์ตและทำงานร่วมกับพอร์ตอื่นๆ ได้

ผู้ใช้ McSlash ทดสอบช่องโหว่บน RB951, RB2011, hAp Lite และ CCR1036 - การใช้ประโยชน์ได้ผลในทุกกรณี ไม่มีกฎไฟร์วอลล์ช่วย ฝ่ายสนับสนุน Mikrotik ยังไม่ยอมรับช่องโหว่นี้ เรายังคงติดตามการพัฒนาอย่างต่อเนื่อง

หลักสูตรวิดีโอ “การตั้งค่าอุปกรณ์ MikroTik” (คล้ายกับ MTCNA)

คุณกำลังเรียนรู้ที่จะทำงานกับ MikroTik หรือไม่? ฉันขอแนะนำหลักสูตรวิดีโอ "" หลักสูตรครอบคลุมทุกหัวข้อจากทางการ หลักสูตร MTCNA และเนื้อหาเพิ่มเติมมากมาย หลักสูตรนี้เป็นการผสมผสานระหว่างส่วนทางทฤษฎีและการปฏิบัติ - การตั้งค่าเราเตอร์ตามข้อกำหนดทางเทคนิค การให้คำปรึกษาเกี่ยวกับการมอบหมายหลักสูตรดำเนินการโดย Dmitry Skoromnov ผู้เขียน เหมาะสำหรับผู้ที่เพิ่งรู้จักอุปกรณ์ MikroTik เป็นครั้งแรก และสำหรับการจัดระบบความรู้สำหรับผู้เชี่ยวชาญที่มีประสบการณ์

Mikrotik - เราเตอร์, เราเตอร์, จุดเข้าใช้งาน

จะตั้งค่าไมโครติกได้อย่างไร? จะป้องกัน Mikrotik จากการบุกรุกของศัตรูจากภายนอกได้อย่างไร?
การตั้งค่าเริ่มต้นของเราเตอร์ Mikrotik (เราเตอร์) การป้องกัน Mikrotik เริ่มต้น

เพื่อปกป้องเราเตอร์ Mikrotik คุณต้อง:
1. เปลี่ยนรหัสผ่านผู้ดูแลระบบ
2. ปิดการใช้งานบริการที่ไม่จำเป็นและไม่ได้ใช้
3. เปิดใช้งาน NAT
4. กำหนดค่าไฟร์วอลล์ - จัดระเบียบการกรองและเส้นทางแพ็กเก็ต

ป.ล. หลังจากตั้งค่าคำสั่ง R - เราเตอร์จะลบการตั้งค่าทั้งหมด แต่ไม่ใช่รหัสผ่านคุณสามารถเชื่อมต่อผ่าน WinBox ผ่าน IP - 192.168.88.1

การตั้งค่าจากคอนโซล:
ชื่อผู้ดูแลระบบ รหัสผ่านว่างเปล่า
หากคุณลืมรหัสผ่าน สิ่งเดียวที่จะช่วยคุณได้คือการรีเซ็ตโดยสมบูรณ์ - ติดตั้งเราเตอร์ใหม่!
การเปลี่ยนรหัสผ่าน:
>ผู้ใช้แก้ไขรหัสผ่านผู้ดูแลระบบ
ตัวแก้ไขจะเปิดขึ้น ป้อนรหัสผ่านใหม่ หากต้องการบันทึกและออก ให้กด Ctrl+o (Control และตัวอักษร o พร้อมกัน)
คุณสามารถเพิ่มผู้ใช้ใหม่ได้ ในกรณี:
>ใช้เพิ่ม name=mkt รหัสผ่าน=12345 group=full

มาดูกันว่ามีอินเทอร์เฟซอะไรบ้าง:
>การพิมพ์อินเทอร์เฟซ


0 X ;;; วาน
อีเธอร์1 อีเธอร์ 1500 1600 1600
1x ;;; แลน
อีเธอร์2 อีเทอร์ 1500 1600 1600

เปิดใช้งานสิ่งที่คุณต้องการ:
> อินเทอร์เฟซเปิดใช้งาน 0
> เปิดใช้งานอินเทอร์เฟซ 1
>การพิมพ์อินเทอร์เฟซ
แฟล็ก: D — ไดนามิก, X — ปิดการใช้งาน, R — กำลังทำงาน, S — ทาส
# ประเภทชื่อ MTU L2MTU MAX-L2MTU
0 ร ;;; วาน
อีเธอร์1 อีเธอร์ 1500 1600 1600
1 ร ;;; แลน
อีเธอร์2 อีเทอร์ 1500 1600 1600

ลองดูที่ IP:
> พิมพ์ที่อยู่ IP
ตัวอย่างเช่น ใช้พารามิเตอร์ต่อไปนี้:
ผู้ให้บริการ (อินเทอร์เน็ต) - 195.196.10.50
GW (เกตเวย์) - 195.196.10.49
เซิร์ฟเวอร์ DNS - 195.196.11.10, 195.196.12,10
เครือข่ายท้องถิ่น (ภายใน) - 192.168.18.0/24
เพิ่มผู้ให้บริการ IP:
> ที่อยู่ IP เพิ่มที่อยู่=195.196.10.10/30 อินเทอร์เฟซ=ether1
เพิ่มท้องถิ่น:
> ที่อยู่ IP เพิ่มที่อยู่=192.168.18.0/24 อินเทอร์เฟซ=ether2
มาดูกันว่าเกิดอะไรขึ้น:
> พิมพ์ที่อยู่ IP
เพิ่มเกตเวย์ Provo:
> เส้นทาง ip เพิ่มเกตเวย์ = 195.196.10.49
มาดูกัน:
> พิมพ์เส้นทาง IP

เพิ่ม DNS ของผู้ให้บริการอินเทอร์เน็ต:
> เซิร์ฟเวอร์ชุด ip dns=195.196.11.10,195.196.12,10 อนุญาตระยะไกลคำขอ=ใช่

เปิดใช้งาน NAT (ปลอม):
> ไฟร์วอลล์ ip nat เพิ่ม chain=srcnat action=masquerade out-interface=ether1
หลังจากการตั้งค่าเหล่านี้ เครือข่ายภายในจะสามารถเข้าถึงอินเทอร์เน็ตได้

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

ป.ล. ก่อนอื่นให้ไปที่ WinBox - IP -> ไฟร์วอลล์ -> พอร์ตบริการ - ปิดการใช้งานทุกอย่าง ปิดการใช้งาน ทิ้งสิ่งที่จำเป็นไว้คือในกรณีของเรา pptp (เซิร์ฟเวอร์ VPN) และหากคุณต้องการใช้ FTP ในตัว - ftp

การเพิ่มกฎ:
ตัวกรองไฟร์วอลล์ ip เพิ่ม chain=input การเชื่อมต่อสถานะ=การกระทำที่ไม่ถูกต้อง=ปล่อยความคิดเห็น=”ปล่อยการเชื่อมต่อที่ไม่ถูกต้อง”
ตัวกรองไฟร์วอลล์ ip เพิ่ม chain=input การเชื่อมต่อสถานะ=การกระทำที่จัดตั้งขึ้น=ยอมรับความคิดเห็น=”อนุญาตการเชื่อมต่อที่สร้างไว้”
ตัวกรองไฟร์วอลล์ ip เพิ่ม chain=input protocol=udp action=accept comment="Allow UDP"
ตัวกรองไฟร์วอลล์ ip เพิ่ม chain=input protocol=icmp action=accept comment="Allow ICMP"
ตัวกรองไฟร์วอลล์ ip เพิ่ม chain=input src-address=192.168.0.0/24 action=accept comment=”อนุญาตการเข้าถึงจากเครือข่ายท้องถิ่น”
กฎสองข้อถัดไปคือหากคุณต้องการตั้งค่าการเข้าถึงผ่าน Mikrotik ไปยังเครือข่ายภายในของคุณผ่าน VPN (เซิร์ฟเวอร์ PPTP)
อันแรกเปิดพอร์ต 1723 อันที่สองอนุญาตโปรโตคอล 47 (GRE)
ตัวกรองไฟร์วอลล์ ip เพิ่ม chain=input action=accept protocol=tcp dst-port=1723 comment=”อนุญาตให้เข้าถึง VPN”
ตัวกรองไฟร์วอลล์ ip เพิ่ม chain=input action=accept protocol=gre comment=”หากคุณมี VPN (เซิร์ฟเวอร์ PPTP)”
กฎต่อไปนี้อนุญาตให้คุณเชื่อมต่อกับ Mikrotik ของคุณผ่าน WinBox (พอร์ตเริ่มต้น 8291)
ป.ล. โดยปกติแล้ว คุณต้องกำหนดค่า "รายการบริการ IP" IP -> บริการ -> รายการบริการ IP คลิกที่บรรทัด winbox หน้าต่างแก้ไขข้อมูลจะเปิดขึ้น -> เปลี่ยน IP เป็นรายการที่คุณจะเชื่อมต่อ ต้องทำเช่นเดียวกันกับ SSH และ WWW ปิดการใช้งานบริการอื่น ๆ ทั้งหมด - ปิดการใช้งาน (ip_address_allow - IP ของคุณ)
ตัวกรองไฟร์วอลล์ ip เพิ่ม chain=input action=accept protocol=tcp src-address=ip_address_allow dst-port=8291 comment=”Allow access over WinBox”
ตัวกรองไฟร์วอลล์ ip เพิ่ม chain=input action=accept protocol=tcp src-address=ip_address_allow dst-port=22 comment="อนุญาตการเข้าถึงผ่าน SSH"
ตัวกรองไฟร์วอลล์ ip เพิ่ม chain=input action=accept protocol=tcp src-address=ip_address_allow dst-port=80 comment="Allow access over WWW"
หากคุณต้องการใช้ FTP ในตัว:
ตัวกรองไฟร์วอลล์ ip เพิ่ม chain=input action=accept protocol=tcp src-address=ip_address_allow dst-port=21 comment=”อนุญาตให้เข้าถึง FTP”
เราสับทุกอย่างอื่น:
ตัวกรองไฟร์วอลล์ ip เพิ่ม chain=input action=drop comment="Drop reject all other"

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

ตัวกรองไฟร์วอลล์ ip เพิ่มเชน = ส่งต่อโปรโตคอล = tcp สถานะการเชื่อมต่อ = การกระทำที่ไม่ถูกต้อง = ปล่อยความคิดเห็น =” ปล่อยการเชื่อมต่อที่ไม่ถูกต้อง”
ตัวกรองไฟร์วอลล์ ip เพิ่มเชน = ส่งต่อสถานะการเชื่อมต่อ = การกระทำที่จัดตั้งขึ้น = ยอมรับความคิดเห็น =” อนุญาตการเชื่อมต่อที่สร้างไว้แล้ว”
ตัวกรองไฟร์วอลล์ ip เพิ่มเชน = ส่งต่อสถานะการเชื่อมต่อ = การกระทำที่เกี่ยวข้อง = ยอมรับความคิดเห็น =” อนุญาตการเชื่อมต่อที่เกี่ยวข้อง”
ในกรณีที่เราอนุญาตให้ผ่านโปรโตคอล GRE:
ตัวกรองไฟร์วอลล์ ip เพิ่ม chain=forward protocol=gre action=accept comment="Allow GRE"
ถ้าคุณมี เซิร์ฟเวอร์วีพีเอ็นเพื่อเริ่ม RDP (เดสก์ท็อประยะไกล) อนุญาตให้ผ่านไปยังพอร์ต 3389
ตัวกรองไฟร์วอลล์ ip เพิ่ม chain=forward protocol=tcp dst-port=3389 action=accept comment=”Allow 3389″

เราบล็อกที่อยู่ IP ของเครือข่ายภายใน
ตัวกรองไฟร์วอลล์ ip เพิ่ม chain=forward src-address=0.0.0.0/8 action=drop
ตัวกรองไฟร์วอลล์ ip เพิ่ม chain=forward dst-address=0.0.0.0/8 action=drop
ตัวกรองไฟร์วอลล์ ip เพิ่ม chain=forward src-address=127.0.0.0/8 action=drop
ตัวกรองไฟร์วอลล์ ip เพิ่ม chain=forward dst-address=127.0.0.0/8 action=drop
ตัวกรองไฟร์วอลล์ ip เพิ่ม chain=forward src-address=224.0.0.0/3 action=drop
ตัวกรองไฟร์วอลล์ ip เพิ่ม chain=forward dst-address=224.0.0.0/3 action=drop

หรือ:
ตัวกรองไฟร์วอลล์ ip เพิ่มโปรโตคอลการส่งต่อลูกโซ่ = การดำเนินการ udp = ยอมรับความคิดเห็น = "อนุญาต UDP"
ตัวกรองไฟร์วอลล์ ip เพิ่มโปรโตคอลการส่งต่อลูกโซ่ = การกระทำ icmp = ยอมรับความคิดเห็น = "อนุญาต ICMP Ping"
หรือ:
สำหรับการรับส่งข้อมูล icmp, udp และ tcp เราจะสร้างเครือข่ายที่เราจะปล่อยแพ็กเก็ตที่ไม่ต้องการ:
มาสร้างการเปลี่ยนแปลงสู่เครือข่ายใหม่กันเถอะ
ตัวกรองไฟร์วอลล์ ip เพิ่ม chain=forward protocol=tcp action=jump jump-target=tcp
ตัวกรองไฟร์วอลล์ ip เพิ่ม chain=forward protocol=udp action=jump jump-target=udp
ตัวกรองไฟร์วอลล์ ip เพิ่ม chain=forward protocol=icmp action=jump jump-target=icmp

มาสร้างกฎ tcp สำหรับ tcp chain และปฏิเสธบางพอร์ต:
ตัวกรองไฟร์วอลล์ ip เพิ่ม chain=tcp protocol=tcp dst-port=69 action=drop comment=”ปฏิเสธ TFTP”
ตัวกรองไฟร์วอลล์ ip เพิ่ม chain=tcp protocol=tcp dst-port=111 action=drop comment=”Deny RPC portmapper”
ตัวกรองไฟร์วอลล์ ip เพิ่ม chain=tcp protocol=tcp dst-port=135 action=drop comment=”Deny RPC portmapper”
ตัวกรองไฟร์วอลล์ ip เพิ่ม chain=tcp protocol=tcp dst-port=137-139 action=drop comment=”Deny NBT”
ตัวกรองไฟร์วอลล์ ip เพิ่ม chain=tcp protocol=tcp dst-port=445 action=drop comment=”Deny Cifs”
ตัวกรองไฟร์วอลล์ ip เพิ่ม chain=tcp protocol=tcp dst-port=2049 action=drop comment=”Deny NFS”
ตัวกรองไฟร์วอลล์ ip เพิ่ม chain=tcp protocol=tcp dst-port=12345-12346 action=drop comment=”Deny NetBus”
ตัวกรองไฟร์วอลล์ ip เพิ่ม chain=tcp protocol=tcp dst-port=20034 action=drop comment=”Deny NetBus”
ตัวกรองไฟร์วอลล์ ip เพิ่ม chain=tcp protocol=tcp dst-port=3133 action=drop comment=”Deny BackOriffice”
ตัวกรองไฟร์วอลล์ ip เพิ่ม chain=tcp protocol=tcp dst-port=67-68 action=drop comment=”Deny DHCP”

มาปิดการใช้งานพอร์ต udp สำหรับ udp chain:
ตัวกรองไฟร์วอลล์ ip เพิ่ม chain=udp protocol=udp dst-port=69 action=drop comment=”ปฏิเสธ TFTP”
ตัวกรองไฟร์วอลล์ ip เพิ่ม chain=udp protocol=udp dst-port=111 action=drop comment=”Deny PRC portmapper”
ตัวกรองไฟร์วอลล์ ip เพิ่ม chain=udp protocol=udp dst-port=135 action=drop comment=”Deny PRC portmapper”
ตัวกรองไฟร์วอลล์ ip เพิ่ม chain=udp protocol=udp dst-port=137-139 action=drop comment=”Deny NBT”
ตัวกรองไฟร์วอลล์ ip เพิ่ม chain=udp protocol=udp dst-port=2049 action=drop comment=”Deny NFS”
ตัวกรองไฟร์วอลล์ ip เพิ่ม chain=udp protocol=udp dst-port=3133 action=drop comment=”Deny BackOriffice”

อนุญาตเฉพาะรหัส icmp ที่จำเป็นสำหรับห่วงโซ่ icmp:
ตัวกรองไฟร์วอลล์ ip เพิ่ม chain=icmp protocol=icmp icmp-options=0:0 action=accept comment=»ปล่อยการเชื่อมต่อที่ไม่ถูกต้อง»
ตัวกรองไฟร์วอลล์ ip เพิ่ม chain=icmp protocol=icmp icmp-options=3:0 action=accept comment=”Dllow ที่สร้างการเชื่อมต่อ”
ตัวกรองไฟร์วอลล์ ip เพิ่ม chain=icmp protocol=icmp icmp-options=3:1 action=accept comment=»อนุญาตการเชื่อมต่อที่สร้างไว้แล้ว»
ตัวกรองไฟร์วอลล์ ip เพิ่ม chain=icmp protocol=icmp icmp-options=4:0 action=accept comment=”Allow source quench”
ตัวกรองไฟร์วอลล์ ip เพิ่ม chain=icmp protocol=icmp icmp-options=8:0 action=accept comment=”Allow echo request”
ตัวกรองไฟร์วอลล์ ip เพิ่ม chain=icmp protocol=icmp icmp-options=11:0 action=accept comment="อนุญาตให้เกินเวลา"
ตัวกรองไฟร์วอลล์ ip เพิ่ม chain=icmp protocol=icmp icmp-options=12:0 action=accept comment=”Allow parameter bad”
ตัวกรองไฟร์วอลล์ ip เพิ่ม chain=icmp action=drop comment=»ปฏิเสธประเภทอื่น ๆ ทั้งหมด»

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

รายการคำสั่งแบบเต็มซึ่งคุณอาจเห็นในวิกิอย่างเป็นทางการ (http://wiki.mikrotik.com/wiki/Bruteforce_login_prevention):

เพิ่ม chain=input protocol=tcp dst-port=22 src-address-list=ssh_blacklist action=drop comment="drop ssh bruteforcers" ปิดการใช้งาน=no
เพิ่มห่วงโซ่ = โปรโตคอลอินพุต = tcp dst-port = 22 สถานะการเชื่อมต่อ = ใหม่ src-address-list = ssh_stage3 การกระทำ = add-src-to-address-list address-list = ssh_blacklist ที่อยู่รายการหมดเวลา = 10d ความคิดเห็น = " " ปิดการใช้งาน = ไม่
เพิ่มลูกโซ่ = โปรโตคอลอินพุต = tcp dst-port = 22 สถานะการเชื่อมต่อ = ใหม่ src-address-list = ssh_stage2 การกระทำ = add-src-to-address-list address-list = ssh_stage3 address-list-timeout = 1m ความคิดเห็น = " " ปิดการใช้งาน = ไม่
เพิ่มลูกโซ่ = โปรโตคอลอินพุต = tcp dst-port = 22 สถานะการเชื่อมต่อ = ใหม่ src-address-list = ssh_stage1 การกระทำ = เพิ่ม-src-to-address-list ที่อยู่รายการ = ssh_stage2 ที่อยู่รายการหมดเวลา = 1m ความคิดเห็น = " " ปิดการใช้งาน = ไม่
เพิ่มลูกโซ่ = โปรโตคอลอินพุต = tcp dst-port = 22 สถานะการเชื่อมต่อ = การกระทำใหม่ = add-src-to-address-list ที่อยู่รายการ = ssh_stage1 ที่อยู่รายการหมดเวลา = 1m ความคิดเห็น = "" ปิดการใช้งาน = ไม่

และมีหลายที่บนอินเทอร์เน็ตที่มีชุดนี้จำหน่าย ฉันจะอธิบายเพียงเล็กน้อยว่ามันทำอะไร

แนวคิดก็คือ: เราพยายามเชื่อมต่ออย่างถูกต้องสามครั้งภายในระยะเวลาอันสั้นเพื่อเชื่อมต่อผ่าน ssh (22/tcp หากคุณมีพอร์ตอื่น ให้ใช้พอร์ตของคุณเอง) ในความพยายามครั้งที่สี่ เราจะแบนคุณเป็นเวลา 10 วัน เรามีสิทธิ์ ดังนั้นทีละขั้นตอน

1. เมื่อสร้างการเชื่อมต่อใหม่ (สถานะการเชื่อมต่อ=ใหม่) ด้วยพอร์ต 22/tcp เราจะจดจำ IP ต้นทางและวางไว้ในรายการ “ssh_stage1” เป็นเวลา 1 นาที:

เพิ่มลูกโซ่ = โปรโตคอลอินพุต = tcp dst-port = 22 สถานะการเชื่อมต่อ = การกระทำใหม่ = add-src-to-address-list ที่อยู่รายการ = ssh_stage1 ที่อยู่รายการหมดเวลา = 1m ความคิดเห็น = "" ปิดการใช้งาน = ไม่

2. หากในระหว่างนาทีนี้ “ใครบางคน” นี้ (และเราจำเขาได้ใน “ssh_stage1”) อีกครั้ง ต้องการสร้างการเชื่อมต่อใหม่กับ 22/tcp เราจะเพิ่มเขาเข้าไปในรายการ “ssh_stage2” และเป็นเวลา 1 นาทีด้วย:

เพิ่มลูกโซ่ = โปรโตคอลอินพุต = tcp dst-port = 22 สถานะการเชื่อมต่อ = ใหม่ src-address-list = ssh_stage1 การกระทำ = เพิ่ม-src-to-address-list ที่อยู่รายการ = ssh_stage2 ที่อยู่รายการหมดเวลา = 1m ความคิดเห็น = " " ปิดการใช้งาน = ไม่

3. หากในช่วงเวลานี้ “ใครบางคน” (ตอนนี้อยู่ใน “ssh_stage2”) ต้องการเชื่อมต่อกับ 22/tcp อีกครั้ง เราจะเพิ่มเขาเข้าไปในรายการ “ssh_stage3” (ใช่ คุณเดาได้อีกครั้งเป็นเวลา 1 นาที):

เพิ่มลูกโซ่ = โปรโตคอลอินพุต = tcp dst-port = 22 สถานะการเชื่อมต่อ = ใหม่ src-address-list = ssh_stage2 การกระทำ = add-src-to-address-list address-list = ssh_stage3 address-list-timeout = 1m ความคิดเห็น = " " ปิดการใช้งาน = ไม่

4. หากเขาขัดขืน เราก็จะเพิ่มเขาเข้าไปใน "บัญชีดำ" "ssh_blacklist" ของเราเป็นเวลา 10 วัน เพราะมันไม่สำคัญ

เพิ่มห่วงโซ่ = โปรโตคอลอินพุต = tcp dst-port = 22 สถานะการเชื่อมต่อ = ใหม่ src-address-list = ssh_stage3 การกระทำ = add-src-to-address-list address-list = ssh_blacklist ที่อยู่รายการหมดเวลา = 10d ความคิดเห็น = " " ปิดการใช้งาน = ไม่

5. และด้วยคำสั่งนี้ เราจะแบนทุกคนจากรายการ "ssh_blacklist" โดยไม่ต้องสงสัย (โปรดทราบว่ากฎจะไม่ทำงานตามค่าเริ่มต้น):

เพิ่ม chain=input protocol=tcp dst-port=22 src-address-list=ssh_blacklist action=drop comment="drop ssh bruteforcers" ปิดการใช้งาน=yes

ในความเป็นจริงเมื่อฉันสร้างโครงการดังกล่าวและพยายามเชื่อมต่อจากคอนโซล Linux กับ IP ภายนอกของ mikrotik ของฉันในความพยายามครั้งที่สอง (และไม่ใช่ในวันที่ 3 หรือ 4) IP "ผู้โจมตี" ก็รวมอยู่ใน "ssh_blacklist " รายการ. ฉันไม่ได้ใช้ ssh กับ Mikrotik ดังนั้นในกรณีของฉันมันไม่ร้ายแรง แต่ถ้าคุณเชื่อมต่อจากระยะไกลแบบนั้นจริงๆ ในตอนแรก อาจเป็นความคิดที่ดีที่จะไม่เปิดใช้งานกฎการแบน (disabled=yes)- ปล่อยให้พวกเขาอยู่ในรายชื่อ ไม่ต้องถามคำถาม ประเมินในทางปฏิบัติว่าคุณต้องเชื่อมต่อติดต่อกันกี่ครั้งก่อนที่จะเข้าสู่รายการแบน หลังจากตรวจสอบแล้ว ให้เปิดใช้งานกฎการแบนตามรายการ "ssh_blacklist"!ฉันขอโทษที่คำสั่งนั้นยาว แต่ parser กินแบ็กสแลช ดังนั้นมันจึงจบลงในบรรทัดเดียว