Tại sao tôi nên tường lửa máy chủ?


104

XIN LƯU Ý: Tôi không quan tâm đến việc biến điều này thành một cuộc chiến rực lửa! Tôi hiểu rằng nhiều người có niềm tin mãnh liệt về chủ đề này, một phần không nhỏ bởi vì họ đã nỗ lực rất nhiều vào các giải pháp tường lửa của họ, và cũng vì họ đã được truyền dạy để tin vào sự cần thiết của họ.

Tuy nhiên, tôi đang tìm kiếm câu trả lời từ những người là chuyên gia về bảo mật. Tôi tin rằng đây là một câu hỏi quan trọng và câu trả lời sẽ có lợi hơn cho bản thân tôi và công ty tôi làm việc. Tôi đã chạy mạng máy chủ của chúng tôi trong nhiều năm mà không có sự thỏa hiệp nào, không có bất kỳ tường lửa nào cả. Không có bất kỳ thỏa hiệp bảo mật nào mà chúng tôi thể bị ngăn chặn bằng tường lửa.

Tôi đoán tôi đã làm việc ở đây quá lâu, bởi vì khi tôi nói "máy chủ", tôi luôn có nghĩa là "dịch vụ được cung cấp cho công chúng", không phải là "cơ sở dữ liệu thanh toán nội bộ bí mật". Như vậy, bất kỳ quy tắc nào chúng ta sẽ có trong bất kỳ tường lửa nào cũng sẽ phải cho phép truy cập vào toàn bộ Internet. Ngoài ra, các máy chủ truy cập công cộng của chúng tôi đều nằm trong một trung tâm dữ liệu chuyên dụng tách biệt với văn phòng của chúng tôi.

Một số người khác hỏi một câu hỏi tương tự, và câu trả lời của tôi đã được bình chọn thành số âm. Điều này khiến tôi tin rằng một trong những người bỏ phiếu không thực sự hiểu câu trả lời của tôi hoặc tôi không hiểu đủ về bảo mật để thực hiện những gì tôi đang làm.

Đây là cách tiếp cận của tôi để bảo mật máy chủ:

  1. Làm theo hướng dẫn bảo mật của hệ điều hành trước khi kết nối máy chủ của tôi với Internet.

  2. Sử dụng trình bao bọc TCP để hạn chế quyền truy cập vào SSH (và các dịch vụ quản lý khác) đối với một số ít địa chỉ IP.

  3. Theo dõi trạng thái của máy chủ này với Munin . Và khắc phục các sự cố bảo mật nghiêm trọng vốn có của nút Munin trong cấu hình mặc định của nó.

  4. Nmap máy chủ mới của tôi (cũng trước khi kết nối máy chủ của tôi với Internet). Nếu tôi đã tường lửa máy chủ này, thì đây sẽ là bộ cổng kết nối chính xác nên bị hạn chế.

  5. Cài đặt máy chủ trong phòng máy chủ và cung cấp cho nó một địa chỉ IP công cộng.

  6. Giữ an toàn cho hệ thống bằng cách sử dụng tính năng cập nhật bảo mật của hệ điều hành của tôi.

Triết lý của tôi (và cơ sở của câu hỏi) là bảo mật dựa trên máy chủ mạnh mẽ loại bỏ sự cần thiết của tường lửa. Triết lý bảo mật tổng thể nói rằng bảo mật dựa trên máy chủ mạnh vẫn được yêu cầu ngay cả khi bạn có tường lửa (xem hướng dẫn bảo mật ). Lý do cho điều này là một tường lửa chuyển tiếp các dịch vụ công cộng đến một máy chủ cho phép kẻ tấn công giống như không có tường lửa nào cả. Chính dịch vụ này dễ bị tổn thương và vì việc cung cấp dịch vụ đó cho toàn bộ Internet là một yêu cầu hoạt động của nó, việc hạn chế quyền truy cập vào nó không phải là vấn đề.

Nếu có cổng có sẵn trên máy chủ mà không cần phải được truy cập bởi toàn bộ mạng Internet, sau đó phần mềm mà cần phải được đóng cửa ở bước 1, và đã được xác nhận qua bước 4. Nếu kẻ tấn công phá vỡ thành công vào máy chủ thông qua phần mềm dễ bị tổn thương và tự mở một cổng, kẻ tấn công có thể (và làm) dễ dàng đánh bại bất kỳ tường lửa nào bằng cách thực hiện kết nối ra ngoài trên một cổng ngẫu nhiên. Quan điểm an ninh không phải là để tự bảo vệ mình sau một cuộc tấn công thành công - điều đó đã được chứng minh là không thể - đó là để ngăn chặn những kẻ tấn công ra khỏi nơi đầu tiên.

Có ý kiến ​​cho rằng có những cân nhắc bảo mật khác ngoài các cổng mở - nhưng với tôi nghe có vẻ như bảo vệ đức tin của một người. Bất kỳ lỗ hổng hệ điều hành / ngăn xếp TCP nào cũng sẽ dễ bị tổn thương như nhau cho dù tường lửa có tồn tại hay không - dựa trên thực tế là các cổng đang được chuyển trực tiếp đến hệ điều hành / ngăn xếp TCP đó. Tương tự như vậy, việc chạy tường lửa của bạn trên chính máy chủ thay vì có nó trên bộ định tuyến (hoặc tệ hơn, ở cả hai nơi) dường như đang thêm các lớp phức tạp không cần thiết. Tôi hiểu triết lý "bảo mật đến từng lớp", nhưng có một điểm giống như việc xây dựng một mái nhà bằng cách xếp chồng X số lớp gỗ dán lên nhau và sau đó khoan một lỗ xuyên qua tất cả chúng. Một lớp gỗ dán khác sẽ không ngăn được rò rỉ qua lỗ đó bạn '

Thành thật mà nói, cách duy nhất tôi thấy tường lửa được sử dụng cho máy chủ là nếu nó có các quy tắc động ngăn chặn tất cả các kết nối đến tất cả các máy chủ từ những kẻ tấn công đã biết - như RBLs cho thư rác (trùng hợp thay, là khá nhiều những gì máy chủ thư của chúng tôi làm) . Thật không may, tôi không thể tìm thấy bất kỳ tường lửa nào làm điều đó. Điều tốt nhất tiếp theo là một máy chủ IDS, nhưng giả định rằng kẻ tấn công không tấn công máy chủ thực sự của bạn trước và kẻ tấn công bận tâm thăm dò toàn bộ mạng của bạn trước khi tấn công. Bên cạnh đó, những thứ này đã được biết là tạo ra số lượng lớn dương tính giả.


2
Và vì vậy TẤT CẢ lưu lượng truy cập giữa các máy chủ của bạn được mã hóa?
GregD

5
Yêu nó. Các quy tắc tường lửa cục bộ hầu như luôn luôn chỉ voodoo.
unixtippse

2
Bạn có máy tính để bàn / nhân viên trong mạng của bạn không? Bạn làm gì với chúng?
Brandon

8
Câu hỏi này sẽ rất phù hợp cho bảo
mật.stackexchange.com

2
@routeNpingme: Có vẻ như tôi đã không đưa mẩu tin đó vào bài viết gốc của mình. Tất cả các máy chủ của chúng tôi cần được mở cho công chúng và sống trong một trung tâm dữ liệu chuyên dụng. Nếu văn phòng của bạn là trung tâm dữ liệu của bạn, tôi cho rằng sẽ cần phải có tường lửa giữa mạng máy chủ và mạng văn phòng của bạn. Trong trường hợp đó, tôi đang nói về mạng máy chủ - tại sao tường lửa lại có thứ gì đó hoàn toàn truy cập công khai?
Ernie

Câu trả lời:


54

Ưu điểm của tường lửa:

  1. Bạn có thể lọc lưu lượng ra.
  2. Tường lửa lớp 7 (IPS) có thể bảo vệ chống lại các lỗ hổng ứng dụng đã biết.
  3. Bạn có thể chặn một dải địa chỉ IP nhất định và / hoặc cổng tập trung thay vì cố gắng đảm bảo rằng không có dịch vụ nào nghe trên cổng đó trên mỗi máy riêng lẻ hoặc từ chối truy cập bằng TCP Wrappers .
  4. Tường lửa có thể giúp đỡ nếu bạn phải đối phó với người dùng / quản trị viên ít bảo mật hơn vì họ sẽ cung cấp tuyến phòng thủ thứ hai. Không có chúng, người ta phải chắc chắn rằng máy chủ được bảo mật, đòi hỏi sự hiểu biết bảo mật tốt từ tất cả các quản trị viên.
  5. Nhật ký tường lửa sẽ cung cấp nhật ký trung tâm và giúp phát hiện quét dọc. Nhật ký tường lửa có thể giúp xác định xem một số người dùng / khách hàng đang cố gắng kết nối với cùng một cổng của tất cả các máy chủ của bạn theo định kỳ. Để làm điều này mà không có tường lửa, người ta sẽ phải kết hợp các bản ghi từ nhiều máy chủ / máy chủ khác nhau để có được chế độ xem tập trung.
  6. Tường lửa cũng đi kèm với các mô-đun chống thư rác / chống vi-rút cũng được thêm vào để bảo vệ.
  7. Hệ điều hành bảo mật độc lập. Dựa trên hệ điều hành máy chủ, các kỹ thuật / phương pháp khác nhau được yêu cầu để làm cho máy chủ an toàn. Ví dụ: TCP Wrappers có thể không khả dụng trên các máy Windows.

