NAT nguồn ẩn địa chỉ máy khách khỏi tường lửa phía sau
Khi cổng NAT viết lại địa chỉ máy khách, tường lửa phía trên không thể áp quy tắc nguồn theo nhóm. Hãy tìm điểm cuối cùng mà danh tính còn tồn tại.
Một quy tắc viết cho máy khách nhân viên và phòng thí nghiệm được đưa lên tường lửa biên mới, và nó âm thầm khớp với mọi thứ hoặc không khớp gì cả. Nguyên nhân nằm ở phía trên: một cổng đã viết lại địa chỉ máy khách, nên quy tắc chỉ thấy một địa chỉ trung chuyển thay vì hai nhóm. Thêm một thiết bị không khôi phục thông tin mà đường đi đã xóa. Hãy tìm điểm cuối cùng mà sự phân biệt còn tồn tại trước khi viết chính sách.
Vì sao quy tắc biên chỉ thấy một địa chỉ
Dịch nhiều-một ánh xạ từng cặp địa chỉ và cổng bên trong tới một địa chỉ ngoài dùng chung với cổng được gán. Các cuộc trò chuyện vẫn phân biệt được với bộ dịch nhờ các ràng buộc cổng đó, nhưng một thiết bị phía dưới thực hiện so khớp tiền tố nguồn đơn giản chỉ thấy địa chỉ dùng chung. Thế là đủ để hai nhóm giống nhau tại quy tắc. Các gói vẫn đến; việc nhóm thì không.
Hãy kiểm tra giao diện tường lửa thực sự quan sát gì, chứ không phải sơ đồ hứa gì. Hai điều đó khác nhau thường xuyên hơn mọi người tưởng.
Tìm danh tính cuối cùng có thể thực thi
Bắt đầu tại điểm thực thi và đi ngược lại cho đến khi tiền tố gốc xuất hiện. Hai lệnh thường xác định được ranh giới.
iptables -t nat -L POSTROUTING -n -v
conntrack -L -s 10.90.0.2 | headBảng NAT cho biết lưu lượng nào được dịch và bởi quy tắc nào, trong khi danh sách conntrack cho thấy các cặp gốc và đã dịch của luồng đang hoạt động. Ở nơi tường lửa phía trên chỉ thấy địa chỉ đã dịch, quy tắc nguồn theo nhóm không thể hoạt động, dù viết thế nào. Hãy đi tới hoặc lùi dọc đường cho đến khi tới một thiết bị mà hai tiền tố máy khách vẫn khác nhau. Ghi lại nguồn tại mỗi chặng thay vì tin vào nhãn bên trong hay bên ngoài.
Ba vị trí và cái giá của mỗi vị trí
Chính sách có thể nằm trên cổng dịch, nơi nguồn gốc vẫn còn nhìn thấy. Nó có thể nằm trên tường lửa phía trên nếu lưu lượng trung chuyển được định tuyến thay vì dịch, nghĩa là thêm tuyến trả về và bỏ việc viết lại nguồn. Hoặc có thể thực thi trên danh tính thay vì địa chỉ, thông qua điều khiển đã xác thực biết người dùng hoặc thiết bị. Mỗi lựa chọn có một chủ sở hữu và một kiểu hỏng, và chỉ hai lựa chọn đầu giữ quy tắc thuần túy về địa chỉ nguồn.
Dù chọn gì, hãy ghi lại quy tắc cùng với địa chỉ mà nó khớp. Một quy tắc có giả định về địa chỉ đã âm thầm thay đổi còn tệ hơn không có quy tắc, vì nó vẫn khớp lưu lượng trong khi bảo vệ một thứ hoàn toàn khác.
Chấp nhận: một máy khách được phép và một bị từ chối
Hãy thử với một cặp máy khách, mỗi nhóm một cái, và ghi lại cách mỗi bên tới điểm thực thi. Giữ cả hai cặp bên cạnh kết quả quy tắc, để bằng chứng cho thấy sự phân biệt còn sống chứ không phải có một tường lửa khác. Lặp lại thử nghiệm sau khi thay đổi NAT hoặc định tuyến, vì địa chỉ được trình ra là phần âm thầm hỏng. Giữ xác thực ở mọi nơi cần phân biệt người, bởi địa chỉ nguồn là đầu vào chính sách, không phải bằng chứng danh tính.
Ghi điểm thực thi, nguồn quan sát được và quy tắc vào phiếu. Nếu không, kỹ sư tiếp theo sẽ thêm tường lửa thứ hai và cùng quy tắc đó.