Welcome to Sysnet Board คู่มือ การใช้งานอุปกรณ์ Network. Please log in or sign up.
สมาชิกทั้งหมด
17,949
กระทู้ทั้งหมด
9,949
หัวข้อทั้งหมด
4,633

  • กำหนดความปลอดภัยจาก Hacker ให้กับ Mikrotik Router
    เริ่มโดย yod
    Read 114,054 times
0 สมาชิก และ 1 ผู้มาเยือน กำลังดูหัวข้อนี้
yod

กำหนดความปลอดภัยจาก Hacker ให้กับ Mikrotik Router



เนื่องจากที่ผ่านมา มีลูกค้าหลายๆท่านยังคงโดน Hacker หรือโดน Bot โจมตี ตัว Mikrotik เปลี่ยน Password เข้า Web จีน เมื่อพิมพ์ google กันอยู่บ่อยๆ ซึ่งเมื่อเกิดปัญหาจะต้อง Reset ค่า กันใหม่อย่างเดียวเลยครับ


หัวข้อนี้ค่อนข้างจะเยอะนิดนึงนะครับ ขั้นต้นเข้า Winbox --> Files แล้ว Click [Backup] ไว้ก่อนเลย เผื่อพลาด  :D


1. เปลี่ยน User/Password สำหรับ Login เข้า Winbox เพราะโดย Default จะเป็น admin และ password เป็นว่าง




2. เข้า Menu IP --> Service ให้ทำการ Disable Service ที่ไม่ได้ใช้ออก เช่นพวก ssh, telnet หรือตามรูปได้เลย




3. Menu --> IP --> Firewall --> Service Ports ให้ Disable ออกให้หมดเลยครับ




4. Copy Firewall Script แล้วนำไปแปะที่ New Terminal โดยการ Click Mouse ขวา โดย Firewall Script รายละเอียด Script จะอยู่ด้านล่างๆ แต่ไม่ต้องลงทุกอันก็ได้ครับ




เมื่อ Paste ลงไปแล้ว อย่าลืมเคาะ Enter 1 ครั้ง เพื่อให้บรรทัดสุดท้ายทำงานด้วยครับ




หลังจากลง Firewall Script ให้กับ Mikrotik เรียบร้อยแล้ว เข้าดูผลงานได้ที่ IP --> Firewall --> Filter Rules ครับ




กรณีทำระบบ Hotspot Authenticate

5. เข้า Menu IP --> Hotspot --> Users จะเห็นว่ามี User อยู่ชื่อนึงเป็น admin และ passwod เป็นว่าง ให้ทำการเปลี่ยน User/Password เป็นอย่างอื่นครับ




กรณีอุปกรณ์ Mikrotik มี Interface Wireless

ให้ตั้ง Wireless Security ด้วยนะครับ

6. Menu Wireless --> Security Profiles แก้ไขเป็น WPA PSK, WPA2 PSK จากนั้นก็กำหนด WPA Pre-Share Key




7. เลือก Wireless Security ให้กับ Wireless Interface




กรณีใช้ User Manager เพื่อทำการ Generate รหัสผ่านให้กับระบบ Hotspot Authen

8. Menu Customer จะมี User ชื่อ admin และ password เป็นว่าง ให้เปลี่ยนด้วยครับ




จากนั้นก็ทำการ Backup ค่าต่างๆที่ Config ไว้




Firewall Script



Customer protection (forward chain - traffic passing through the router) ให้ Run อันนี้อันแรกเลยนะครับ จะช่วยให้ทำงานไวขึ้น


/ip firewall filter
add chain=forward connection-state=invalid \ action=drop comment="drop invalid connections"
add chain=forward connection-state=established action=accept \ comment="allow already established connections"
add chain=forward connection-state=related action=accept \ comment="allow related connections"


ยอมให้มีการใช้ icmp


/ip firewall filter
add chain=icmp protocol=icmp icmp-options=0:0 action=accept \ comment="echo reply"
add chain=icmp protocol=icmp icmp-options=3:0 action=accept \ comment="net unreachable"
add chain=icmp protocol=icmp icmp-options=3:1 action=accept \ comment="host unreachable"
add chain=icmp protocol=icmp icmp-options=4:0 action=accept \ comment="allow source quench"
add chain=icmp protocol=icmp icmp-options=8:0 action=accept \ comment="allow echo request"
add chain=icmp protocol=icmp icmp-options=11:0 action=accept \ comment="allow time exceed"
add chain=icmp protocol=icmp icmp-options=12:0 action=accept \ comment="allow parameter bad"
add chain=icmp action=drop comment="deny all other types"