Trên tất cả điều này nếu bạn không có tường lửa và hệ thống bị xâm phạm thì bạn sẽ phát hiện ra nó như thế nào? Cố gắng chạy một số lệnh 'ps', 'netstat', v.v. trên hệ thống cục bộ không thể tin cậy được vì những nhị phân đó có thể được thay thế. 'nmap' từ một hệ thống từ xa không được bảo vệ vì kẻ tấn công có thể đảm bảo rằng bộ công cụ gốc chỉ chấp nhận các kết nối từ (các) địa chỉ IP nguồn được chọn tại các thời điểm đã chọn.

Tường lửa phần cứng giúp ích trong các tình huống như vậy là cực kỳ khó khăn để thay đổi tường lửa / tệp OS so với các tệp / hệ điều hành máy chủ.

Nhược điểm của tường lửa:

  1. Mọi người cảm thấy rằng tường lửa sẽ chăm sóc an ninh và không cập nhật hệ thống thường xuyên và dừng các dịch vụ không mong muốn.
  2. Họ chi phí. Đôi khi phí giấy phép hàng năm cần phải được thanh toán. Đặc biệt là nếu tường lửa có các mô-đun chống vi-rút và chống thư rác.
  3. Thêm điểm duy nhất của sự thất bại. Nếu tất cả lưu lượng truy cập đi qua tường lửa và tường lửa bị lỗi thì mạng sẽ dừng. Chúng ta có thể có tường lửa dự phòng, nhưng sau đó điểm trước về chi phí sẽ được khuếch đại hơn nữa.
  4. Theo dõi trạng thái cung cấp không có giá trị trên các hệ thống công khai chấp nhận tất cả các kết nối đến.
  5. Tường lửa có trạng thái là một nút cổ chai lớn trong cuộc tấn công DDoS và thường là điều đầu tiên thất bại, vì họ cố gắng giữ trạng thái và kiểm tra tất cả các kết nối đến.
  6. Tường lửa không thể nhìn thấy bên trong lưu lượng được mã hóa. Vì tất cả lưu lượng nên được mã hóa từ đầu đến cuối, hầu hết các tường lửa đều thêm ít giá trị trước các máy chủ công cộng. Một số tường lửa thế hệ tiếp theo có thể được cung cấp khóa riêng để chấm dứt TLS và xem bên trong lưu lượng, tuy nhiên điều này làm tăng tính nhạy cảm của tường lửa đối với DDoS hơn nữa và phá vỡ mô hình bảo mật đầu cuối của TLS.
  7. Các hệ điều hành và ứng dụng được vá chống lại các lỗ hổng nhanh hơn nhiều so với tường lửa. Các nhà cung cấp tường lửa thường ngồi trên các vấn đề đã biết trong nhiều năm mà không vá, và vá cụm tường lửa thường yêu cầu thời gian chết cho nhiều dịch vụ và kết nối ra bên ngoài.
  8. Tường lửa là xa hoàn hảo, và nhiều lỗi nổi tiếng là lỗi. Tường lửa chỉ là phần mềm chạy trên một số dạng hệ điều hành, có lẽ có thêm ASIC hoặc FPGA ngoài CPU (thường là chậm). Tường lửa có lỗi, nhưng dường như họ cung cấp một vài công cụ để giải quyết chúng. Do đó, tường lửa thêm độ phức tạp và một nguồn bổ sung các lỗi khó chẩn đoán cho ngăn xếp ứng dụng.

6
Above all this if you do not have firewall and system is compromised then how would you detect it?Phát hiện xâm nhập không phải là công việc của tường lửa. Công việc đó được xử lý đúng hơn bởi HIDS (hệ thống phát hiện xâm nhập dựa trên máy chủ), độc lập với tường lửa.
Steven Thứ Hai

6
Máy chủ nhật ký hệ thống loại bỏ sự cần thiết của mục 5. Nếu có bất cứ điều gì, tốt nhất là gửi nhật ký tường lửa của bạn đến máy chủ nhật ký hệ thống, trong trường hợp kẻ tấn công quản lý để thỏa hiệp tường lửa và xóa nhật ký của nó. Sau đó, kẻ tấn công phải thỏa hiệp hai hệ thống chỉ để xóa nhật ký và chúng có thể không được chuẩn bị cho điều đó (đặc biệt là với các cuộc tấn công tự động). Tương tự, nếu tất cả các hệ thống của bạn có ghi nhật ký tập trung, bạn sẽ có được thông tin chi tiết về cuộc tấn công tốt hơn so với nhật ký tường lửa có thể cung cấp.
Ernie

2
Quan điểm của tôi là vì HIDS cư trú trên máy chủ, chúng tôi không thể tin tưởng vào đầu ra của nó. Ví dụ, ngay cả khi chúng tôi sử dụng 'tripwire' bảo mật bằng mật mã làm IDS dựa trên máy chủ, kẻ tấn công luôn có thể thay thế tất cả các nhị phân tripwire (twadmin, tripwire, twprint, v.v.) bằng các phiên bản bị xâm nhập sẽ không bao giờ báo cáo xâm nhập. Ngay cả khi chúng tôi cố gắng sao chép thư viện / tệp nhị phân từ hệ thống khác, có thể có một quy trình đang chạy theo dõi các tệp nhị phân bị xâm phạm này và một lần nữa thay thế chúng bằng phiên bản bị hỏng trong trường hợp chúng được thay thế hoặc cập nhật. Tường lửa độc lập với máy chủ, có thể được tin cậy trong các tình huống như vậy.
Saurabh Barjatiya

2
Câu trả lời này đã được chấp nhận so với câu trả lời phổ biến hơn vì nó cung cấp lý do tốt hơn và toàn diện hơn cho việc sử dụng tường lửa. Và không, cho vấn đề đó.
Ernie

Tường lửa kiểm tra gói tin nhà nước KHÔNG thuộc về phía trước máy chủ. Chúng là một trách nhiệm rất lớn trong các cuộc tấn công DDoS và thường là điều đầu tiên thất bại khi bị tấn công.
rmalayter

33

TCP Wrappers có thể được gọi là triển khai tường lửa dựa trên máy chủ; bạn đang lọc lưu lượng mạng.

Đối với điểm kẻ tấn công thực hiện các kết nối ra ngoài trên một cổng tùy ý, tường lửa cũng sẽ cung cấp phương tiện kiểm soát lưu lượng đi; một tường lửa được cấu hình đúng sẽ quản lý việc xâm nhập và đi ra theo cách phù hợp với rủi ro liên quan đến hệ thống.

Về điểm bất kỳ lỗ hổng TCP nào không được giảm thiểu bởi tường lửa, bạn không quen với cách tường lửa hoạt động. Cisco có cả đống quy tắc có sẵn để tải xuống, xác định các gói được xây dựng theo cách có thể gây ra sự cố hệ điều hành cụ thể. Nếu bạn lấy Snort và bắt đầu chạy nó với bộ quy tắc phù hợp, bạn cũng sẽ được cảnh báo về loại điều này. Và tất nhiên, Linux iptables có thể lọc các gói độc hại.

Về cơ bản, một tường lửa là bảo vệ chủ động. Bạn càng tránh xa sự chủ động, nhiều khả năng bạn sẽ thấy mình trong tình huống bạn đang phản ứng với một vấn đề thay vì ngăn chặn vấn đề. Tập trung bảo vệ của bạn ở biên giới, như với một tường lửa chuyên dụng, giúp mọi thứ dễ quản lý hơn vì bạn có một điểm nghẹt trung tâm thay vì sao chép các quy tắc ở mọi nơi.

Nhưng không có điều gì nhất thiết phải là một giải pháp cuối cùng. Một giải pháp bảo mật tốt thường là nhiều lớp, trong đó bạn có tường lửa ở biên giới, trình bao bọc TCP tại thiết bị và có thể một số quy tắc trên bộ định tuyến nội bộ. Bạn thường nên bảo vệ mạng khỏi Internet và bảo vệ các nút khỏi nhau. Cách tiếp cận nhiều lớp này không giống như khoan một lỗ thông qua nhiều tấm gỗ dán, nó giống như đặt một cặp cửa để kẻ đột nhập có hai ổ khóa để phá thay vì chỉ một; đây được gọi là bẫy người trong an ninh vật lý và hầu hết mọi tòa nhà đều có một lý do. :)


6
Ngoài ra nếu họ lẻn vào bên trong tòa nhà và mở cánh cửa bên trong cho bạn của họ bên ngoài, thì họ cũng phải mở khóa và mở cánh cửa bên ngoài. (tức là không có tường lửa bên ngoài, một người được vào máy chủ của bạn có thể mở nó phải lên, trong khi một bức tường lửa bên ngoài vẫn sẽ chặn các cổng mở từ bên ngoài)
Ricket

