Score:0

อะไรจะเริ่มต้น MariaDB เพื่อเริ่มแก้ไขที่อยู่ IP

ธง in

ในของฉัน บันทึกของ Windows > แอปพลิเคชัน ฉันเห็นสิ่งเหล่านี้ คำเตือน

ไม่สามารถแก้ไขที่อยู่ IP 'xxx.xxx.xxx.xxx': ไม่รู้จักโฮสต์ดังกล่าว

ฉันไม่รู้จัก IP เหล่านี้ คำเตือน เข้าสู่ระบบเป็น:

ชื่อบันทึก: แอปพลิเคชัน
ที่มา: MariaDB
รหัสเหตุการณ์: 100
ระดับ: คำเตือน

- <เหตุการณ์ xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
  - <ระบบ>
      <ชื่อผู้ให้บริการ = "MariaDB" /> 
      <EventID Qualifiers="49152">100</EventID> 
      <เวอร์ชั่น>0</เวอร์ชั่น> 
      <ระดับ>3</ระดับ> 
      <งาน>0</งาน> 
      <Opcode>0</Opcode> 
      <คีย์เวิร์ด>0x80000000000000</คีย์เวิร์ด> 
      <TimeCreated SystemTime="2021-12-16T23:32:07.8659376Z" /> 
      <EventRecordID>2182760</EventRecordID> 
      <ความสัมพันธ์ /> 
      <Execution ProcessID="0" ThreadID="0" /> 
      <ช่อง>แอปพลิเคชัน</ช่อง> 
      <คอมพิวเตอร์>vm-ขาว</คอมพิวเตอร์> 
      <ความปลอดภัย /> 
    </ระบบ>
  - <ข้อมูลเหตุการณ์>
      <ข้อมูล>ไม่สามารถแก้ไขที่อยู่ IP 'xxx.xxx.xxx.xxx' ได้: ไม่รู้จักโฮสต์ดังกล่าว</Data> 
    </ข้อมูลเหตุการณ์>
</เหตุการณ์>

ฉันกำลังโฮสต์เว็บไซต์ WordPress และ Matomo (แอปพลิเคชันวิเคราะห์เว็บแบบโอเพ่นซอร์ส) นี่อาจเป็นการพยายามใช้ MariaDB เพื่อค้นหารายการ rDNS ที่จะผูกด้วยหรือไม่

จะทำอะไรอีก? ปลั๊กอิน WordPress ที่เป็นอันตราย?

ฉันสับสน.


ฉันเหนื่อย

[มายเอสคิวลด์]
ที่อยู่ผูก = 127.0.0.1

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


Bob แนะนำให้ตรวจสอบการตั้งค่าไฟร์วอลล์ของฉัน ฉันทำการปรับเปลี่ยนบางอย่างและจะคอยตรวจสอบบันทึกสำหรับการเปลี่ยนแปลงใดๆ

การตั้งค่าไฟร์วอลล์สำหรับ MariaDB


เอาล่ะได้แค่นี้ คำเตือน

ที่อยู่ IP '34.96.130.11' ได้รับการแก้ไขเป็นชื่อโฮสต์ '11.130.96.34.bc.googleusercontent.com' ซึ่งคล้ายกับที่อยู่ IPv4