Block การสุ่ม Login ในแบบ Bruteforce (สุ่ม User/Password Login อัดเข้ามา)


Login FTP ผิด 10 ครั้งต่อนาที

/ip firewall filter
add chain=input protocol=tcp dst-port=21 src-address-list=ftp_blacklist action=drop \ comment="drop ftp brute forcers"
add chain=output action=accept protocol=tcp content="530 Login incorrect" dst-limit=1/1m,9,dst-address/1m
add chain=output action=add-dst-to-address-list protocol=tcp content="530 Login incorrect" \ address-list=ftp_blacklist address-list-timeout=3h



Prevent a SSH brute forcer to be banned for 10 days after repetitive attempts: อันนี้ Ban 10 วันเลย

/ip firewall filter
add chain=input protocol=tcp dst-port=22 src-address-list=ssh_blacklist action=drop \ comment="drop ssh brute forcers" disabled=no
add chain=input protocol=tcp dst-port=22 connection-state=new \ src-address-list=ssh_stage3 action=add-src-to-address-list address-list=ssh_blacklist \ address-list-timeout=10d comment="" disabled=no
add chain=input protocol=tcp dst-port=22 connection-state=new \ src-address-list=ssh_stage2 action=add-src-to-address-list address-list=ssh_stage3 \ address-list-timeout=1m comment="" disabled=no
add chain=input protocol=tcp dst-port=22 connection-state=new src-address-list=ssh_stage1 \ action=add-src-to-address-list address-list=ssh_stage2 address-list-timeout=1m comment="" disabled=no
add chain=input protocol=tcp dst-port=22 connection-state=new action=add-src-to-address-list \ address-list=ssh_stage1 address-list-timeout=1m comment="" disabled=no
add chain=forward protocol=tcp dst-port=22 src-address-list=ssh_blacklist action=drop \ comment="drop ssh brute downstream" disabled=no



Drop port scanners


/ip firewall filter
add chain=input protocol=tcp psd=21,3s,3,1 action=add-src-to-address-list address-list="port scanners" address-list-timeout=2w comment="Port scanners to list " disabled=no
add chain=input protocol=tcp tcp-flags=fin,!syn,!rst,!psh,!ack,!urg action=add-src-to-address-list address-list="port scanners" address-list-timeout=2w comment="NMAP FIN Stealth scan"
add chain=input protocol=tcp tcp-flags=fin,syn action=add-src-to-address-list address-list="port scanners" address-list-timeout=2w comment="SYN/FIN scan"
add chain=input protocol=tcp tcp-flags=syn,rst action=add-src-to-address-list address-list="port scanners" address-list-timeout=2w comment="SYN/RST scan"
add chain=input protocol=tcp tcp-flags=fin,psh,urg,!syn,!rst,!ack action=add-src-to-address-list address-list="port scanners" address-list-timeout=2w comment="FIN/PSH/URG scan"
add chain=input protocol=tcp tcp-flags=fin,syn,rst,psh,ack,urg action=add-src-to-address-list address-list="port scanners" address-list-timeout=2w comment="ALL/ALL scan"
add chain=input protocol=tcp tcp-flags=!fin,!syn,!rst,!psh,!ack,!urg action=add-src-to-address-list address-list="port scanners" address-list-timeout=2w comment="NMAP NULL scan"



Drop those IPs in both Input & Forward chains:


/ip firewall filter
add chain=input src-address-list="port scanners" action=drop comment="dropping port scanners" disabled=no
add chain=forward src-address-list="port scanners" action=drop comment="dropping port scanners" disabled=no



Block Bogon IP addresses


/ip firewall filter
add chain=forward src-address=0.0.0.0/8 action=drop \ comment="Block Bogon IP addresses"
add chain=forward dst-address=0.0.0.0/8 action=drop
add chain=forward src-address=127.0.0.0/8 action=drop
add chain=forward dst-address=127.0.0.0/8 action=drop
add chain=forward src-address=224.0.0.0/3 action=drop
add chain=forward dst-address=224.0.0.0/3 action=drop



Make jumps to new chains


/ip firewall filter
add chain=forward protocol=tcp action=jump jump-target=tcp \ comment="Make jumps to new chains"
add chain=forward protocol=udp action=jump jump-target=udp
add chain=forward protocol=icmp action=jump jump-target=icmp