@Ricket: Có lẽ họ có thể, nhưng những kẻ tấn công hiện đại không bận tâm đến những thứ như thế này. Trang web của bạn sẽ phải được kẻ tấn công đặc biệt quan tâm để làm bất cứ điều gì hơn là thêm máy chủ của bạn vào trang trại zombie.
Ernie

1
@Ernie - không, nó chỉ cần tồn tại để được tự động tìm kiếm không gian trống cho Warez, cơ sở dữ liệu khách hàng, thông tin tài chính, mật khẩu và được thêm vào botnet - nhưng thậm chí điều đó có thể đủ tệ - một số quản trị viên sẽ vui vẻ làm mờ IP của bạn nếu nó trông giống như bạn lưu trữ zombie.
Rory Alsop

TCP Wrappers could be arguably called a host-based firewall implementation+1 cho một câu trả lời tuyệt vời.
sjas

15

(Bạn có thể muốn đọc " Cuộc sống không tường lửa ")

Bây giờ: Điều gì về việc có một hệ thống kế thừa mà không có bản vá nào được công bố nữa? Điều gì về việc không thể áp dụng các bản vá cho máy N vào thời điểm bạn cần làm như vậy, đồng thời bạn có thể áp dụng chúng trong ít nút hơn trong mạng (tường lửa)?

Không có điểm nào để tranh luận về sự tồn tại hoặc nhu cầu của tường lửa. Điều thực sự quan trọng là bạn phải thực hiện chính sách bảo mật. Để làm như vậy, bạn sẽ sử dụng bất kỳ công cụ nào sẽ thực hiện nó và giúp bạn quản lý, mở rộng và phát triển nó. Nếu tường lửa là cần thiết để làm như vậy, điều đó là tốt. Nếu họ không cần thì cũng tốt thôi. Điều thực sự quan trọng là việc triển khai chính sách bảo mật của bạn.


1
Heh. Tôi đã chạy mạng máy chủ của chúng tôi trong 8 năm qua mà không có tường lửa. Tôi có thể đã viết "Cuộc sống không tường lửa", nhưng dù sao thì anh ấy đã làm một công việc tốt hơn và điều hành một mạng lưới lớn hơn tôi.
Ernie

2
@Ernie - Tôi đoán bạn có thể đã gặp may mắn. Làm thế nào để bạn biết bạn đã không được thỏa hiệp? Kết quả điều tra pháp y trên nhiều khách hàng của tôi đã phát hiện ra sự thỏa hiệp, đôi khi có từ nhiều tháng trước, trong khi những kẻ tấn công tìm thấy thông tin cá nhân và thông tin tài chính, thông tin khách hàng, tài sản trí tuệ, kế hoạch kinh doanh, v.v. Như Sean nói - hãy thực hiện kiểm toán bảo mật thích hợp.
Rory Alsop

1
Trên thực tế, ngoài thực tế là mạng máy chủ của chúng tôi tách biệt về mặt vật lý với mạng văn phòng của chúng tôi (và do đó, không có dữ liệu thực sự nhạy cảm nào có thể được lượm lặt từ nó, ngay cả với quyền truy cập root trên mọi máy chủ), tôi đã có thể khám phá mọi thỏa hiệp duy nhất của chúng tôi Tôi đã từng có kể từ khi tôi bắt đầu ở đây. Tôi có thể tiếp tục về chương trình kinh dị tồn tại khi tôi bắt đầu, nhưng tôi không có đủ không gian. :) Đủ để nói rằng hầu hết các cuộc tấn công là không tinh tế, và những cuộc tấn công tinh vi cũng có thể khám phá được. Ồ vâng, và phân tách đặc quyền người dùng là bạn của bạn.
Ernie

9

Hầu hết các giải thích của bạn dường như bác bỏ nhu cầu về tường lửa, nhưng tôi không thấy một kẻ lừa đảo nào có, ngoài số lượng thời gian nhỏ để thiết lập.

Vài điều là một "điều cần thiết" trong một ý nghĩa nghiêm ngặt của từ này. Bảo mật là nhiều hơn về việc thiết lập tất cả các phong tỏa bạn có thể. Càng nhiều công việc cần thiết để đột nhập vào máy chủ của bạn có nghĩa là càng ít cơ hội tấn công thành công. Bạn muốn làm cho nó hoạt động nhiều hơn để đột nhập vào máy của bạn hơn ở nơi khác. Thêm một tường lửa làm cho nhiều công việc hơn.

Tôi nghĩ rằng việc sử dụng chính là sự dư thừa trong bảo mật. Một điểm cộng nữa của tường lửa là bạn có thể bỏ qua các nỗ lực để kết nối với bất kỳ cổng nào thay vì trả lời các yêu cầu bị từ chối - điều này sẽ khiến việc lập bản đồ trở nên bất tiện hơn một chút đối với kẻ tấn công.

Điều quan trọng nhất đối với tôi về lưu ý thực tế cho câu hỏi của bạn là bạn có thể khóa SSH, ICMP và các dịch vụ nội bộ khác xuống các mạng con cục bộ cũng như đánh giá giới hạn các kết nối đến để giúp giảm bớt các cuộc tấn công của DOS.

"Quan điểm an ninh không phải là để tự bảo vệ mình sau một cuộc tấn công thành công - điều đó đã được chứng minh là không thể - đó là để ngăn chặn những kẻ tấn công ra khỏi nơi đầu tiên."

Tôi không đồng ý. Hạn chế thiệt hại có thể cũng quan trọng như vậy. (theo lý tưởng này tại sao băm mật khẩu? hoặc dán phần mềm cơ sở dữ liệu của bạn trên một máy chủ khác với các ứng dụng web của bạn?) Tôi nghĩ rằng câu nói cũ "Đừng để tất cả trứng vào một giỏ" có thể áp dụng ở đây.


1
Chà, bạn nói đúng, tôi không đặt bất kỳ khuyết điểm nào vào đó. Nhược điểm: tăng độ phức tạp của mạng, điểm lỗi đơn, giao diện mạng đơn thông qua đó băng thông bị tắc nghẽn. Tương tự như vậy, các lỗi quản trị được thực hiện trên một tường lửa có thể giết chết toàn bộ mạng của bạn. Và các vị thần cấm bạn khóa mình trong lúc đó khi chuyến đi 20 phút đến phòng máy chủ.
Ernie

1
Điều này có thể hoàn toàn là khoa trương, nhưng khi bạn nói "Bảo mật là về thiết lập tất cả các phong tỏa bạn có thể", tôi thích nghe "Bảo mật hơn là chặn mọi thứ theo mặc định và cẩn thận mở tối thiểu nghiêm ngặt để vận hành".
MatthieuP

+1 Một kế hoạch bảo mật toàn diện bao gồm phòng ngừa, phát hiện và phản ứng.
Jim OHalloran

8

Should I firewall my server?Câu hỏi hay. Dường như có rất ít điểm để đặt một tường lửa trên đỉnh ngăn xếp mạng đã từ chối các nỗ lực kết nối với tất cả trừ một số cổng được mở hợp pháp. Nếu có một lỗ hổng trong HĐH cho phép các gói được tạo độc hại phá vỡ / khai thác một máy chủ, liệu một tường lửa chạy trên cùng một máy chủ đó có ngăn chặn việc khai thác không? Chà, có lẽ ...

Và đó có lẽ là lý do mạnh nhất để chạy tường lửa trên mọi máy chủ: Tường lửa có thể ngăn lỗ hổng ngăn xếp mạng bị khai thác. Đó có phải là một lý do đủ mạnh? Tôi không biết, nhưng tôi cho rằng người ta có thể nói, "Không ai từng bị sa thải vì cài đặt tường lửa."

Một lý do khác để chạy tường lửa trên máy chủ là để tách rời hai mối quan tâm tương quan mạnh mẽ này:

  1. Từ đâu và đến cổng nào, tôi có chấp nhận kết nối không?
  2. Những dịch vụ nào đang chạy và lắng nghe các kết nối?

Không có tường lửa, tập hợp các dịch vụ đang chạy (cùng với các cấu hình cho tcpwrappers và như vậy) hoàn toàn xác định tập hợp các cổng mà máy chủ sẽ mở và từ đó các kết nối sẽ được chấp nhận. Tường lửa dựa trên máy chủ cung cấp cho quản trị viên thêm tính linh hoạt để cài đặt và thử nghiệm các dịch vụ mới theo cách được kiểm soát trước khi cung cấp chúng rộng rãi hơn. Nếu không cần linh hoạt như vậy, thì có ít lý do hơn để cài đặt tường lửa trên máy chủ.

Ở một lưu ý cuối cùng, có một mục không được đề cập trong danh sách kiểm tra bảo mật của bạn mà tôi luôn thêm và đó là hệ thống phát hiện xâm nhập dựa trên máy chủ (HIDS), như AIDE hoặc samhain . Một HIDS tốt khiến kẻ xâm nhập cực kỳ khó thực hiện các thay đổi không mong muốn đối với hệ thống và vẫn không bị phát hiện. Tôi tin rằng tất cả các máy chủ nên chạy một số loại HIDS.


1
+1 để đề cập đến các hệ thống HIDS.
Sam Halicke