cn flag
Bob
ได้อย่างรวดเร็วก่อน รากเหง้าของปัญหาของคุณคือการที่คุณเปิดเผยเซิร์ฟเวอร์ฐานข้อมูลต่ออินเทอร์เน็ตในวงกว้าง เมื่อตั้งใจให้เป็นบริการภายในแทนที่จะเป็นบริการสาธารณะ ตรวจสอบและปรับการตั้งค่าไฟร์วอลล์ของคุณสำหรับพอร์ตเริ่มต้น 3306 หรือพอร์ตใดๆ ที่ MariaDB ได้รับการกำหนดค่าให้ใช้
MeSo2 avatar
in flag
@Bob ฉันเปลี่ยนการตั้งค่าไฟร์วอลล์แล้ว แต่เพิ่งได้รับตัวแก้ไข DNS อีกตัว _Warning_ ฉันควรเพิ่มการตั้งค่าไฟร์วอลล์ขาออกเพื่อป้องกันไม่ให้ MariaDB เชื่อมต่อภายนอกด้วยหรือไม่
Nikita Kipriyanov avatar
za flag
สำหรับคำเตือนล่าสุดของคุณ มัน "น่าสงสัยเกินไป" มีคนเพิ่มรหัสที่เปรียบเทียบที่อยู่ IP เป็นรูปสี่เหลี่ยมประกับผลลัพธ์ของแบบสอบถาม PTR และสร้างคำเตือนนี้ ฉันไม่ต้องการคิดว่ามันมีประโยชน์มาก PTR สามารถตั้งค่าเป็นอะไรก็ได้ ขึ้นอยู่กับดุลยพินิจของเจ้าของที่อยู่ IP คุณไม่สามารถพึ่งพาได้ ดังนั้นใคร ๆ ก็ไม่ควรคิดว่ามันถูกต้อง เป็นทางการ สุภาพ ดี และอื่น ๆ ดังนั้นการเปรียบเทียบจึงไร้สาระ ละเว้นคำเตือนนี้ว่าไร้ประโยชน์
Nikita Kipriyanov avatar
za flag
`bind-address = 127.0.0.1` เป็นวิธี *ที่ถูกต้องและปลอดภัยที่สุด* ในการตั้งค่า หากคุณไม่ต้องการเชื่อมต่อกับฐานข้อมูลจากโฮสต์อื่น ที่จริงควรปรากฏ *เร็วกว่า* ด้วย คุณระบุเซิร์ฟเวอร์ DB ในแอปพลิเคชันอย่างไร วิธีที่ดีที่สุดคือใช้เพียง `localhost` หรือแม้แต่ `127.0.0.1` เป็นชื่อโฮสต์ DB ในแอปพลิเคชัน
MeSo2 avatar
in flag
@NikitaKipriyanov ตอนแรกฉันเชื่อมต่อโดยใช้ 'localhost' กับแอปรหัส asp ของฉันผ่านไดรเวอร์ MariaDB ODBC เช่น `DRIVER={MariaDB ODBC 3.1 Driver};TCPIP=1;SERVER=localhost;UID=____;PWD=____;DATABASE =____;PORT=3306;CONN_TIMEOUT=120;CHARSET=utf8mb4;READ_TIMEOUT=20;WRITE_TIMEOUT=5;Option=3` ตอนนี้เปลี่ยนเป็น `127.0.0.1` ทำให้ตอบสนองได้ดีมาก ดี!
Score:1
ธง za

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

คุณลองวิธีที่ถูกต้องแล้ว:

[มายเอสคิวลด์]
ที่อยู่ผูก = 127.0.0.1

มันแปลกที่ดูเหมือนไม่มีความรับผิดชอบเมื่อเชื่อมต่อโดยใช้ โลคัลโฮสต์. แต่ควรปรากฏเร็วขึ้นเพราะ ระบบปฏิบัติการสื่อสารผ่านอินเทอร์เฟซย้อนกลับหวังว่าจะหลีกเลี่ยงบางเลเยอร์ในสแต็กเครือข่าย. นี่อาจหมายถึงการแก้ไขชื่อบางอย่าง (เช่น DNS หรือ เจ้าภาพ) ปัญหาเกี่ยวกับเครื่อง ก็ควรที่จะ หลีกเลี่ยงการระบุชื่อในกรณีนี้โดยใช้ที่อยู่ IP localhost ตามตัวอักษร 127.0.0.1. เพียงระบุในตัวเชื่อมต่อเป็นที่อยู่เซิร์ฟเวอร์ DBMS


คำเตือนล่าสุดเกี่ยวกับชื่อโฮสต์ "ซึ่งคล้ายกับที่อยู่ IPv4" นั้นไม่มีประโยชน์ ชื่อโฮสต์เป็นผลมาจากการสืบค้น DNS และค่าของชื่อโฮสต์ในบันทึก PTR นั้นควบคุมโดยเจ้าของที่อยู่ IP อย่างสมบูรณ์ พวกเขาสามารถใส่อะไรลงไปในนั้น มันสามารถทำให้คล้ายกับที่อยู่ IP เอง หรือคล้ายกับที่อยู่ IP อื่น ๆ (เพื่อให้เกิดความสับสนมากขึ้น) หรือเป็นเรื่องตลก หรือบทกวี หรือหยาบคายและหยาบคาย มันไม่มีข้อมูลที่ถูกต้องให้คุณพิจารณาในบริบทของการรักษาความปลอดภัย เพียงเพิกเฉยต่อคำเตือนนี้ หรือให้ดีกว่านั้น ปิดคำเตือนดังกล่าวทั้งหมด และอย่าเสียทรัพยากรไปกับการเปรียบเทียบโง่ ๆ