Create TCP chain and deny some TCP ports in it (revise port numbers as needed)


/ip firewall filter
add chain=tcp protocol=tcp dst-port=69 action=drop \ comment="deny TFTP"
add chain=tcp protocol=tcp dst-port=111 action=drop \ comment="deny RPC portmapper"
add chain=tcp protocol=tcp dst-port=135 action=drop \ comment="deny RPC portmapper"
add chain=tcp protocol=tcp dst-port=137-139 action=drop \ comment="deny NBT"
add chain=tcp protocol=tcp dst-port=445 action=drop \ comment="deny cifs"
add chain=tcp protocol=tcp dst-port=2049 action=drop comment="deny NFS"
add chain=tcp protocol=tcp dst-port=12345-12346 action=drop comment="deny NetBus"
add chain=tcp protocol=tcp dst-port=20034 action=drop comment="deny NetBus"
add chain=tcp protocol=tcp dst-port=3133 action=drop comment="deny  BackOriffice"
add chain=tcp protocol=tcp dst-port=67-68 action=drop comment="deny DHCP"



Create UDP chain and deny some UDP ports in it  (revise port numbers as needed)


/ip firewall filter
add chain=udp protocol=udp dst-port=69 action=drop comment="deny TFTP"
add chain=udp protocol=udp dst-port=111 action=drop comment="deny PRC portmapper"
add chain=udp protocol=udp dst-port=135 action=drop comment="deny PRC portmapper"
add chain=udp protocol=udp dst-port=137-139 action=drop comment="deny NBT"
add chain=udp protocol=udp dst-port=2049 action=drop comment="deny NFS"
add chain=udp protocol=udp dst-port=3133 action=drop comment="deny BackOriffice"



Block Port Virus



/ip firewall filter

add chain=virus protocol=tcp dst-port=135-139 action=drop comment="Drop Blaster Worm"
add chain=virus protocol=udp dst-port=135-139 action=drop comment="Drop Messenger Worm"   
add chain=virus protocol=tcp dst-port=445 action=drop comment="Drop Blaster Worm & WannaCrypt"
add chain=virus protocol=udp dst-port=445 action=drop comment="Drop Blaster Worm"
add chain=virus protocol=tcp dst-port=593 action=drop comment="________"
add chain=virus protocol=tcp dst-port=1024-1030 action=drop comment="________"
add chain=virus protocol=tcp dst-port=1080 action=drop comment="Drop MyDoom"
add chain=virus protocol=tcp dst-port=1214 action=drop comment="________"
add chain=virus protocol=tcp dst-port=1363 action=drop comment="ndm requester"
add chain=virus protocol=tcp dst-port=1364 action=drop comment="ndm server"
add chain=virus protocol=tcp dst-port=1368 action=drop comment="screen cast"
add chain=virus protocol=tcp dst-port=1373 action=drop comment="hromgrafx"
add chain=virus protocol=tcp dst-port=1377 action=drop comment="cichlid"
add chain=virus protocol=tcp dst-port=1433-1434 action=drop comment="Worm"
add chain=virus protocol=tcp dst-port=2745 action=drop comment="Bagle Virus"
add chain=virus protocol=tcp dst-port=2283 action=drop comment="Drop Dumaru.Y"
add chain=virus protocol=tcp dst-port=2535 action=drop comment="Drop Beagle"
add chain=virus protocol=tcp dst-port=2745 action=drop comment="Drop Beagle.C-K"
add chain=virus protocol=tcp dst-port=3127-3128 action=drop comment="Drop MyDoom"
add chain=virus protocol=tcp dst-port=3410 action=drop comment="Drop Backdoor OptixPro"
add chain=virus protocol=tcp dst-port=4444 action=drop comment="Worm"
add chain=virus protocol=udp dst-port=4444 action=drop comment="Worm"
add chain=virus protocol=tcp dst-port=5554 action=drop comment="Drop Sasser"
add chain=virus protocol=tcp dst-port=8866 action=drop comment="Drop Beagle.B"
add chain=virus protocol=tcp dst-port=9898 action=drop comment="Drop Dabber.A-B"
add chain=virus protocol=tcp dst-port=10000 action=drop comment="Drop Dumaru.Y"
add chain=virus protocol=tcp dst-port=10080 action=drop comment="Drop MyDoom.B"
add chain=virus protocol=tcp dst-port=12345 action=drop comment="Drop NetBus"
add chain=virus protocol=tcp dst-port=17300 action=drop comment="Drop Kuang2"
add chain=virus protocol=tcp dst-port=27374 action=drop comment="Drop SubSeven"
add chain=virus protocol=tcp dst-port=65506 action=drop comment="Drop PhatBot, Agobot, Gaobot"
add chain=forward action=jump jump-target=virus comment="jump to the virus chain"

