An toàn để sử dụng số cổng cao? (lại: che khuất các dịch vụ web)


9

Tôi có một mạng gia đình nhỏ và tôi đang cố gắng cân bằng giữa nhu cầu bảo mật và sự tiện lợi. Cách an toàn nhất để bảo mật các máy chủ web nội bộ là chỉ kết nối bằng VPN nhưng điều này có vẻ quá mức để bảo vệ giao diện web từ xa của DVR (ví dụ).

Như một sự thỏa hiệp, sẽ tốt hơn nếu sử dụng số lượng cổng rất lớn? (ví dụ: năm chữ số lên tới 65531)

Tôi đã đọc rằng máy quét cổng thường chỉ quét 10.000 cổng đầu tiên nên sử dụng số cổng rất cao sẽ an toàn hơn một chút.

Điều này có đúng không?

Có cách nào tốt hơn để bảo vệ máy chủ web? (ví dụ: guis web cho các ứng dụng)


Không, Không phải vậy. Các máy CPU đa lõi hiện đại (thậm chí là máy tính để bàn) có truy cập băng thông rộng có thể quét tất cả 65535 cổng trong vài giây. Và ngay cả khi kẻ tấn công quyết định rút chúng ra hai giây để chặn cổng DoS, người quan tâm, bạn sẽ rời khỏi hệ thống của bạn trong hơn một ngày, phải không? Một câu châm ngôn cũ là, như những người khác đã nói dưới đây, rằng "bảo mật thông qua che khuất" về cơ bản là vô dụng trong thế giới kỹ thuật số.
msanford

Câu trả lời:


9

Tôi đã đọc rằng máy quét cổng thường chỉ quét 10.000 cổng đầu tiên nên sử dụng số cổng rất cao sẽ an toàn hơn một chút.

Nhiều người tin điều này. Tôi không.

Có lẽ nó an toàn hơn một chút, nhưng không nhiều. Các cổng được đánh số thấp là phổ biến hơn, vì vậy một số máy quét sẽ nhìn vào đó đầu tiên.

Nếu tôi là một cracker, tôi sẽ quét các cổng cao trước, chỉ để bắt những người dựa vào phương pháp này để bảo mật. Những người dựa vào bảo mật xuyên suốt có thể hiểu biết kém về bảo mật và có nhiều khả năng quên sử dụng các phương pháp bảo mật khác. Do đó, các dịch vụ đó có thể dễ bị tổn thương hơn và dễ bị bẻ khóa hơn.

Một số máy quét khai thác niềm tin này, và bắt đầu từ đầu và tìm đường xuống danh sách. Các lần quét khác sẽ chọn các cổng ngẫu nhiên trong toàn bộ phạm vi, vì vậy tất cả các cổng đều có cơ hội được quét như nhau.

Hãy tiếp tục và tự kiểm tra điều này bằng cách sử dụng NMAP . Chạy quét nmap với các cổng 1-10.000 và tìm máy chủ HTTP và so sánh với quét quét quét tất cả các cổng 1-65, xxx. Bạn sẽ thấy rằng sự khác biệt thường là 3-10 phút. Nếu tôi thực hiện quét chi tiết bằng cách sử dụng một cái gì đó như Nessus, sự khác biệt đôi khi là 20-60 phút.

Một cracker tốt là một cracker bệnh nhân. Họ sẽ chờ đợi.


1
Giả sử rằng tất cả các biện pháp bảo mật có liên quan khác đã được thực hiện, sẽ tốt hơn hay xấu hơn khi che khuất số cổng? Tôi nghĩ rằng sẽ tốt hơn một chút nếu máy chủ không được nhắm mục tiêu cụ thể.
wag2639

2
+1 "Một cracker tốt là một cracker kiên nhẫn. Họ sẽ đợi."
msanford

@ wag2639 Bạn không thực sự làm bất cứ điều gì bằng cách thay đổi số cổng của dịch vụ nhưng làm cho một kịch bản-kiddie tìm thấy một kịch bản tốt hơn một chút. Quay số chiến tranh một khối IP và ALSO vẽ chân dung mỗi cổng là chuyện nhỏ.
msanford

