Score:0

วิธีรักษาความปลอดภัยเซิร์ฟเวอร์ของฉันด้วย UFW (สันนิษฐานว่าถูกโจมตี)

ธง in

ฉันใช้ Apache บน Debian

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

[อา. 13 ก.พ. 16:37:54.013622 2022] [:ข้อผิดพลาด] [pid 16071] [ไคลเอนต์ 106.193.114.87:19356] ประกาศ PHP: ตัวแปรที่ไม่ได้กำหนด: error_msg ใน /var/www/example.com/page-sidebar-both php ในบรรทัดที่ 57 ผู้อ้างอิง: https://example.com/podbanks/abresult.php?ab=ab18&lg=English

[อา. 13 ก.พ. 16:38:01.289976 2022] [:ข้อผิดพลาด] [pid 16109] [ไคลเอนต์ 106.193.114.87:19358] ประกาศ PHP: ตัวแปรที่ไม่ได้กำหนด: result_msg ใน /var/www/example.com/abc/defg.php บน บรรทัดที่ 210 ผู้อ้างอิง: https://example.com/result.php?ab=ab18&lg=English

[อา. 13 ก.พ. 16:38:01.290048 2022] [:ข้อผิดพลาด] [pid 16109] [ไคลเอนต์ 103.77.154.37:1842] ประกาศ PHP: ตัวแปรที่ไม่ได้กำหนด: สถานะใน /var/www/example.com/pods/dashboard.php เปิด บรรทัดที่ 210 ผู้อ้างอิง: https://example.com/result.php?ab=AB18&lg=English

[อา. 13 ก.พ. 16:38:26.788827 2022] [:ข้อผิดพลาด] [pid 15961] [ไคลเอ็นต์ 54.90.210.118:36104] ประกาศเกี่ยวกับ PHP: ตัวแปรที่ไม่ได้กำหนด: BaseURL ใน /var/www/example.com/biz.php ออนไลน์ 63

(หน้าและตัวแปรถูกต้อง แต่หมายเลขพอร์ตแปลก)

คำถามที่ 2: หากสิ่งเหล่านี้เป็นการโจมตี ฉันสามารถหยุดการโจมตีด้วย UFW ได้หรือไม่ ขณะนี้ฉันมี:

ถึงการดำเนินการจาก
-- ------ ----
WWW เต็ม อนุญาตให้ทุกที่
3306 อนุญาตได้ทุกที่
22 อนุญาตได้ทุกที่
8081 อนุญาตได้ทุกที่
1185 อนุญาตได้ทุกที่
WWW เต็ม (v6) อนุญาตได้ทุกที่ (v6)
3306 (v6) อนุญาตทุกที่ (v6)
22 (v6) อนุญาตทุกที่ (v6)
8081 (v6) อนุญาตได้ทุกที่ (v6)
1185 (v6) อนุญาตทุกที่ (v6)

8081 อนุญาตทุกที่
8081 (v6) อนุญาตได้ทุกที่ (v6)

ขั้นตอนต่อไปนี้ถูกต้องและสมบูรณ์เมื่อพิจารณาจากข้างต้นหรือไม่

ufw ปิดการใช้งาน
ufw เริ่มต้นปฏิเสธการรับเข้า
ค่าเริ่มต้น ufw อนุญาตให้ส่งออก
ufw อนุญาต OpenSSH
ufw อนุญาตให้ WWW เต็ม
ufw อนุญาต 1185
ufw อนุญาต 3306
ufw เปิดใช้งาน

(บรรทัดที่ 1 คือเพื่อให้แน่ใจว่าฉันไม่ได้ถูกล็อค - ฉันใช้ PuTTY)

คำถามที่ 3: ฉันจำเป็นต้องเปิด 3306 หรือไม่ หากใช้ MySQL ในเครื่องเท่านั้น ฉันให้สิทธิ์เข้าถึงฐานข้อมูลผ่านการสืบค้น php ซึ่งมีรหัสผ่านและเซสชันป้องกันเท่านั้น

คำถามที่ 4: ฉันต้องมีพอร์ต 8081 เลยหรือไม่ มันถูกเพิ่มโดยอัตโนมัติโดย "WWW เต็ม" หรือไม่

Score:3
ธง in

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

Score:3
ธง ar

