ฉันควรทำอย่างไรกับคนที่พยายามดุร้ายกำลังพยายามเข้าสู่บัญชี SQL Server ของเรา


9

ดูเหมือนว่ามีใครบางคนกำลังพยายามเข้าสู่ระบบด้วยอินสแตนซ์ SQL Server ของเราด้วยบัญชี 'sa' พวกเขาไม่ประสบความสำเร็จเพราะบัญชีของเราถูกปิดใช้งาน แต่ฉันควรทำตามขั้นตอนใดเพื่อให้แน่ใจว่าสิ่งต่าง ๆ ปลอดภัย

พยายามเข้าสู่ระบบ


1
เฮ้ ทำเครื่องหมายว่าตอบแล้วเพื่อให้เราสามารถดำเนินชีวิตต่อไปได้ :)
JohnThePro

คำตอบ:


29

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


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

รวมทั้งไม่ใช่ใครบางคน มันเป็นหนอนที่ออกมาสวยมากไม่ใช่มนุษย์ SQL Server บนอินเทอร์เน็ต + ไม่เปลี่ยนพอร์ตเริ่มต้น = ไม่สนใจความเป็นจริงอย่างเต็มที่ (อินเทอร์เน็ตไม่ใช่สถานที่ที่ดี)
TomTom

5

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


3

ปิดการใช้งานพอร์ตนั้น (MySQL คือ 3306 ไม่จำพอร์ตของ SQL Server หรืออาจ 118) ผ่านไฟร์วอลล์ จากนั้นไม่มีใครสามารถเข้าถึงได้
ถ้าจำเป็นต้องใช้การเข้าถึงจากภายนอกให้ทำการแมปไปยังพอร์ตที่มีหมายเลขสูงเช่น 53535 หากใครรู้ว่าพอร์ตนั้นเปิดอยู่จะเป็นการยากที่จะเดาความสำคัญ


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

และยังมี 1434 สำหรับบริการการค้นพบอีกด้วย
AviD

3

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

นอกจากนี้ให้ลดจำนวนการเข้าสู่ระบบที่ล้มเหลวเนื่องจากจะเป็นการปิดกั้นที่อยู่ IP ของผู้บุกรุกโดยอัตโนมัติ

ด้านบนจะย่อขนาดนี้


2

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


2
  • หากทำได้ให้ปิดใช้งานการเข้าถึงบัญชี SQL ทั้งหมดไม่ใช่เพียงแค่เปิดใช้งานเช่นเปิดใช้งาน Windows Authentication เท่านั้นโดยไม่ต้องมี SQL Authentication
  • จำกัด การเข้าถึงเครือข่ายไม่ว่าจะผ่านไฟร์วอลล์หรืออย่างน้อยก็มีข้อ จำกัด ด้าน IP ในกล่องไปยังเซิร์ฟเวอร์เหล่านั้นที่ต้องการการเข้าถึงเท่านั้น ผู้ใช้สาธารณะไม่ต้องการการเข้าถึงโดยตรงใช่ไหม
  • คำนึงถึงว่าเขาอาจจะพยายาม bruteforcing ผู้ใช้ผู้ดูแลระบบท้องถิ่นต่อไป แม้ว่าคุณจะไม่สามารถลบการอนุญาตของผู้ดูแลระบบได้จริงๆ แต่คุณสามารถวางลงในบทบาทที่ต้องการและปิดกั้นการเข้าถึงได้อย่างชัดเจน
  • หากคุณสามารถปิดใช้งานบริการ SQL Server Browser ไม่มีเหตุผลที่จะทำให้ง่ายขึ้น ...
  • ทำการวิเคราะห์ผู้ใช้การอนุญาตและรหัสผ่านในฐานข้อมูลอย่างสมบูรณ์พวกเขาอาจลองผู้ใช้รายอื่นต่อไป
  • ลองถามสิ่งนี้อีกครั้งในITSecurity.SEสำหรับข้อมูลเพิ่มเติม :)

2

หาก SQL Server ของคุณต้องสามารถเข้าถึงได้นอก netowrk ของคุณคุณสามารถเพิ่มรายการที่อยู่ IP ภายนอกที่ต้องการการเข้าถึง VPN เป็นโซลูชันที่ดีกว่า (แต่ไม่สามารถใช้งานได้ตลอดเวลา) และทางออกที่ดีที่สุดคือไม่มีการเข้าถึงจากภายนอก

