Quản trị hệ thống: Hướng dẫn tạo danh sách kiểm tra rào chắn lửa cho mạng sản xuất
Trong quản trị IT, việc duy trì hoạt động ổn định của hệ thống phụ thuộc vào những thói quen nhỏ, lặp đi lặp lại. Một trong những thói quen có giá trị nhất là việc định kỳ rà soát quy tắc firewall. Tường lửa tích lũy dần các ngoại lệ cũ khi các ứng dụng thay đổi, nhà cung cấp luân chuyển và các dự án kết thúc. Một đợt rà soát bình tĩnh, có cấu trúc sẽ giúp loại bỏ “nhiễu”, giảm thiểu các đường tấn công và để lại cho nhóm quản trị một hồ sơ rõ ràng về lý do tại sao mỗi kết nối được phép vẫn còn tồn tại.
Hướng dẫn này giải thích cách tạo danh sách kiểm tra rà soát quy tắc firewall cho mạng sản xuất mà không gây ra sự cố gián đoạn. Quy trình này có thể áp dụng cho một firewall duy nhất hoặc một nhóm nhỏ các thiết bị biên (edge) và nội bộ. Giả định rằng bạn có thể xuất các quy tắc, xác định chủ sở hữu và liên hệ với các nhóm ứng dụng khi cần xác nhận quyết định.
Thiết lập phạm vi và các quy tắc an toàn cho đợt rà soát
Hãy bắt đầu với một phạm vi hẹp. Cố gắng kiểm toán tất cả các thiết bị cùng lúc sẽ gây ra sự chậm trễ và tạo xu hướng cắt giảm quy trình. Hãy chọn một bộ quy tắc, một khung thay đổi và một người chịu trách nhiệm rà soát duy nhất. Ghi lại tên firewall, phiên bản phần mềm, ngữ cảnh chính sách và ngày xuất dữ liệu. Giữ nguyên tệp xuất ở chế độ chỉ đọc để nhóm có thể đối chiếu kết quả sau này.
Định nghĩa các quy tắc an toàn trước khi thao tác trên môi trường sản xuất. Tuyệt đối không xóa bất kỳ quy tắc nào trong lần rà soát đầu tiên. Hãy phân loại nó trước, sau đó đề xuất thay đổi, và cuối cùng là kiểm tra thay đổi trong một khung thời gian được kiểm soát. Nếu một quy tắc được chia sẻ bởi nhiều hệ thống, hãy coi nó như một thành phần phụ thuộc (dependency) cho đến khi mỗi chủ sở hữu xác nhận ngược lại. Đảm bảo rằng các đường dẫn truy cập cho giám sát, sao lưu và quản trị đều hiển thị với người rà soát để chúng không bị xóa nhầm.
Xây dựng dữ liệu cho danh sách kiểm tra
Xuất các quy tắc đang hoạt động và không hoạt động ở định dạng bảo toàn các thông tin về nguồn, đích, dịch vụ, hành động, ghi nhật ký, lịch trình, chú thích và bộ đếm số lần sử dụng (hit counters). Bổ sung ngữ cảnh từ CMDB (Hệ thống quản lý cấu hình), danh mục tài sản, bản ghi của bộ cân bằng tải và các phiếu thay đổi gần đây. Một hàng dữ liệu hữu ích trong danh sách kiểm tra phải trả lời được năm câu hỏi: lưu lượng tráfico nào được phép, nó đi đến đâu, ai yêu cầu nó, nó được sử dụng lần cuối khi nào và điều gì sẽ xảy ra nếu nó biến mất.
Hãy chuẩn hóa các địa chỉ và tên dịch vụ trước khi rà soát. Các nhóm đối tượng, địa chỉ động và bí danh thường che giấu các mục đã lỗi thời. Hãy mở rộng các nhóm để phân tích, nhưng giữ lại tên đối tượng gốc trong hồ sơ. Các quy tắc theo lịch trình cần được đặc biệt chú ý vì bộ đếm của chúng có thể trông “khỏe mạnh” trong khi lịch trình thực tế không còn khớp với ứng dụng.
Phân loại từng quy tắc
Sử dụng một hệ thống phân loại đơn giản, nhất quán để người rà soát đưa ra các quyết định có thể so sánh được:
- Giữ lại: Quy tắc hỗ trợ một dịch vụ hiện tại, có chủ sở hữu được chỉ định rõ ràng và mẫu lưu lượng tráfico là hợp lý.
- Thắt chặt: Quy tắc này cần thiết, nhưng phạm vi nguồn, đích, cổng, lịch trình hoặc ghi nhật ký có thể được thu hẹp.
- Loại bỏ: Dịch vụ đã ngừng hoạt động, chủ sở hữu xác nhận rằng nó không còn được sử dụng hoặc quy tắc này trùng lặp với một chính sách an toàn hơn.
- Điều tra: Có sự mâu thuẫn về bằng chứng, bộ đếm không khả dụng hoặc chủ sở hữu không rõ ràng.
Ghi lại bằng chứng bên cạnh phân loại. Một bộ đếm số lần sử dụng rất hữu ích nhưng không phải là kết luận cuối cùng: lưu lượng thấp vẫn có thể quan trọng, và lưu lượng cao có thể hợp pháp nhưng quá rộng. Bao gồm ngày quan sát và người hoặc nhóm đã xác nhận thông tin đó.
Thực hiện rà soát theo từng giai đoạn
Giai đoạn một: Kiểm kê và dọn dẹp những điểm hiển nhiên
Xóa hoặc đánh dấu các quy tắc rõ ràng đã hết hạn. Tìm kiếm các quy tắc cho phép mọi nguồn-đích (any-any), quyền truy cập tạm thời của nhà cung cấp, dải nguồn gắn liền với các dự án đã ngừng hoạt động và các quy tắc không có chủ sở hữu. Xác định các quy tắc trùng lặp bị “che” bởi các quy tắc phía trước. Chưa vội xóa bất cứ điều gì; hãy đánh dấu các ứng viên để đưa vào yêu cầu thay đổi sau.
Giai đoạn hai: Thu hẹp phạm vi
Đối với mỗi quyết định giữ lại hoặc thắt chặt, hãy kiểm tra xem nguồn và đích có thể được thu hẹp xuống các máy chủ cụ thể hoặc các nhóm nhỏ hay không. Kiểm tra xem dịch vụ có thể được giới hạn ở một cổng hoặc một bộ cổng được ghi rõ trong tài liệu hay không. Xác nhận rằng hướng của quy tắc là chính xác và lưu lượng phản hồi được xử lý bởi cơ chế kết nối đã thiết lập (established connection handling) thay vì một quy tắc rộng thứ hai.
Giai đoạn ba: Xác nhận với chủ sở hữu
Gửi một yêu cầu ngắn gọn, tập trung đến các chủ sở hữu ứng dụng và hệ thống. Bao gồm định danh quy tắc, mô tả bằng ngôn ngữ dễ hiểu, lưu lượng tráfico quan sát gần nhất và hành động đề xuất. Yêu cầu xác nhận, sửa đổi hoặc ấn định thời hạn. Tránh gửi các bảng tính dài dòng; một danh sách ngắn gọn sẽ nhận được câu trả lời nhanh hơn và tạo ra một lộ trình kiểm toán rõ ràng.
Giai đoạn bốn: Kiểm tra và lên lịch thay đổi
Thực hiện các thay đổi trong khung bảo trì với các bước hoàn nguyên (rollback). Kiểm tra các luồng dữ liệu quan trọng trước, bao gồm xác thực, sao chép dữ liệu, giám sát và các công việc sao lưu. Theo dõi nhật ký và các kiểm tra tổng hợp trong và sau khi thay đổi. Nếu một luồng dữ liệu bị lỗi, hãy khôi phục quy tắc trước đó, ghi lại lỗi và mở lại cuộc điều tra thay vì nới lỏng quyền truy cập một cách tùy tiện.
Thắt chặt quyền truy cập mà không làm gián đoạn hoạt động
Khi một quy tắc được phê duyệt để thắt chặt, hãy ưu tiên các bước tăng dần. Thay thế một dải nguồn rộng bằng một nhóm được chỉ định, sau đó xóa dải cũ sau một khoảng thời gian yên tĩnh. Chuyển các dịch vụ rộng thành các cổng cụ thể. Thêm ghi nhật ký cho quyền truy cập quản trị và các đích không thường xuyên, đồng thời tránh tạo ra các nhật ký ồn ào mà không ai đọc. Giới hạn quyền truy cập quản trị trên các máy nhảy (jump hosts) hoặc mạng pháo đài (bastion network) và tách biệt nó khỏi lưu lượng tráfico của người dùng.
Ghi lại lý do cho mỗi thay đổi trong chú thích của quy tắc hoặc trong phiếu thay đổi. Người rà soát trong tương lai phải có thể hiểu quyết định mà không cần phải tìm kiếm lịch sử trò chuyện. Nếu có thể, hãy liên kết quy tắc với chủ sở hữu, mục trong danh mục dịch vụ hoặc hồ sơ ứng dụng.
Đóng vòng lặp và đo lường tiến độ
Sau khung bảo trì, hãy so sánh bộ quy tắc mới với tệp xuất ban đầu. Xác nhận rằng không có quyền phép không mong muốn nào được thêm vào, rằng việc ghi nhật ký vẫn hoạt động và rằng giám sát cho thấy hành vi bình thường. Ghi lại các ngoại lệ phải được giữ lại tạm thời, cùng với ngày hết hạn và tên chủ sở hữu chịu trách nhiệm.
Theo dõi một bộ chỉ số nhỏ theo thời gian: số lượng quy tắc đã rà soát, quy tắc đã loại bỏ, quy tắc đã thu hẹp, chủ sở hữu chưa được xác định và bất kỳ sự cố nào liên quan đến đợt rà soát. Tần suất rà soát quan trọng hơn sự hoàn hảo. Một đợt rà soát hàng quý cho các thiết bị biên và bán niên cho các vùng nội bộ thường là đủ để duy trì chính sách ở trạng thái dễ hiểu.
Kết quả không phải là một firewall hoàn hảo. Đó là một firewall được duy trì: ít ngoại lệ lỗi thời hơn, quyền sở hữu rõ ràng hơn và một quy trình rà soát giúp quản trị IT duy trì hệ thống hoạt động trong khi quyền truy cập trở nên dễ giải thích hơn và an toàn hơn khi thay đổi.