3
HIDS là tuyệt vời - Nếu bạn có ý định thiết lập và quên nó. Và không bao giờ thêm hoặc xóa tài khoản. Mặt khác, phần lớn các bản ghi HIDS sẽ là danh sách dài những gì bạn đã làm ngày hôm nay, và sẽ nhanh chóng bị bỏ qua mọi lúc.
Ernie

Không đau, không đạt được, như họ nói. Trên các máy chủ có nhiều thay đổi, có thể lọc tiếng ồn dự kiến, khiến bạn tập trung vào những điều không mong muốn.
Steven Thứ Hai

6

Tường lửa là một công cụ. Nó không làm cho mọi thứ an toàn trong chính nó, nhưng nó có thể đóng góp như một lớp trong một mạng an toàn. Điều đó không có nghĩa là bạn cần một cái, và tôi chắc chắn lo lắng về những người mù quáng nói "Tôi phải lấy tường lửa" mà không hiểu tại sao họ lại nghĩ như vậy và ai không hiểu được điểm mạnh và điểm yếu của tường lửa.

Có rất nhiều công cụ mà chúng ta có thể nói rằng chúng ta không cần ... Có thể chạy máy tính Windows mà không cần Antivirus không? Vâng, đó là ... nhưng đó là một lớp bảo hiểm tốt đẹp để có một.

Tôi cũng nói như vậy về tường lửa - bất cứ điều gì bạn có thể nói về họ, họ đều là một mức bảo hiểm tốt. Chúng không thể thay thế cho việc vá lỗi, để khóa máy, vô hiệu hóa các dịch vụ bạn không sử dụng, để đăng nhập, v.v ... nhưng chúng có thể là một bổ sung hữu ích.

Tôi cũng đề nghị rằng phương trình thay đổi phần nào tùy thuộc vào việc bạn có nói về việc đặt tường lửa trước một nhóm máy chủ được chăm sóc cẩn thận hay không, như bạn dường như, hoặc một mạng LAN thông thường có sự kết hợp giữa máy trạm và máy chủ , một số trong đó có thể đang chạy một số công cụ lông đẹp mặc dù những nỗ lực và mong muốn tốt nhất của nhóm CNTT.

Một điều nữa cần xem xét là lợi ích của việc tạo ra một mục tiêu rõ ràng là cứng. An ninh có thể nhìn thấy, cho dù đó là đèn sáng, ổ khóa nặng và hộp báo động rõ ràng trên tòa nhà; hoặc tường lửa rõ ràng trên dải địa chỉ IP của doanh nghiệp có thể ngăn chặn kẻ xâm nhập thông thường - họ sẽ tìm kiếm con mồi dễ dàng hơn. Điều này sẽ không ngăn chặn kẻ xâm nhập quyết tâm biết bạn có thông tin họ muốn và quyết tâm lấy thông tin đó, nhưng việc ngăn chặn những kẻ xâm nhập thông thường vẫn đáng giá - đặc biệt nếu bạn biết rằng bất kỳ kẻ xâm nhập nào mà kẻ thăm dò vẫn kiên trì vượt qua cần phải răn đe .


1
Vì vậy, lý do tôi nói "máy chủ" thay vì "mạng văn phòng"? :) Trong trường hợp của chúng tôi đặc biệt, trung tâm dữ liệu và văn phòng là hai thực thể riêng biệt.
Ernie

Tôi hiểu rằng Ernie, nhưng đó là một điểm đáng để gạch chân ... vì vậy tôi đã làm.
Rob Moir

5

Tất cả các câu hỏi tuyệt vời. NHƯNG - Tôi rất ngạc nhiên HIỆU SUẤT không được đưa lên bàn.

Đối với các giao diện Web được sử dụng rất cao (CPU-khôn ngoan), tường lửa cục bộ thực sự làm giảm hiệu suất, thời gian. Hãy thử kiểm tra tải và xem. Tôi đã thấy hàng tấn lần này. Tắt tường lửa tăng hiệu suất (yêu cầu mỗi giây) từ 70% trở lên.

Sự đánh đổi này phải được xem xét.


2
Nó phụ thuộc rất nhiều vào các quy tắc tường lửa tại chỗ. Các quy tắc tường lửa được chạy tuần tự trên mỗi gói, vì vậy bạn không muốn có hàng trăm quy tắc phải được xem xét. Mùa đông năm ngoái khi chúng tôi quản lý một trang web có quảng cáo trên superbowl, ví dụ như các quy tắc tường lửa không phải là vấn đề. Nhưng tôi đồng ý rằng bạn cần hiểu tác động hiệu suất của các quy tắc tường lửa.
Sean Reifschneider

4

Một tường lửa là bảo vệ bổ sung. Ba tình huống cụ thể mà nó bảo vệ chống lại là các cuộc tấn công ngăn xếp mạng (tức là hệ điều hành máy chủ của bạn có lỗ hổng đối với các gói được chế tạo đặc biệt không bao giờ đạt đến mức cổng), xâm nhập thành công tạo kết nối đến "nhà điện thoại" (hoặc gửi thư rác hoặc bất cứ điều gì ) hoặc xâm nhập thành công khi mở cổng máy chủ hoặc, ít bị phát hiện hơn, hãy theo dõi trình tự gõ cổng trước khi mở cổng. Cấp, hai người cuối cùng phải làm với việc giảm thiểu thiệt hại của một vụ xâm nhập thay vì ngăn chặn nó, nhưng điều đó không có nghĩa là nó vô dụng. Hãy nhớ rằng bảo mật không phải là một đề xuất tất cả hoặc không có gì; người ta có một cách tiếp cận nhiều lớp, vành đai và hệ thống treo, để đạt được mức độ bảo mật đủ cho nhu cầu của bạn.


+1 Tuyệt đối, phòng thủ theo chiều sâu là chìa khóa.
Jim OHalloran

2
Tôi không thấy làm thế nào tôi có thể có bất kỳ kỳ vọng nào về việc chặn lưu lượng truy cập đi ra bất kỳ ảnh hưởng nào, đặc biệt là khi khách hàng của chúng tôi mong đợi nhiều máy chủ của chúng tôi gửi thư đến các máy chủ ngẫu nhiên trên internet (như trường hợp là thư rác). "Gọi điện về nhà" chỉ là vấn đề kết nối với một số máy chủ ngẫu nhiên khác trên mạng - và tôi nghi ngờ rằng việc chặn tất cả các kết nối ra ngoài sẽ tiết kiệm cho một số người - đó là, nếu bạn muốn làm bất cứ điều gì trên internet. Và việc chặn chỉ một vài cổng cũng giống như thiết lập một trạm thu phí ở giữa sa mạc.
Ernie

3

Tôi không phải là chuyên gia bảo mật bằng mọi cách, nhưng có vẻ như bạn là tường lửa. Có vẻ như bạn đã sử dụng một số chức năng cốt lõi của tường lửa và biến nó thành một phần của chính sách và quy trình của bạn. Không, bạn không cần tường lửa nếu bạn sẽ tự làm công việc tương tự như tường lửa. Đối với bản thân tôi, tôi muốn làm tốt nhất có thể để giữ an ninh, nhưng có một tường lửa nhìn qua vai tôi, nhưng đến một lúc nào đó khi bạn có thể làm mọi thứ mà tường lửa đang làm, nó bắt đầu trở nên không liên quan.


3

Một tường lửa chắc chắn là không cần thiết cho các thiết lập nhỏ hơn. Nếu bạn có một hoặc hai máy chủ, tường lửa phần mềm có thể duy trì được. Như đã nói, chúng tôi không chạy mà không có tường lửa chuyên dụng, và có một vài lý do tại sao tôi duy trì triết lý này:

Tách vai trò

Máy chủ dành cho các ứng dụng. Tường lửa là để kiểm tra gói, lọc và chính sách. Một máy chủ web nên lo lắng về việc phục vụ các trang web, và đó là nó. Đặt cả hai vai trò trong một thiết bị cũng giống như yêu cầu kế toán viên của bạn làm người bảo vệ an ninh của bạn.

Phần mềm là một mục tiêu di chuyển

Phần mềm trên máy chủ luôn thay đổi. Các ứng dụng có thể tạo ngoại lệ tường lửa của riêng họ. HĐH được cập nhật và vá lỗi. Máy chủ là khu vực "quản trị viên" có lưu lượng truy cập cao và chính sách tường lửa / chính sách bảo mật của bạn thường quan trọng hơn đối với bảo mật so với cấu hình ứng dụng của bạn. Trong môi trường Windows, giả sử ai đó mắc lỗi ở một số cấp Chính sách nhóm và tắt Tường lửa Windows trên máy tính để bàn và không nhận ra rằng nó sẽ được áp dụng cho các máy chủ. Bạn đang mở rộng trong một vấn đề nhấp chuột.

Chỉ cần nói về các bản cập nhật, các bản cập nhật firmware tường lửa thường xuất hiện một hoặc hai lần một năm, trong khi các bản cập nhật hệ điều hành và dịch vụ là một dòng không đổi.

Dịch vụ / chính sách / quy tắc tái sử dụng, khả năng quản lý