(หน้าและตัวแปรถูกต้อง แต่หมายเลขพอร์ตแปลก)

หมายเลขพอร์ตเป็นปกติ มันคือลูกค้า พอร์ตชั่วคราว.

คำถามที่ 2: หากสิ่งเหล่านี้เป็นการโจมตี ฉันสามารถหยุดการโจมตีด้วย UFW ได้หรือไม่ ขณะนี้ฉันมี:

โดยทั่วไปไม่มี คุณต้องกรองในระดับที่เกี่ยวข้องและคุณ ต้องการ ทราฟฟิกเพื่อเข้าถึง Apache - คุณจึงกรองที่ L3 ไม่ได้

ฉันจำเป็นต้องเปิด 3306 จริง ๆ หรือไม่ หากใช้ MySQL ในเครื่องเท่านั้น ฉันให้สิทธิ์เข้าถึงฐานข้อมูลผ่านการสืบค้น php ซึ่งมีรหัสผ่านและเซสชันป้องกันเท่านั้น

ไม่คุณทำไม่ได้ mySQL ในเครื่องทำงานผ่านซ็อกเก็ต ไม่ใช่ TCP/IP และแม้ว่าจะไม่ใช่ คุณก็ต้องการอนุญาตเฉพาะบนอินเทอร์เฟซย้อนกลับ (127.0.0.1)

คำถามที่ 4: ฉันต้องมีพอร์ต 8081 เลยหรือไม่ มันถูกเพิ่มโดยอัตโนมัติโดย "WWW เต็ม" หรือไม่

อาจจะไม่. แต่คุณจำเป็นต้องรู้ว่าแอปพลิเคชันของคุณทำงานอย่างไร

us flag
ทำเครื่องหมายที่ `/etc/ufw/applications.d/apache2-utils.ufw.profile` มันมีคำจำกัดความทั้งหมด `Apache` = เฉพาะพอร์ต 80/tcp, `Apache Secure` = เฉพาะพอร์ต 443/tcp และ 'Apache Full' เหมือนกับการเปิดใช้ 'Apache' และ 'Apache Secure'
Score:1
ธง br

ทุกสิ่งที่คุณเปิดเผยบนอินเทอร์เน็ตจะถูกตรวจสอบเพื่อหาจุดอ่อน

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

หากคุณกำลังนำเสนอบริการเว็บบนอินเทอร์เน็ตเท่านั้น มีแนวโน้มว่าทราฟฟิกเดียวที่คุณต้องอนุญาตจากไคลเอ็นต์ ("ใดๆ") คือ HTTP และ HTTPS

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

โดยทั่วไป คุณไม่ต้องการเปิดเผยเซิร์ฟเวอร์ฐานข้อมูลโดยตรงกับอินเทอร์เน็ต

Score:1
ธง bd

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

หมายเลขพอร์ตในข้อความนั้นไม่แปลกเลย แต่เป็นเรื่องปกติ

คำถามโฆษณา 2: เนื่องจากไม่มีการโจมตี คำถามนี้จึงใช้ไม่ได้

คำถามโฆษณา 3: คุณไม่จำเป็นต้องและไม่ควรเปิดเผยพอร์ต MySQL 3306 ให้กับเครือข่ายหากเว็บเซิร์ฟเวอร์ใช้เฉพาะในเครื่องเท่านั้น นั่นคือ เซิร์ฟเวอร์ MySQL ควรได้รับการกำหนดค่าให้รับฟังที่อยู่ 127.0.0.1 (localhost) เท่านั้น และไม่ควรอนุญาตพอร์ต 3306 ใน ufw

คำถามโฆษณา 4: ไม่ว่าคุณจะต้องการอนุญาตพอร์ต 8081 หรือไม่นั้นขึ้นอยู่กับว่ามีบริการใดที่ทำงานบนพอร์ตนั้นที่คุณต้องการให้เข้าถึงผ่านเครือข่ายหรือไม่ หากไม่มีสิ่งใดกำลังฟังอยู่ที่พอร์ต 8081 หรือหากสิ่งใดที่ฟังอยู่นั้นไม่สามารถเข้าถึงได้ผ่านเครือข่าย คุณไม่ควรอนุญาตใน ufw

โพสต์คำตอบ

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