รายการที่อนุญาตต้องมีการจัดการเพิ่มเติม แต่จะลบความโง่ออกนี้ หากมีคนต้องการเข้าถึงและพวกเขามีการเปลี่ยนแปลง IP บ่อยครั้งพวกเขาสามารถเข้าสู่ระบบที่แตกต่างกันผ่าน RDP และเชื่อมต่อกับ SQL Server จากที่นั่น

เปลี่ยนชื่อบัญชี sa สร้างบัญชีปลอมและปิดใช้งาน

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

กำหนดหมายเลขพอร์ต SQL IP IP อีกครั้ง นี่หมายถึงการอัปเดตการกำหนดค่าไคลเอนต์หรือไฟล์กำหนดค่าแอปพลิเคชัน

ฉันเห็นด้วยกับผู้โพสต์คนอื่น ๆ เกี่ยวกับการโจมตีครั้งต่อไปของเวกเตอร์


1

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

ฉันมีปัญหานี้เช่นกันที่บันทึกกิจกรรมของฉันจะเต็มไปด้วยรายการนับพันรายการสำหรับแฮกเกอร์ที่พยายามลงชื่อเข้าใช้อินสแตนซ์ MSSQL ของฉันด้วยการลงชื่อเข้าใช้ 'sa' หลังจากการค้นหามากฉันตัดสินใจที่จะเขียนโปรแกรมของตัวเองสร้างรายการไอเทคที่จำเป็นจากนั้นทำการสแกนบันทึกเหตุการณ์ทุก ๆ 60 วินาทีเพื่อหาการโจมตีจากที่อยู่ IP ใหม่ จากนั้นจะเพิ่มที่อยู่ IP ไปยังตัวกรอง IPSEC และบล็อกการรับส่งข้อมูลทั้งหมดไปยังและจาก IP ฉันเพิ่งทดสอบสิ่งนี้ใน Windows Server 2008 แต่เชื่อว่ามันจะทำงานบนเวอร์ชันอื่นเช่นกัน

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

http://www.cgdesign.net/programs/AutoBlockIp.zip

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

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

คำถามหรือความคิดเห็นใด ๆ โปรดติดต่อฉันโดยใช้แบบฟอร์มการติดต่อบนเว็บไซต์ของฉันที่ www.cgdesign.net

คริส


คุณทำได้ดีในการเปิดเผยความร่วมมือกับผลิตภัณฑ์ ระวังโดยทั่วไปเราไม่ได้ชื่นชมช่วงการขาย
Scott Pack

0

คุณควรจำกัดความพยายามในการเข้าสู่ระบบดังนั้นหากผู้ใช้รายเดียวกันพยายามเข้าสู่ระบบมากกว่า 5 ครั้งผู้ใช้รายนั้นจะถูกบล็อกไม่ให้พยายามอีกสองสามชั่วโมงหรือหนึ่งวัน อย่างน้อยพวกเขาก็ไม่สามารถบังคับให้ลงชื่อเข้าใช้หลังจากที่พยายามมาหลายล้านครั้ง

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


1
บัญชีถูกปิดใช้งานแล้วไม่สามารถปิดใช้งานได้อีกมาก
mrdenny

@ mrdenny: ฉันกำลังคิดเกี่ยวกับบัญชีที่ไม่ได้ปิดการใช้งานสำหรับวรรคแรก หากใครบางคนกำลังดุร้ายบังคับให้พวกเขาสามารถเริ่มต้นด้วยบัญชีอื่นได้อย่างง่ายดาย หลังจาก 5 ครั้งในบัญชีที่ถูกปิดใช้งานเพียงแค่ปิดกั้นพวกเขาทั้งหมด
DisgruntledGoat

โดยปกติแล้วลูกแมวสคริปต์จะโจมตีบัญชี sa เพียงเพราะพวกเขารู้จักชื่อผู้ใช้แล้ว มิฉะนั้นพวกเขาจะต้องดุร้ายกับชื่อผู้ใช้เช่นกันซึ่งใช้เวลาสองเท่าและพวกเขาไม่มีทางรู้ว่าชื่อผู้ใช้นั้นมีอยู่หรือไม่
mrdenny
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.