Nếu tôi thiết lập một dịch vụ / chính sách gọi là "Máy chủ Web" một lần (giả sử TCP 80 và TCP 443) và áp dụng nó cho "nhóm máy chủ web" ở cấp tường lửa, thì hiệu quả hơn nhiều (một vài thay đổi cấu hình) và ít bị lỗi theo cấp số nhân hơn so với thiết lập dịch vụ tường lửa trên 10 hộp và mở 2 cổng x 10 lần. Khi chính sách đó cần thay đổi, đó là 1 thay đổi so với 10.

Tôi vẫn có thể quản lý tường lửa trong một cuộc tấn công hoặc sau khi thỏa hiệp

Giả sử máy chủ ứng dụng + tường lửa dựa trên máy chủ của tôi đang bị tấn công và CPU tắt khỏi biểu đồ. Để thậm chí bắt đầu tìm hiểu những gì đang xảy ra, tôi rất tự hào về tải trọng của mình ít hơn kẻ tấn công thậm chí là vào trong và nhìn vào nó.

Một trải nghiệm thực tế - Tôi đã từng làm rối quy tắc tường lửa (các cổng trái sang BẤT CỨ thay vì một quy tắc cụ thể và máy chủ có dịch vụ dễ bị tấn công) và kẻ tấn công thực sự có phiên Remote Remote trực tiếp vào hộp. Mỗi khi tôi bắt đầu có một phiên, kẻ tấn công sẽ giết / ngắt kết nối phiên của tôi. Nếu không thể tắt cuộc tấn công đó từ một thiết bị tường lửa độc lập, điều đó có thể còn tồi tệ hơn nhiều.

Giám sát độc lập

Việc đăng nhập vào các đơn vị tường lửa chuyên dụng thường vượt trội hơn nhiều so với tường lửa phần mềm dựa trên máy chủ. Một số đủ tốt để bạn thậm chí không cần phần mềm giám sát SNMP / NetFlow bên ngoài để có được hình ảnh chính xác.

Bảo tồn IPv4

Không có lý do để có hai địa chỉ IP nếu một là cho web và một là cho thư. Giữ các dịch vụ trên các hộp riêng biệt và định tuyến các cổng một cách thích hợp thông qua thiết bị được thiết kế để thực hiện điều đó.


2

Blockquote Vâng, bạn nói đúng, tôi đã không đặt bất kỳ khuyết điểm nào vào đó. Nhược điểm: tăng độ phức tạp của mạng, điểm lỗi đơn, giao diện mạng đơn thông qua đó băng thông bị tắc nghẽn. Tương tự như vậy, các lỗi quản trị được thực hiện trên một tường lửa có thể giết chết toàn bộ mạng của bạn. Và các vị thần cấm bạn khóa mình trong lúc đó khi chuyến đi 20 phút đến phòng máy chủ.

Đầu tiên, việc thêm tối đa một bước nhảy bổ sung qua mạng của bạn không phức tạp. Thứ hai, không có giải pháp tường lửa nào được thực hiện với bất kỳ điểm thất bại nào là hoàn toàn vô dụng. Giống như bạn phân cụm máy chủ hoặc dịch vụ quan trọng của mình và sử dụng các NIC ngoại quan, bạn triển khai các tường lửa có tính sẵn sàng cao. Không làm như vậy, hoặc không nhận ra và biết rằng bạn làm như vậy là rất thiển cận. Đơn giản chỉ cần nói rằng có một giao diện duy nhất không tự động làm cho một cái gì đó tắc nghẽn. Sự khẳng định đó cho thấy rằng bạn không biết cách lập kế hoạch và triển khai một tường lửa có kích thước phù hợp để xử lý lưu lượng sẽ chảy qua mạng của bạn. Bạn đã đúng khi nói rằng một lỗi trong chính sách có thể gây hại cho toàn bộ mạng của bạn, nhưng tôi cho rằng việc duy trì các chính sách riêng lẻ trên tất cả các máy chủ của bạn sẽ dễ bị lỗi hơn một chỗ.

Đối với lập luận rằng bạn theo kịp với bản vá bảo mật và làm theo hướng dẫn bảo mật; đó là một cuộc tranh cãi run rẩy Thông thường các bản vá bảo mật không có sẵn cho đến khi lỗ hổng được phát hiện. Điều đó có nghĩa là toàn bộ thời gian bạn đang chạy các máy chủ có địa chỉ công khai, chúng dễ bị tấn công cho đến khi chúng được vá. Như những người khác đã chỉ ra, các hệ thống IPS có thể giúp ngăn chặn sự thỏa hiệp từ các lỗ hổng như vậy.

Nếu bạn nghĩ rằng hệ thống của bạn an toàn nhất có thể, thì đó là một sự tự tin tốt để có. Tuy nhiên, tôi khuyên bạn nên thực hiện kiểm toán bảo mật chuyên nghiệp trên mạng của mình. Nó có thể chỉ cần mở mắt của bạn.


It may just open your eyes.+1 vì nó sẽ là chiếc đinh cuối cùng trong quan tài.
sjas

2

Nói chung, bảo mật là một điều hành tây, như đã đề cập. Có nhiều lý do tường lửa tồn tại, và nó không chỉ là những kẻ lem luốc khác là những kẻ ngu ngốc.

Câu trả lời này xuất hiện, vì việc tìm kiếm 'fail2ban' trên trang này không cho tôi bất kỳ kết quả nào. Vì vậy, nếu tôi tăng gấp đôi nội dung khác, chịu đựng với tôi. Và xin lỗi, nếu tôi giận dữ một chút, tôi cung cấp trải nghiệm đơn giản vì điều này có thể có ích cho người khác. :)

Mạng lưới cân nhắc, địa phương so với bên ngoài

Đây là khá cụ thể của Linux và tập trung vào tường lửa dựa trên máy chủ, thường là trường hợp sử dụng. Tường lửa bên ngoài đi đôi với cấu trúc mạng phù hợp và các cân nhắc bảo mật khác thường đi vào đó. Hoặc bạn biết những gì được ngụ ý ở đây, sau đó bạn có thể sẽ không cần bài đăng này. Hoặc bạn không, sau đó chỉ cần đọc tiếp.

Chạy tường lửa bên ngoài và cục bộ có vẻ phản tác dụng và làm việc gấp đôi. Nhưng điều này cũng mang lại khả năng thay đổi quy tắc cho bên ngoài, mà không ảnh hưởng đến bảo mật trên tất cả các máy chủ khác đứng đằng sau nó. Nhu cầu có thể nảy sinh từ một trong hai lý do gỡ lỗi hoặc bởi vì ai đó vừa mới làm hỏng. Một trường hợp sử dụng khác sẽ xuất hiện ở đó trong phần 'tường lửa toàn cầu thích ứng', mà bạn cũng sẽ cần cả tường lửa toàn cầu và tường lửa cục bộ.

Chi phí và tính sẵn có và cùng một câu chuyện mọi lúc:

Tường lửa chỉ là một khía cạnh của một hệ thống bảo mật thích hợp. Không cài đặt tường lửa vì nó tốn tiền, giới thiệu SPOF hoặc bất cứ điều gì chỉ là nhảm nhí, xin lỗi tiếng Pháp của tôi ở đây. Chỉ cần thiết lập một cụm. Ồ, nhưng nếu tế bào lửa bị cúp thì sao? Sau đó thiết lập cụm của bạn trên khoảng hai hoặc nhiều ngăn cháy.

Nhưng điều gì sẽ xảy ra nếu toàn bộ trung tâm dữ liệu không thể truy cập được, vì cả hai hãng vận chuyển bên ngoài đều không hoạt động (máy đào đã giết chết sợi của bạn)? Chỉ cần làm cho cụm của bạn kéo dài một số trung tâm dữ liệu, sau đó.

Cái đó có đắt không? Cụm quá phức tạp? Vâng, hoang tưởng phải được trả tiền cho.

Chỉ rên rỉ về SPOF, nhưng không muốn trả nhiều tiền hơn hoặc tạo ra các thiết lập phức tạp hơn một chút là một trường hợp rõ ràng về tiêu chuẩn kép hoặc chỉ là một ví nhỏ ở phía công ty hoặc khách hàng.

Mẫu này áp dụng cho TẤT CẢ các cuộc thảo luận này, bất kể dịch vụ nào là vấn đề hiện tại trong ngày. Bất kể đó là cổng VPN, Cisco ASA chỉ được sử dụng để tường lửa, cơ sở dữ liệu MySQL hoặc PostgreQuery, hệ thống ảo hoặc phần cứng máy chủ, phụ trợ lưu trữ, bộ chuyển mạch / bộ định tuyến, ...

Bây giờ bạn sẽ có được ý tưởng.

Tại sao phải bận tâm với tường lửa?

Về lý thuyết lý luận của bạn là âm thanh. (Chỉ có thể khai thác các dịch vụ đang chạy.)

Nhưng đây chỉ là một nửa sự thật. Tường lửa, đặc biệt là tường lửa trạng thái có thể làm nhiều hơn cho bạn. Tường lửa không quốc tịch chỉ quan trọng nếu bạn gặp vấn đề về hiệu suất như những người khác đã đề cập.

Kiểm soát truy cập dễ dàng, trung tâm, rời rạc

