Đảm bảo cài đặt Debian cho sử dụng chung tại nhà


8

Debian đi kèm với một số hardengói, được thiết kế để làm cho máy tính an toàn hơn. Nhu cầu của tôi rất đơn giản: xử lý văn bản và duyệt web. Tôi không chạy bất kỳ máy chủ đặc biệt nào, không sử dụng SSH, telnet, v.v ... Phần mềm duy nhất nên sử dụng Internet, mà tôi biết, là iceweaselapt.

  • Có cách nào để đảm bảo rằng chỉ có hai phần mềm này có thể truy cập Internet không?
  • Có bất kỳ hardengói phù hợp cho những nhu cầu này?

Câu trả lời:


6

Trong cài đặt người dùng mặc định, chỉ có ssh là ứng dụng máy chủ được cài đặt mà bạn có thể chỉ cần gỡ cài đặt qua aptitude remove openssh-serverhoặc thông qua bất kỳ trình quản lý gói nào khác mà bạn sử dụng.

Hạn chế truy cập mạng cho các ứng dụng là khó khăn. {{EDIT : Tuy nhiên, hiện đã có Leopard Flower được phát triển dường như cung cấp các tính năng bạn cần (tường lửa theo quy trình, giao diện người dùng tương tác). }} Xem tường lửa theo quy trình? để biết thêm thông tin về chủ đề. Không sử dụng các giải pháp phức tạp, bạn chỉ có thể hạn chế quyền truy cập mạng đối với người dùng đặc biệt thông qua ownermô-đun iptables .

Là người dùng bình thường, bạn không cần bất kỳ harden-*gói nào . Chúng có thể xung đột với các gói không an toàn, dù sao bạn có thể chưa cài đặt hoặc cài đặt các gói bảo mật dành cho các hệ thống bình thường quá phức tạp để định cấu hình và bảo trì - như các hệ thống xâm nhập mạng.


3

Tôi đồng ý với việc sử dụng iptables nghiêm ngặt. Nó là một tường lửa dựa trên dòng lệnh rất đơn giản sử dụng kernel (trong hầu hết các bản phát hành).

Một đề nghị khác tôi sẽ thực hiện là selinux. Tôi không chắc chắn nếu bây giờ debian đi kèm với nó. Tóm lại, Selinux có nghĩa là kiểm soát truy cập bắt buộc ở cấp độ kernel, nó chi phối sự giao tiếp giữa ứng dụng và tài nguyên bên ngoài (tức là các tệp và thuộc tính hệ thống). Là một sidenote, nó cũng được phát triển với sự giúp đỡ từ NSA. Với cấu hình selinux, bạn có thể ngăn các ứng dụng đọc các tệp vượt quá phạm vi của nó.

Kết hợp với các thực tiễn tốt nhất như vô hiệu hóa trình tiện ích không cần thiết, quy tắc tường lửa tốt selinux có thể là tùy chọn bạn đang tìm kiếm để làm cứng hộp này.


Câu trả lời này có thể được cải thiện bằng cách cung cấp một chính sách selinux mẫu thể hiện việc thực hiện những gì OP yêu cầu.
jmtd

Như được yêu cầu ở đây là một ví dụ tốt về hệ điều hành Cent OS về cách làm cứng quyền truy cập apache bằng dòng lệnh selinux. wiki.centos.org/HowTos/ trộm
Andrew Munro

2

Thật không may, dường như không có bất kỳ sự thay thế Linux nào cho littlesnitchhoặc zonealarm, và hầu hết các tường lửa của GUI sẽ khiến bạn muốn. Tất nhiên bạn có thể làm khá nhiều điều hữu ích iptablesvà theo dõi kết nối như vậy.

Một tiện ích thường bị bỏ qua là tcpwrappers. Tôi sẽ thêm một quy tắc để /etc/hosts.deny:

ALL: PARANOID

Ngoài ra, vô hiệu hóa ping và các phản hồi ICMP khác bằng cách thêm dòng sau vào /etc/sysctl.conf:

net.ipv4.icmp_echo_ignore_all = 1

EDIT : Tôi có khuynh hướng đồng ý với jmtd, về ý nghĩ thứ hai có nhiều cách tốt hơn để lọc ping.


Vấn đề với tcpwrappersnó là chọn tham gia : Chương trình cần được liên kết với thư viện trình bao bọc để nó thực sự có hiệu lực. iceweaselkhông phải. Bạn có thể buộc nó phải thông qua một LD_PRELOADmẹo nếu bạn muốn.
jmtd

vô hiệu hóa các phản hồi ICMP là một cách khôn ngoan về bảo mật lợi ích và không phải là không có chi phí: nó có thể làm cho các tương tác mạng chậm hơn rất nhiều nếu một phản hồi chờ hết thời gian, thay vì từ chối rõ ràng. Tỷ lệ phản hồi giới hạn để bảo vệ chống DDoS là một cách tiếp cận tốt hơn nhiều. ICMP-DDoS gần như là một vấn đề không tồn tại đối với người dùng máy tính để bàn trong thời đại hiện đại.
jmtd

@jmtd tcpwrapper không thể truy cập được LD_PRELOAD. Các chương trình cần hỗ trợ nó. Đối với các chương trình liên kết tĩnh, LD_PRELOADdù sao cũng không hoạt động.
jofel

@jmtd Tôi đồng ý, tôi đã chỉnh sửa câu trả lời của mình. Tuy nhiên tôi vẫn tin rằng bỏ qua ping là có lợi không phải để bảo vệ khỏi ICMP-DDoS chỉ để tránh phát hiện ra máy chủ.
kwarrick

1

Dừng tất cả các dịch vụ bạn không muốn bắt đầu: ssh, smtp, http, bất cứ điều gì khác mà bạn không muốn được bắt đầu. Thiết lập iptables của bạn để chặn mọi thứ truy cập vào máy của bạn hoặc để máy của bạn tách khỏi phần mềm bạn muốn.

Lưu ý rằng tôi không đưa ra một danh sách toàn bộ các lệnh để gõ vì điều quan trọng là người ta phải học và hiểu ý nghĩa của các dịch vụ và iptables trước khi làm hỏng chúng.


1

Cơ sở phổ biến nhất của lọc / tường lửa mạng trên Linux là iptables, không hoạt động trên cơ sở ứng dụng. Những gì bạn cần là một chương trình chính sách bảo mật có thể hạn chế các chương trình có thể truy cập tài nguyên mạng. Hai cách tiếp cận sẽ là SELinuxAppArmor .

Dưới đây là một số ví dụ về công thức nấu ăn của AppArmor , một trong số đó mở ra quyền truy cập mạng cho Firefox / Iceweasel.

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.