MeSo2 avatar
in flag
การเปลี่ยนผู้ใช้ของฉันเป็น `127.0.0.1` มีผลข้างเคียงในเชิงบวกที่ไม่คาดคิดสำหรับคำถามอื่น ๆ ที่ฉันมี: https://serverfault.com/questions/1086062/stop-event-id-4625-remote-logon-request-over ดีมาก! คำตอบนี้ไม่ใช่สิ่งที่ฉันตามหา แต่มันทำให้วันของฉัน
Nikita Kipriyanov avatar
za flag
ฉันรู้สึกว่านั่นเป็นตัวอย่างของปัญหา XY ซึ่งได้รับการแก้ไขแล้ว เพราะคุณอธิบายสิ่งที่คุณต้องการ และเราได้ปิดสาเหตุที่แท้จริง แทนที่จะแก้ปัญหาที่คุณมีจากการรับฟังเสียงประกาศสาธารณะ สำหรับคำตอบที่เป็นทางการ ฉันรู้สึกว่าคุณกำหนดค่าไฟร์วอลล์ไม่ถูกต้อง ฉันไม่เคยเชื่อถือ "โปรไฟล์" เหล่านั้นของโดเมน/ส่วนตัว/สาธารณะ คุณแน่ใจหรือไม่ว่าอะไรคือ "ส่วนตัว" ในกรณีนี้ กฎที่ชัดเจนจะทำงานได้ดีขึ้นและเชื่อถือได้มากขึ้น โดยคุณต้องแสดงรายการที่อยู่ IP ที่อนุญาตทั้งหมด ทั้งสองรายการ (IP สาธารณะของเซิร์ฟเวอร์และ localhost)
MeSo2 avatar
in flag
ฉันไม่รู้ว่า MariaDB จะ (หรือสามารถ) เริ่มแก้ไขที่อยู่ IP ดังนั้นส่วนที่ฉันยังไม่ชัดเจนคือสิ่งที่กระตุ้นให้เกิดพฤติกรรมนี้ ทั้งหมดที่ฉันทำคือโฮสต์เว็บแอปพลิเคชันธรรมดาๆ มันเป็นพฤติกรรมที่แปลกสำหรับฐานข้อมูลที่จะทำเช่นนี้ทุกครั้งที่ผู้เยี่ยมชมโทรมา ฉันยังไม่เชื่อถือการตั้งค่า "โปรไฟล์" เหล่านี้มากนัก ฉันชอบใช้ "ประเภทอินเทอร์เฟซ" เพื่อบล็อกสิ่งต่างๆFYI "ส่วนตัว" หมายถึง: _โปรไฟล์ส่วนตัวคือโปรไฟล์ที่ผู้ใช้กำหนดและใช้เพื่อกำหนดเครือข่ายส่วนตัวหรือในบ้าน_ เหตุใดฉันจึงต้องรวม IP สาธารณะของเซิร์ฟเวอร์ (DNS ของฉันโฮสต์ในเครื่องด้วย)
Nikita Kipriyanov avatar
za flag
ไม่ ไม่แปลกในกรณีของ MySQL จำไว้ว่าคุณระบุชื่อโฮสต์เมื่อคุณสร้างผู้ใช้และกำหนดสิทธิ์ เช่น `ให้สิทธิ์บน \`db.table\` เป็น 'ชื่อผู้ใช้'@'ชื่อโฮสต์' ที่ระบุโดย 'รหัสผ่าน'' มันบันทึกชื่อโฮสต์นี้ลงในฟิลด์ `mysql.user.Host` และตรวจสอบ DNS ย้อนกลับเพื่อให้ตรงกันในระหว่างการตรวจสอบสิทธิ์ โดยปกติจะใช้ `localhost` หรือ `%` เช่น การเข้าถึงนั้นมอบให้กับเซิร์ฟเวอร์หรือที่อยู่ใด ๆ (โดยใช้สัญลักษณ์แทน MySQL) แต่คุณสามารถควบคุมได้เข้มงวดยิ่งขึ้น ฉันใช้คุณสมบัตินี้ในคลัสเตอร์เดียว
MeSo2 avatar
in flag
ฉันคิดถูกไหมว่าตอนนี้จะเป็นการระบุว่าฉันกำลังประสบกับ [การโจมตีด้วยการฉีด SQL](https://en.wikipedia.org/wiki/SQL_injection) ฉันไม่มีอะไร (ความรู้ของฉัน) ในรหัสของฉันที่จะขอการเชื่อมต่อภายนอก
Nikita Kipriyanov avatar
za flag
ไม่ SQL Injection จะทำผ่านช่องโหว่ในแอปพลิเคชันเสมอ มันแทรกข้อความค้นหาที่เป็นอันตรายลงในแอปพลิเคชันที่ถูกต้อง ดังนั้นจากมุมมองของฐานข้อมูล แอปพลิเคชันกำลังเชื่อมต่ออยู่อย่างสมบูรณ์ แต่กำลังทำสิ่งที่น่ารังเกียจ บันทึกที่คุณเห็นแสดงความพยายามเชื่อมต่อกับฐานข้อมูลโดยตรง มันเหมือนกับการสแกนรหัสผ่าน SSH/FTP/RDP/อะไรก็ตาม เฉพาะกับ MySQL/MariaDB

โพสต์คำตอบ

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