Bạn đã đề cập đến các trình bao bọc TCP thực hiện chức năng cơ bản giống nhau để bảo vệ bạn. Vì lợi ích của tranh luận, giả sử ai đó không biết tcpdvà thích sử dụng chuột? fwbuildercó thể đi vào tâm trí

Có quyền truy cập đầy đủ từ mạng quản lý của bạn là điều bạn nên kích hoạt, đây là điều trong các trường hợp sử dụng đầu tiên của tường lửa dựa trên máy chủ của bạn.

Làm thế nào về một thiết lập nhiều máy chủ, nơi cơ sở dữ liệu chạy ở một nơi khác và bạn không thể đặt cả hai / tất cả các máy trong một mạng con chia sẻ (riêng tư) vì lý do gì? Sử dụng tường lửa để chỉ cho phép truy cập MySQL trên cổng 3306 cho địa chỉ IP đã cho của máy chủ khác, đơn giản.

Và điều đó cũng hoạt động hoàn hảo cho UDP. Hoặc bất cứ giao thức nào. Tường lửa có thể rất linh hoạt. ;)

Giảm nhẹ portscan

Hơn nữa, với tường lửa, các cổng thông tin chung có thể được phát hiện và giảm thiểu vì số lượng kết nối trên mỗi lần có thể được theo dõi thông qua kernel và ngăn xếp mạng của nó và tường lửa có thể hoạt động theo đó.

Ngoài ra các gói không hợp lệ hoặc tối nghĩa có thể được xử lý trước khi chúng đến ứng dụng của bạn.

Hạn chế giao thông đi

Lọc lưu lượng ra bên ngoài thường là một nỗi đau ở mông. Nhưng nó có thể là một điều bắt buộc, tùy thuộc vào hợp đồng.

Số liệu thống kê

Một thứ khác mà tường lửa có thể cung cấp cho bạn, là số liệu thống kê. (Hãy suy nghĩ watch -n1 -d iptables -vnxL INPUTvới việc đã thêm một số quy tắc cho các địa chỉ IP đặc biệt ngay trên đầu để xem các gói có đi qua không.)

Bạn có thể thấy trong ánh sáng ban ngày nếu mọi thứ hoạt động hoặc chúng không hoạt động. Điều này rất hữu ích khi khắc phục sự cố kết nối và có thể nói với người khác qua điện thoại mà bạn không nhận được các gói, mà không cần phải dùng đến trò chuyện tcpdump. Mạng rất thú vị, hầu hết mọi người bây giờ đều biết họ đang làm gì và tất cả thường chỉ là các lỗi định tuyến đơn giản. Chết tiệt, ngay cả tôi cũng không biết mình đang làm gì. Mặc dù bây giờ tôi đã làm việc với hàng tá các hệ thống và thiết bị phức tạp, thường là với việc đào hầm.

IDS / IPS

Tường lửa lớp 7 thường là dầu rắn (IPS / IDS), nếu không được tham dự đúng cách và được cập nhật thường xuyên. Ngoài ra, giấy phép rất đắt tiền, vì vậy tôi sẽ nhận được một giấy phép nếu bạn không có nhu cầu thực sự để có được mọi thứ tiền có thể mua cho bạn.

Masqerading

Dễ dàng, chỉ cần thử điều này với giấy gói của bạn. :CƯỜI MỞ MIỆNG

Chuyển tiếp cổng địa phương

Xem giả trang.

Bảo vệ các kênh truy cập mật khẩu bằng địa chỉ IP động

Còn nếu khách hàng có địa chỉ IP động và không có thiết lập VPN được triển khai thì sao? Hoặc các phương pháp năng động khác để tường lửa? Điều này đã được gợi ý trong câu hỏi và ở đây sẽ có một trường hợp sử dụng cho Thật không may, tôi không thể tìm thấy bất kỳ tường lửa nào làm điều đó. phần.

Việc vô hiệu hóa quyền truy cập tài khoản root thông qua mật khẩu là điều bắt buộc. Ngay cả khi quyền truy cập bị giới hạn ở một số địa chỉ IP nhất định.

Ngoài ra, vẫn có một tài khoản trống khác sẵn sàng với thông tin đăng nhập mật khẩu nếu khóa ssh bị mất hoặc triển khai không thành công nếu có sự cố xảy ra (người dùng có quyền truy cập quản trị vào máy và 'mọi thứ đã xảy ra'?). Đó là ý tưởng tương tự cho truy cập mạng vì nó có chế độ một người dùng trên Linux hoặc sử dụng init=/bin/bashthông qua grubtruy cập cục bộ thực sự rất tệ và không thể sử dụng đĩa trực tiếp vì bất kỳ lý do gì. Đừng cười, có những sản phẩm ảo hóa cấm điều đó. Ngay cả khi chức năng tồn tại, nếu phiên bản phần mềm lỗi thời chạy thiếu chức năng thì sao?

Dù sao, ngay cả khi bạn chạy ssh daemon của mình trên một số cổng bí truyền chứ không phải vào ngày 22, nếu không thực hiện những việc như gõ cổng (để mở ngay cả một cổng khác và do đó giảm nhẹ các cổng thông tin, từ từ giáp với việc quá không thực tế), quét cổng sẽ phát hiện ra bạn dịch vụ cuối cùng.

Thông thường, bạn cũng thiết lập tất cả các máy chủ có cùng cấu hình, với cùng các cổng và dịch vụ vì lý do hiệu quả. Bạn không thể thiết lập ssh đến một cổng khác trên mỗi máy. Ngoài ra, bạn không thể thay đổi nó trên tất cả các máy mỗi khi bạn coi đó là thông tin 'công khai', vì nó đã có sau khi quét. Câu hỏi nmapcó hợp pháp hay không không phải là vấn đề khi có kết nối Wi-Fi bị hack theo ý của bạn.

Nếu tài khoản này không được đặt tên là 'root', mọi người có thể không đoán được tên tài khoản người dùng của 'cửa hậu' của bạn. Nhưng họ sẽ biết, nếu họ nhận được một máy chủ khác từ công ty của bạn, hoặc chỉ mua một số không gian web và có một cái nhìn không bị ràng buộc / không bị đánh cắp / không bị ràng buộc /etc/passwd.

Để minh họa lý thuyết đơn thuần bây giờ, họ có thể sử dụng một trang web có thể hack ở đó để có quyền truy cập vào máy chủ của bạn và tìm kiếm cách mọi thứ thường được chạy tại địa điểm của bạn. Các công cụ tìm kiếm hack của bạn có thể không chạy 24/7 (thông thường chúng hoạt động vào ban đêm vì lý do hiệu năng đĩa để quét hệ thống tập tin?) Và trình quét vi-rút của bạn không được cập nhật lần thứ hai, một ngày không mới nhìn thấy ánh sáng trong ngày, vì vậy nó sẽ không phát hiện ra những sự việc này ngay lập tức và không có các biện pháp bảo vệ khác, bạn thậm chí có thể không bao giờ biết chuyện gì đã xảy ra. Để quay trở lại thực tế, nếu ai đó có quyền truy cập vào khai thác 0 ngày, rất có thể anh ta sẽ không nhắm mục tiêu máy chủ của bạn vì dù sao chúng chỉ đắt tiền. Điều này chỉ để minh họa rằng luôn có một cách vào một hệ thống nếu 'nhu cầu' phát sinh.

Nhưng về chủ đề một lần nữa, chỉ cần không sử dụng một tài khoản mật khẩu bổ sung, và đừng bận tâm? Xin vui lòng đọc tiếp.

Ngay cả khi những kẻ tấn công lấy được tên và cổng của tài khoản bổ sung này, một tổ hợp fail2ban+ iptablessẽ ngăn chúng ngắn lại, ngay cả khi bạn chỉ sử dụng mật khẩu tám chữ cái. Plus fail2ban cũng có thể được triển khai cho các dịch vụ khác, mở rộng chân trời giám sát!

Đối với các dịch vụ của riêng bạn, nếu nhu cầu tăng lên: Về cơ bản, mọi dịch vụ ghi nhật ký thất bại vào một tệp đều có thể nhận được hỗ trợ fail2ban thông qua việc cung cấp tệp, regex nào phù hợp và có bao nhiêu lỗi được cho phép và tường lửa sẽ vui vẻ cấm mọi địa chỉ IP. được nói với.

Tôi không nói sử dụng mật khẩu 8 chữ số! Nhưng nếu họ bị cấm trong 24 giờ vì năm lần thử mật khẩu sai, bạn có thể đoán họ sẽ phải thử bao lâu nếu họ không có botnet theo ý của họ ngay cả với bảo mật tệ hại như vậy. Và bạn sẽ ngạc nhiên về những mật khẩu khách hàng có xu hướng sử dụng, không chỉ cho ssh. Việc xem mật khẩu thư của mọi người thông qua Plesk sẽ cho bạn biết mọi thứ bạn không muốn biết, nếu bạn đã từng làm, nhưng tất nhiên những gì tôi không cố gắng ám chỉ ở đây. :)

Tường lửa toàn cầu thích ứng

fail2banchỉ là một ứng dụng sử dụng thứ gì đó dọc theo dòng iptables -I <chain_name> 1 -s <IP> -j DROP, nhưng bạn có thể dễ dàng tự mình xây dựng những thứ như vậy với một số phép thuật Bash khá nhanh.