add chain=virus protocol=tcp dst-port=139 action=drop comment="Drop WannaCrypt"   



เรียบร้อยครับ เยอะไปมั้ย  ;D ;D



ถ้าทำระบบ Hotspot ข้อ 2 และ 3 ต้องทำไหมครับ

ถ้าต้องการติดตั้งสคริป ควรใช้ตัวไหนดีครับ เยอะมากจนเลือกไม่ถูกเลย

yod


ใน mikrotik ทำข้อ 2-3 ด้วยเลยครับ ส่วน firewall ใช้เฉพาะ SSH brute forcer ก็พอแล้วครับ แต่ถ้าเป็นหน่วยงานใหญ่ๆ ต้องการ security สูงๆ ควรจะใช้ทุก script ครับ  ;D



ใน mikrotik ทำข้อ 2-3 ด้วยเลยครับ ส่วน firewall ใช้เฉพาะ SSH brute forcer ก็พอแล้วครับ แต่ถ้าเป็นหน่วยงานใหญ่ๆ ต้องการ security สูงๆ ควรจะใช้ทุก script ครับ  ;D
[/quote]ขอบคุณมากๆเลยครับ ;D

ขอถามหน่อยครับ  ผมใช้ RB450G  ถ้าใช้ สคลิป ทั้งหมด  จะมีผลกับเครื่องไหมครับ 

ขอบคุณสำหรับความรู้ที่มาแบ่งปันนะครับ!!!

มือใหม่หัดเล่น ติ๊ก!!!หุหุหุ ;D ;D ;D

#6
รบกวนหน่อยครับ ผมทำมาถึงข้อที่ 4( Copy Firewall Script )ไปเอาจากตรงไหนครับงง ผมเข้าเมนนูNew Terminal แล้วทำไงต่อครับไปเอา FirewallScript จากตรงไหน หรือตั้องพิมท์คำสังอะไรต่อในเมนู New Terminal เพื่อเปิดไฟล์ (หัดทำครับชอบมากแต่งง

Prevent a SSH brute forcer to be banned for 10 days after repetitive attempts: อันนี้ Ban 10 วันเลย

โค๊ด:
/ip firewall filter
add chain=input protocol=tcp dst-port=22 src-address-list=ssh_blacklist action=drop \ comment="drop ssh brute forcers" disabled=no
add chain=input protocol=tcp dst-port=22 connection-state=new \ src-address-list=ssh_stage3 action=add-src-to-address-list address-list=ssh_blacklist \ address-list-timeout=10d comment="" disabled=no
add chain=input protocol=tcp dst-port=22 connection-state=new \ src-address-list=ssh_stage2 action=add-src-to-address-list address-list=ssh_stage3 \ address-list-timeout=1m comment="" disabled=no
add chain=input protocol=tcp dst-port=22 connection-state=new src-address-list=ssh_stage1 \ action=add-src-to-address-list address-list=ssh_stage2 address-list-timeout=1m comment="" disabled=no
add chain=input protocol=tcp dst-port=22 connection-state=new action=add-src-to-address-list \ address-list=ssh_stage1 address-list-timeout=1m comment="" disabled=no
add chain=forward protocol=tcp dst-port=22 src-address-list=ssh_blacklist action=drop \ comment="drop ssh brute downstream" disabled=no



ตรงที่กำหนดไว้ 10d พอถึงเวลามันขึ้น 00:00:00 สักพักก็หลุดไปเองเลยครับ ไม่ยอมบล็อคให้ 10 วันครับ มันบล็อคแปปเดียวก็หลุดครับ


เห็นแล้วครับ ตัวเบ้อเร้อไม่ยอมมองเอง (ถามเองตอบเอง ;D)



แก้ได้แล้วครับ ปรับให้มันบล็อค เป็นชั่วโมงก่อน แล้วค่อยปรับใหม่ให้เป็นวัน ตอนนี้ บล็อคได้แล้วครับ