ฉันควรรันเว็บไซต์เล็ก ๆ ของฉันในพอร์ต 80, 8080 หรือ 81 หรือไม่


20

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

การฟังพอร์ตอื่น (81, 8080 และอื่น ๆ ) ช่วยลดความเสี่ยงจากการถูกโจมตีหรือการละเมิดหรือไม่? หรือภาระในการบำรุงรักษาเกินดุลประโยชน์หรือไม่ ในกรณีนี้ฉันควรใช้พอร์ตสำรองสำหรับบริการบนเว็บอื่น ๆ ในกรณีที่ฉันตั้งค่าไว้ในอนาคตหรือไม่


4
ทำไม 'ผู้โจมตี' บางคนจึงเสี่ยงที่จะ (D) DoS เป็นเว็บไซต์ขนาดเล็ก
Gilles Quenot

คำตอบ:


40

มีสองสิ่งที่ควรพิจารณาที่นี่:

  1. ผู้ใช้ของคุณจะจำที่จะใช้พอร์ตที่ไม่ได้มาตรฐานในชื่อ? โดยค่าเริ่มต้นพอร์ต 80 เป็นมาตรฐานดังนั้นคุณไม่จำเป็นต้องพิมพ์ลงใน URL ยกตัวอย่างเช่นhttp://superuser.comวิ่งบนพอร์ต 80 และเบราว์เซอร์ของคุณถือว่า 80 เป็นพอร์ตที่คุณหมายถึงเมื่อพิมพ์ใน. http://superuser.com:80มันแตกต่างกันไม่มีกว่าการพิมพ์ ถ้าคุณเรียก websever ของคุณบนพอร์ต 8080 จากนั้นผู้ใช้มีhttp://superuser.com:8080การพิมพ์ ผู้ใช้งานเฉลี่ยไม่น่าจะจำได้ว่า
  2. การเรียกใช้เว็บเซิร์ฟเวอร์บนพอร์ตที่ไม่ได้มาตรฐานจะป้องกันคุณจากการโจมตีของ DoS หรือไม่? ไม่ได้จริงๆ ถ้ามีคนจริงๆอยากจะนำมาลงในเว็บไซต์ของคุณทำงานบนพอร์ตมาตรฐานไม่ใช่จะไม่หยุดพวกเขา ผู้โจมตีจะสแกนพอร์ตทั้งหมดบน IP ของคุณและพบว่า 8080 (หรืออะไรก็ตามที่คุณเลือก) เปิดอยู่และตอบกลับคำขอ HTTP

วิธีการต่าง ๆ เช่นการเปลี่ยนพอร์ตเรียกว่า " ความปลอดภัยผ่านความสับสน " และเป็นที่น่าสงสัยอย่างมากว่าการทำงานพิเศษและความไม่สะดวกจะให้ความปลอดภัยที่มีค่าใด ๆ


6
ฉันต้องการเพิ่มว่าการรักษาความปลอดภัยผ่านความสับสนไม่ดีทั้งหมด การเปลี่ยนชื่อผู้ดูแลระบบเริ่มต้นหรือชื่อผู้ใช้รูทถือเป็นแนวปฏิบัติที่ดี อย่างไรก็ตามสิ่งต่าง ๆ เช่นการเปลี่ยนพอร์ตนั้นไม่มีจุดหมายเนื่องจากมีเพียง 32k และคอมพิวเตอร์สามารถสแกนได้ในไม่กี่วินาที
Keltari

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

1
มันขึ้นอยู่กับขนาดของการโจมตี การใช้พอร์ตที่ไม่ใช่ค่าเริ่มต้นอาจช่วยหลีกเลี่ยงการสแกนขนาดใหญ่ที่พูดถึง / 0 สำหรับช่องโหว่ของเว็บเซิร์ฟเวอร์โดยใช้ zmap หรือ nmap แต่ @Keltari นั้นถูกต้องหากคุณเป็นเป้าหมายผู้โจมตีจะทำการสแกนเต็มรูปแบบให้คุณพิจารณาว่าพอร์ตใดที่เซิร์ฟเวอร์ของคุณกำลังใช้งานอยู่จากนั้นเล่นเกมหากคุณเสี่ยง ;-)
Wi1

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

2
มันผิด/superuser/และมันทำงานบนพอร์ต 443 เว็บไซต์ที่ปลอดภัยใช้ 443
Elliot A.

5

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

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

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

แต่จำไว้ว่าการใช้เช่นพอร์ตอื่นจะป้องกันไม่ให้ผู้เข้าชม "เริ่มต้น" เพื่อค้นหาเว็บไซต์ของคุณคุณจะต้องบอกคน (หรือเขียนไว้ในลิงก์) พอร์ตที่เหมาะสมโดยใช้ URL เช่นhttp://yourserver.com:81/ ..


2

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

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


1

มันขึ้นอยู่กับ. การใช้ "ไซต์ขนาดเล็ก" คืออะไร

  • ถ้าคนอื่นจะใช้มันฉันจะขอแนะนำให้ใช้พอร์ตมาตรฐาน ตามที่กล่าวไว้ในคำตอบส่วนใหญ่การใช้พอร์ตที่ไม่เป็นมาตรฐานนั้นต้องการให้ผู้ใช้ระบุพอร์ต (เช่นสำหรับพอร์ต 81 -> yoursite.com:81) หากคุณใช้พอร์ตมาตรฐานเบราว์เซอร์จะเข้าสู่พอร์ตจากโปรโตคอล (http, https) http: // ปกติพอร์ต 80 และ https: // เป็นพอร์ต 443 ปกติยกเว้นว่าถูกแทนที่ ฉันขอแนะนำให้ใช้พอร์ตมาตรฐาน แน่นอนว่าคุณสามารถใส่ทางเข้าบ้านหลังเดียวในสนามหลังบ้าน แต่ผู้เยี่ยมชมจะรู้ได้อย่างไรว่าอยู่ที่นั่น?

  • หากคุณเป็นไซต์ทดสอบที่ใช้โดยเฉพาะคุณมีสองสิ่งที่ต้องถามตัวเอง:

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

TL; DR:

  • ใช้โดยคนอื่น: ใช้ 80/443
  • ส่วนตัว: ขึ้นอยู่กับคุณ

0

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

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

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