Để tiếp tục mở rộng một cái gì đó như thế này, tổng hợp tất cả các địa chỉ IP fail2ban từ các máy chủ trong mạng của bạn trên một máy chủ bổ sung, điều chỉnh tất cả các danh sách và lần lượt chuyển nó đến tường lửa lõi của bạn chặn tất cả lưu lượng truy cập trên mạng của bạn.

Chức năng như vậy không thể được bán (tất nhiên là có thể, nhưng nó sẽ chỉ là một hệ thống dễ vỡ và tệ hại), nhưng phải được đan xen vào cơ sở hạ tầng của bạn.

Trong khi ở đó, bạn cũng có thể sử dụng các địa chỉ IP danh sách đen hoặc danh sách từ các nguồn khác, do chính bạn hoặc các địa chỉ bên ngoài tổng hợp.


1

Trong thế giới vật chất, con người bảo đảm các vật có giá trị bằng cách đặt chúng vào két. Nhưng không có an toàn mà không thể bị phá vỡ. Két sắt, hoặc container an ninh, được đánh giá theo thời gian cần thiết để buộc nhập cảnh. Mục đích của két sắt là trì hoãn kẻ tấn công đủ lâu để chúng được phát hiện và các biện pháp tích cực sau đó dừng cuộc tấn công.

Tương tự, giả định bảo mật thích hợp là các máy bị lộ của bạn cuối cùng sẽ bị xâm phạm. Tường lửa và máy chủ pháo đài không được thiết lập để ngăn máy chủ của bạn (với dữ liệu quý giá của bạn) thỏa hiệp, nhưng buộc kẻ tấn công phải thỏa hiệp chúng trước và cho phép bạn phát hiện (và ngăn chặn) cuộc tấn công trước khi các vật có giá trị bị mất.

Lưu ý rằng cả tường lửa và kho tiền ngân hàng đều không bảo vệ chống lại các mối đe dọa trong nội bộ. Đó là một lý do để kế toán ngân hàng mất hai tuần liên tục và các máy chủ phải có các biện pháp phòng ngừa an ninh nội bộ đầy đủ mặc dù được bảo vệ bởi các máy chủ pháo đài.

Bạn dường như ngụ ý trong bài viết gốc rằng bạn đang chuyển tiếp các gói "thế giới bên ngoài" thông qua tường lửa của bạn trực tiếp đến máy chủ của bạn. Trong trường hợp đó, vâng, tường lửa của bạn không hoạt động nhiều. Việc bảo vệ vành đai tốt hơn được thực hiện với hai tường lửa và máy chủ pháo đài, trong đó không có kết nối logic trực tiếp từ bên ngoài vào bên trong - mọi kết nối đều chấm dứt trong máy chủ pháo đài DMZ; mỗi gói được kiểm tra một cách thích hợp (và có thể được phân tích cú pháp) trước khi chuyển tiếp.


"Đó là một lý do để kế toán ngân hàng nghỉ hai tuần liên tiếp" bạn có thể làm rõ về điều đó không? Có thể không quan trọng ở đây, nhưng tôi đã quan tâm.
Mỗi Wiklander

-1 vì tôi đã đề cập đến thực tế là bạn không phải đột nhập vào tường lửa trước khi bạn xâm nhập vào máy chủ - Tường lửa phải cho phép công chúng có quyền truy cập vào một dịch vụ mà bạn đang cung cấp cho công chúng, do đó chính máy chủ được mở để tấn công từ công chúng. Không có dịch vụ nào trên bất kỳ máy chủ nào của chúng tôi mà chúng tôi không muốn công chúng có quyền truy cập.
Ernie

@Ernie - Bạn bỏ lỡ điểm. DMZ thiết kế máy chủ pháo đài cách ly máy chủ bằng tường lửa ở cả hai bên. Host đó được tiếp xúc với cuộc tấn công, và cuối cùng sẽ bị phá vỡ. Nhưng máy chủ đó không phải là máy chủ của bạn và đúng cách sẽ có lượng thông tin quan trọng của bạn trên đó. DMZ (máy chủ + tường lửa) làm chậm một cuộc tấn công vào máy chủ của bạn đủ lâu để bạn có thể đáp ứng và ngăn chặn thành công của nó.
mpez0

1
@Per Wiklander - GAAP bao gồm kiểm tra kiểm tra thường xuyên. Một kế toán tham ô có thể nấu các con số và ngăn chặn sự phát hiện trong các lần kiểm tra kiểm tra khi có mặt, nhưng nếu được yêu cầu phải rời khỏi công việc trong hai tuần liên tiếp, người khác sẽ báo cáo và có thể phát hiện ra sự cố của họ. Đó là một hình thức kiểm soát hai người.
mpez0

Làm thế nào để máy chủ pháo đài bảo vệ bất cứ điều gì trên các máy chủ? Một ví dụ: Cổng 80, 25 và 110 là các cổng mở duy nhất trên máy chủ. Tường lửa cho phép lưu lượng truy cập đến các cổng này từ toàn bộ internet. Do đó, tường lửa bảo vệ không có gì. Nếu máy chủ của bạn ở một vị trí riêng biệt với văn phòng của bạn, thì bạn không cần bảo vệ thêm ngoại trừ tường lửa tại văn phòng của bạn.
Ernie

1

Lỗ hổng rất khó dự đoán. Thực tế không thể dự đoán được cơ sở hạ tầng của bạn sẽ được khai thác theo cách nào. Có một tường lửa "tăng thanh" cho kẻ tấn công muốn khai thác lỗ hổng và đây là phần quan trọng, TRƯỚC KHI bạn biết lỗ hổng đó là gì. Ngoài ra, có thể dễ dàng hiểu được sự phân chia của tường lửa trước, do đó bạn không gặp phải sự cố NGUYÊN NHÂN với tường lửa nghiêm trọng hơn các sự cố bạn có thể tránh.

Đây là lý do tại sao "không ai từng bị sa thải vì cài đặt tường lửa". Việc thực hiện của họ có rủi ro rất thấp và có khả năng CAO hoặc ngăn chặn hoặc giảm nhẹ việc khai thác. Ngoài ra, hầu hết các lỗ hổng thực sự khó chịu cuối cùng đều bị khai thác bởi tự động hóa, do đó, bất cứ điều gì "bất thường" cuối cùng sẽ phá vỡ một bot, hoặc ít nhất là khiến nó bỏ qua bạn để ủng hộ mục tiêu dễ dàng hơn.

Lưu ý bên; tường lửa không chỉ dành cho internet. Phòng kế toán của bạn. không cần ssh / bất cứ điều gì cho máy chủ ldap của bạn, vì vậy đừng đưa nó cho họ. Việc ngăn chặn các dịch vụ nội bộ có thể tạo ra sự khác biệt lớn cho công việc dọn dẹp trong trường hợp có điều gì đó làm vi phạm các bức tường của lâu đài.


2
Có tường lửa không nâng thanh khi bạn cần có quy tắc tường lửa mở các cổng 80, 53, 25, 110, 143, 443, 993, 995 và hơn thế nữa cho toàn bộ internet. Những máy chủ đó cũng dễ bị tổn thương với tường lửa như không có, nếu bạn cần phải có quy tắc như vậy.
Ernie

2
Đúng, nhưng cùng một máy chủ có thể có cổng 3306 (mysql) và một loạt các giao thức khác có khả năng được hưởng lợi từ tường lửa. Điều đó không có nghĩa là bạn không nên có sự bảo vệ nào khác; chỉ là tường lửa sẽ không bị tổn thương. Ngoài ra, tôi nghĩ rằng bạn đã bỏ lỡ quan điểm của tôi rằng tất cả lưu lượng truy cập không cần phải mở cho tất cả người dùng. Cổng 22 có thể cần được mở, nhưng không phải trên TẤT CẢ các máy chủ của bạn và chắc chắn không phải trên toàn bộ internet (hoặc kế toán và nhân sự). Đóng 25 để hạch toán nếu họ được cho là hoạt động trên 465 có thể giảm thiểu một số phần mềm độc hại spam chẳng hạn.
Enki

1

Phải nói với Ernie rằng trong khi bạn dường như làm rất nhiều việc để làm cứng máy chủ của mình và giảm thiểu các cuộc tấn công và lỗ hổng, tôi không đồng ý với lập trường của bạn trên tường lửa.

Tôi đối xử với bảo mật giống như một củ hành trong lý tưởng là bạn có các lớp mà bạn phải vượt qua trước khi vào lõi, và cá nhân tôi nghĩ rằng nó hoàn toàn sai lầm khi không có một dạng tường lửa phần cứng ở chu vi mạng của bạn.

Tôi sẽ thừa nhận tôi đến với điều này từ góc độ "những gì tôi đã từng", nhưng tôi biết rằng mỗi tháng tôi nhận được một danh sách nhỏ những bản vá tháng đó từ Microsoft, nhiều trong số chúng được khai thác một cách hoang dã . Tôi tưởng tượng điều tương tự xảy ra với hầu hết mọi hệ điều hành và bộ ứng dụng mà bạn quan tâm nghĩ đến.