Nếu một hacker đang theo đuổi một mục tiêu cụ thể, thì họ có thể đợi 20 - 60 phút để quét các số cổng cao. Tuy nhiên, nếu họ cố quét hàng trăm hoặc hàng ngàn địa chỉ IP để tìm các hệ thống dễ bị tấn công, thì họ sẽ không quét các cổng cao. Ngoài ra họ cần biết có một hệ thống ở đó, trước khi họ có thể bắt đầu nhắm mục tiêu. Nếu tường lửa đang hoạt động, thì hệ thống sẽ vô hình cho đến khi chúng vấp phải một cổng mở.
dùng1751825

3

Sử dụng số cổng lẻ hoàn toàn không bảo mật trừ khi bạn thực tế rằng nó cho phép bạn chạy ứng dụng của mình với tư cách là người dùng không phải root.

Loại điều này có thể được coi là bảo mật bởi sự tối nghĩa nhưng nó không thực sự bảo mật.


Có sự thay thế nào cho việc sử dụng VPN toàn diện không? Có lẽ một số loại proxy web đảo ngược có thêm bảo vệ đăng nhập / mật khẩu? (mực không làm điều này)
SofaKng

@sofakng: bạn có thể quan tâm đến trình bao bọc SSL như Stunnel: stunnel.org
Maxwell

3

Bạn cũng có thể sử dụng đường hầm ssh nếu bạn đang sử dụng Linux ở cả hai đầu:

ssh -f -N -L 9090:localhost:9090 user@remote-host

Ví dụ: đó là những gì tôi sử dụng để chuyển tiếp cổng 9090 trên máy chủ từ xa sang cổng cục bộ 9090 cherokee-adminvà tôi sử dụng các thiết lập tương tự cho các GUI web khác. Bạn có thể bảo vệ các ứng dụng theo cách này bằng cách chỉ định trong cấu hình ứng dụng mà chúng chỉ chạy trên localhost, tức là trên 127.0.0.1. Bằng cách này, chúng không thể truy cập từ bên ngoài, nhưng bạn có thể chuyển tiếp chúng với ssh. Kiểm tra man sshcác tùy chọn khác bằng cách sử dụng chuyển tiếp cổng (bao gồm X, có thể giải quyết vấn đề của bạn theo cách hoàn toàn khác.)

Đây có thể là một cách phù hợp để đạt được mục tiêu của bạn mà không cần cài đặt / định cấu hình phần mềm bổ sung, tùy thuộc vào thiết lập của bạn.


1

Nếu tường lửa của bạn cho phép, bạn có thể thực hiện xác thực xảy ra ở cấp tường lửa trước, nếu độ phức tạp của mật khẩu của bạn đủ tốt, điều đó sẽ thực thi bảo mật của các dịch vụ bị lộ. bạn cũng có thể sử dụng đường hầm SSL bằng cách sử dụng stunnel và auth lẫn nhau.

Theo một cách chắc chắn, việc sử dụng số cổng cao hơn sẽ an toàn hơn, theo một cách nào đó, có thể liên quan đến các bot quét IP của bạn và thử một số khai thác, nhưng nếu ai đó thực sự muốn xâm phạm, sử dụng số cổng cao hơn sẽ không tăng cường bảo mật.


Tôi đang sử dụng pfsense và một số dịch vụ web của tôi có hỗ trợ SSL (HTTPS) tích hợp. Nó vẫn còn tốt hơn để sử dụng stunnel? Là sử dụng stunnel mức "xác thực ở tường lửa"?
SofaKng

1
Làm thế nào để bạn làm "xác thực tại tường lửa"?
wag2639

Tôi không biết liệu pfsense có chức năng đó hay không, nhưng trên các bộ định tuyến Junipers, bạn có thể sử dụng người dùng cục bộ (thậm chí RADIUS) để cấp quyền truy cập vào lưu lượng dịch HTTP. Liên quan đến Stunnel bạn có thể sử dụng xác thực lẫn nhau với các chứng chỉ, stunnel sẽ đóng gói lưu lượng HTTP bằng SSL và xử lý xác thực.
Maxwell
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.