Bây giờ tôi không đề xuất tường lửa loại bỏ điều này, cũng như tường lửa miễn nhiễm với các lỗi / lỗ hổng, rõ ràng tường lửa "phần cứng" chỉ là phần mềm chạy trên ngăn xếp phần cứng.

Điều đó nói rằng, tôi ngủ an toàn hơn rất nhiều khi biết rằng nếu tôi có một máy chủ chỉ cần truy cập cổng 443 từ web, thì chu vi Juniper của tôi đảm bảo rằng chỉ có cổng 443 có thể truy cập được từ web. Không chỉ vậy, Palo Alto của tôi đảm bảo rằng lưu lượng truy cập đến được giải mã, được kiểm tra và ghi lại và quét cho IPS / IDS - không phải là nó không cần phải giữ an toàn và cập nhật (các) máy chủ, nhưng tại sao bạn KHÔNG thấy rằng một lợi ích được đưa ra mà nó có thể giảm thiểu cho việc khai thác 0 ngày và lỗi cũ của con người?


1

Trước hết, bằng cách nói chuyện của bạn về chuyển tiếp cổng, tôi nghĩ rằng bạn đang kết nối tường lửa với NATing. Mặc dù ngày nay NAT rất thường hoạt động như tường lửa trên thực tế, nhưng đó không phải là mục đích mà chúng được thiết kế. NAT là một công cụ định tuyến. Tường lửa là để điều chỉnh truy cập. Điều quan trọng là sự rõ ràng của suy nghĩ để giữ cho các khái niệm này khác biệt.

Tất nhiên đúng là việc đặt một máy chủ phía sau hộp NAT và sau đó định cấu hình NAT để chuyển tiếp mọi thứ đến máy chủ đó, không an toàn hơn việc đưa máy chủ trực tiếp lên Internet. Tôi không nghĩ ai sẽ tranh cãi với điều này.

Tương tự, một tường lửa được cấu hình để cho phép tất cả lưu lượng truy cập hoàn toàn không có tường lửa.

Nhưng, "cho phép tất cả lưu lượng truy cập" có thực sự là chính sách bạn muốn không? Có ai từng có nhu cầu ssh đến bất kỳ máy chủ nào của bạn từ địa chỉ IP của Nga không? Trong khi bạn đang mày mò cấu hình của một số trình nền mạng thử nghiệm mới, toàn bộ thế giới có thực sự cần truy cập vào nó không?

Sức mạnh của tường lửa là nó cho phép bạn chỉ mở những dịch vụ mà bạn biết cần phải mở và duy trì một điểm kiểm soát duy nhất để thực hiện chính sách này.


2
Tất cả các điểm của bạn đã được giải quyết trong câu hỏi của tôi. Có, "cho phép tất cả lưu lượng truy cập" thực sự là chính sách chúng tôi muốn cho các dịch vụ không quản lý như SSH hoặc cổng quản lý của một số máy chủ. Nếu không mọi người sẽ không thể xem các trang web của chúng tôi và gửi thư cho chúng tôi!
Ernie

2
Đối với việc chỉ mở các dịch vụ cần thiết, đó là bước 1 và 4 dành cho.
Ernie

1

Tường lửa kiểm tra gói tin nhà nước KHÔNG thuộc về phía trước các máy chủ công cộng. Bạn đang chấp nhận tất cả các kết nối, vì vậy theo dõi trạng thái là khá vô ích. Tường lửa truyền thống là một trách nhiệm rất lớn trong các cuộc tấn công DDoS và thường là điều đầu tiên thất bại trong cuộc tấn công DDoS, ngay cả trước khi băng thông liên kết hoặc tài nguyên máy chủ hoàn toàn bị tiêu thụ.

Các bộ lọc gói không trạng thái trên các bộ định tuyến có ý nghĩa trước các máy chủ công cộng, nhưng chỉ khi chúng có thể xử lý tốc độ dòng của tất cả lưu lượng truy cập vào và ra (chẳng hạn như ACL phần cứng trong bộ định tuyến).

Google, Facebook và thậm chí Microsoft không đặt "tường lửa" truyền thống trước các máy chủ công cộng. Bất cứ ai đã chạy các dịch vụ web công cộng ở quy mô "nhiều hơn một máy chủ" đều nên biết điều này.

Các chức năng khác được tìm thấy trong tường lửa truyền thống như Cisco ASA hoặc bất cứ điều gì được triển khai tốt nhất trên chính máy chủ lưu trữ, nơi chúng có thể được thu nhỏ một cách hiệu quả. Ghi nhật ký, IDS, v.v ... đều là các tính năng phần mềm trong tường lửa, vì vậy chúng chỉ trở thành một nút thắt cổ chai và mục tiêu DDoS lớn nếu đặt trước các máy chủ có thể truy cập công khai.


1
Tôi nghĩ vấn đề bối cảnh. OP có thể đã không nói về các hệ thống quy mô web, trong đó việc cân bằng tải và tường lửa sẽ được triển khai khác nhiều so với nhóm công nghệ back-office của SMB.
ewwhite

Ngay cả trước một máy chủ, một tường lửa trạng thái cũng không làm được gì nhiều để giúp bạn nếu bạn chấp nhận kết nối từ mọi nơi. Bạn cần phải sử dụng TLS hoặc mã hóa khác cho mọi thứ, vì vậy tất cả các tường lửa có thể làm là nói "này, có thêm một số dữ liệu qua tôi trên cổng 443". Tường lửa đã chết khá nhiều: etherealmind.com/why-firewalls-wont-matter-in-a-few-years
rmalayter

0

Tại sao tất cả các máy chủ của bạn cần một địa chỉ công cộng?

Cài đặt máy chủ trong phòng máy chủ và cung cấp cho nó một địa chỉ IP công cộng.

Trong số 14 máy chủ mà tôi chạy thường xuyên, chỉ có 2 máy chủ có giao diện truy cập công khai.

Đã chỉnh sửa để thêm : Trong các mạng khác mà tôi đã quản lý, chúng tôi có khả năng tắt / bật các dịch vụ theo ý muốn, trong khi chúng tôi không có quyền truy cập để quản lý tường lửa. Tôi thậm chí không thể bắt đầu cho bạn biết bao nhiêu lần, tất nhiên, một dịch vụ không cần thiết (SMTP) đã được bật và bật và điều duy nhất cứu chúng tôi khỏi bị spam và bị đưa vào danh sách đen trong quy trình, là một tường lửa.

Ngoài ra, tất cả lưu lượng đi qua giữa các máy chủ, được mã hóa hoàn toàn chưa?

Bạn chắc chắn có thể lái một chiếc xe 100 mph không có dây an toàn, không có túi khí và lốp xe hói, nhưng tại sao bạn ??


1
Bởi vì tất cả họ có thể có các dịch vụ cần được truy cập "từ Internet"
adamo

À, không. Giống như lái xe ở tốc độ 70 dặm / giờ với dây an toàn và túi khí trong khi chú ý đến những gì bạn đang làm. Nhưng không khóa cửa của bạn. Có một chính sách bảo mật tại chỗ và các máy chủ được giữ an toàn, nhưng không có tường lửa. Tường lửa không phải là tất cả và cuối cùng của an ninh, bạn biết đấy.
Ernie

2
Tôi đã không nói, EVER, rằng tường lửa là tất cả hoặc cuối cùng của an ninh. Tôi sẽ không nhắc lại những gì đã được nói ở đây. Họ chỉ là một LAYER trong nhiều LAYERS bảo mật. Tôi đã hỏi bạn hai lần và bạn chưa trả lời. Máy chủ trên mạng LAN là những thứ hay nói. Có phải tất cả các máy chủ của bạn chỉ nói chuyện qua các kênh được mã hóa với nhau?
GregD

0

Tường lửa có thể ngăn người dùng hệ thống mở các dịch vụ có thể truy cập mạng mà quản trị viên không biết hoặc thực hiện chuyển tiếp cổng tới các máy khác. Bằng cách sử dụng mô-đun hashlimit, tường lửa cũng có thể đánh giá những kẻ lạm dụng giới hạn dựa trên IP từ xa.

Tường lửa là một mạng lưới an toàn khác đảm bảo chính sách của bạn được tuân thủ. Chắc chắn, không chạy các dịch vụ mà bạn không mong đợi.

Tôi chắc chắn khuyên rằng các bản cập nhật phần mềm được áp dụng một cách kịp thời, ví dụ, nhưng tôi cũng khuyên dùng tường lửa trên tất cả các máy. Giống như khi tôi lái xe: Chắc chắn tôi cố gắng tránh chướng ngại vật và những chiếc xe khác, nhưng tôi cũng đeo dây an toàn và có túi khí trong trường hợp bất ngờ xảy ra.


0

Bạn có thể không nhận ra mình được hưởng lợi bao nhiêu từ tường lửa chỉ vì mọi người khác đang sử dụng chúng. Trong một ngày mà tất cả mọi người, theo nghĩa đen, mọi người sử dụng DSL đều có tường lửa tại chỗ đánh hơi cổng đã bị loại bỏ nhưng là một vector tấn công khả thi. Một hacker tốt sẽ không lãng phí thời gian của họ để kiểm tra những thứ như vậy.

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.