Khi tôi phải quản trị một máy chủ Linux hiện có, cách tốt nhất để kiểm tra xem nó có an toàn không?


9

Có nhiều hướng dẫn về cách thiết lập một máy chủ bảo mật mới .

Nhưng điều gì sẽ xảy ra nếu tôi phải quản trị một máy chủ mà người khác đã thiết lập trước đây và tôi chưa biết nhiều về cấu hình của nó?

Có một số công cụ tự động kiểm tra "nghi phạm thông thường" hoặc một số danh sách kiểm tra mà tôi có thể đi qua để đảm bảo không có lỗ hổng bảo mật rõ ràng nào tồn tại? Có dịch vụ web nào kiểm tra lỗ hổng từ xa không?

Câu trả lời:


13

Tải về Nessus và thực hiện kiểm tra mạng trên đó. Nó sẽ cho bạn biết về các lỗ hổng khai thác từ xa.

Ngoài ra, cài đặt Ossec ; mặc dù nó không phải là mục đích chính của nó, nó sẽ tìm thấy một số cấu hình sai phổ biến (ví dụ như các tài khoản được cấu hình không đúng cách). Và chức năng chính của nó - phát hiện xâm nhập dựa trên máy chủ - sẽ giúp tìm ra nếu ai đó đang cố gắng khai thác lỗ hổng.


5
Nessus không phải là nguồn mở nữa. Ngã ba nguồn mở của nó được gọi là openvas.
Ẩn danh

1
Tôi biết. Nhưng đó vẫn là IIRC miễn phí trong bia, và người đăng không bao giờ nói rằng anh ta chỉ muốn F / OSS.
niXar

+1 Nessus rất tốt, tôi cũng thực hiện và quét Nmap tải kết quả vào Nessus có thể giúp nó nhận thêm một vài điểm yếu trong một số trường hợp.
Mark Davidson

1
+1 cho OSSEC. Nó cũng có một mô-đun kiểm tra rootkit / hệ thống mà bạn có thể chạy độc lập: ossec.net/rootcheck
sucuri

5

Tôi sẽ bắt đầu với danh sách kiểm tra "điểm chuẩn" của Trung tâm Bảo mật Internet . Đây là các danh sách kiểm tra dựa trên sự đồng thuận được biên soạn bởi các chuyên gia bảo mật cho nhiều nền tảng và gói phần mềm. Một số công cụ được đề cập bởi danh sách kiểm tra hoặc thường được đề xuất sẽ hỗ trợ bạn trong việc tìm kiếm các vấn đề bảo mật:

  • Nessus / OpenVAS (máy quét lỗ hổng)
  • Nmap (máy quét cổng)
  • TCPdump / Wireshark (chụp gói libpcap)
  • SNORT (hệ thống phát hiện xâm nhập)

(tcpdump được cài đặt trên nhiều hệ thống linux theo mặc định hoặc có thể dễ dàng cài đặt từ kho lưu trữ gói và có trang man toàn diện)

Nếu đây là công ty bạn làm việc, hãy đảm bảo rằng phân tích bảo mật được ủy quyền bởi ban quản lý và việc quét sẽ không gây ra bất kỳ sự cố ngừng hoạt động hoặc ứng dụng nào. Có, một portscan đơn giản có thể gây ra sự cố - máy in HP Laserjet cũ hơn và chúng sẽ nhổ ra hàng đống giấy.


4

Như một kiểm tra đầu tiên rất nhanh chóng:

Chạy

netstat -ltnp

làm gốc. Điều đó sẽ cho bạn thấy tất cả các dịch vụ nghe trên mạng:

Điều này có thể cho bạn thấy những thứ bạn muốn tắt ngay lập tức. Sau đó, bạn có thể tiếp tục với các giải pháp trong các câu trả lời khác.

Đối với các dịch vụ cần chạy, nhưng không thể truy cập được từ bên ngoài (chẳng hạn như máy chủ DB cục bộ), hãy xem xét thay đổi cấu hình để nó chỉ nghe trên localhost / 127.0.0.1. Bằng cách đó, nó chỉ có thể được truy cập bởi người dùng địa phương.


4

Tôi sẽ kiểm tra Bastille-Linux tại http://www.bastille-unix.org/ , đây là một tập lệnh mà bạn có thể chạy và nó sẽ kiểm tra cài đặt hệ thống, quyền truy cập tệp, thiết lập người dùng, v.v. Tôi đã sử dụng nó một hoặc hai lần trên các hộp của riêng tôi và nếu tìm thấy sự cố trên các cài đặt mặc định (chủ yếu là r_x trên các tiện ích rsh / rsync). Nó xuất ra dưới dạng html / java + lời nguyền / văn bản phẳng.


3

Phân phối gì?

Chung:

  • Xem lại iptables và / hoặc cài đặt tường lửa
  • Xem lại cấu hình SSHD
  • Xem lại tất cả các cấu hình dịch vụ có thể truy cập bên ngoài
  • Đảm bảo rằng bạn đang chạy phần mềm mới nhất hiện có
  • Kiểm tra các lỗ hổng kernel (uname -a và sau đó google)
  • Xem lại quyền của người dùng và quyền của nhóm trên các tệp có thể chỉnh sửa

Không có phân phối đặc biệt / tất cả các bản phân phối
Daniel Rikowski

Ngoài ra, bạn có thể muốn lấy một danh sách các gói đã cài đặt. Một cái gì đó như dpkg --get-các lựa chọn> đã cài đặt_pkgs.txt cho các bản phân phối debian.
David Rickman

2
Bạn cũng có thể cần kiểm tra các tệp setuid / setgid bất thường, tài khoản nào có mật khẩu được đặt, vỏ đăng nhập của chúng là gì, v.v. để loại bỏ các cửa sau dễ dàng.
mas

Mas gợi ý tuyệt vời, tôi hoàn toàn quên mất rằng, đó có khả năng là một lỗ hổng lớn.
David Rickman

3

Một kiểm tra đầu tiên tốt là chạy tên máy chủ nmap từ một máy chủ khác trên mạng. Điều này cung cấp một cái nhìn của người ngoài về những gì netstat đã hiển thị trên máy chủ.


3

Nếu bạn lo lắng, tôi khuyên bạn nên làm theo những hướng dẫn mà bạn đã đề cập và xây dựng lại máy chủ. Đặc biệt là nếu bạn nghĩ rằng các quản trị viên khác có thể đã để lại một cái gì đó xấu. Là quản trị viên mới, bạn nên biết cách triển khai bất kỳ dịch vụ nào mà nó đang chạy lại.

Chỉ cần đảm bảo rằng bạn sao lưu mọi thứ lên trước, bạn có thể hình ảnh tất cả các phân vùng để đảm bảo bạn thực sự hiểu đúng.

Nếu sếp của bạn không cho phép bạn, thì những lời khuyên khác của mọi người có vẻ tốt với tôi :-)


+1: Nếu việc tạo / cấu hình không được ghi lại và bạn có thời gian, thì có lẽ nên tận dụng cơ hội để xây dựng lại nó. Thay vì phải làm điều đó dưới sự cưỡng chế vào một ngày sau đó. Sau đó, bạn có thể chắc chắn rằng nó an toàn và nó sẽ được ghi lại để tham khảo trong tương lai.
Dan Carley

2

Ngoài một số phản hồi rất tốt ở đây, hãy xem http://www.sans.org/ . Họ có một số tài liệu rất tốt nếu bạn sẵn sàng đọc một chút để hiểu rõ hơn về "phòng thủ theo chiều sâu".

Một số cơ sở rất cơ bản tho:

  • giữ cho máy chủ của bạn được vá
  • chỉ chạy những dịch vụ cần chạy
  • giới hạn người dùng truy cập vào máy chủ

1
Hãy nhớ hạn chế truy cập vật lý, không chỉ từ mạng.
iny

1

Cũng hãy thử chkrootkit , nó có trong kho lưu trữ tiêu chuẩn của hầu hết các bản phân phối và dù sao cũng rất dễ cài đặt. Nó sẽ kiểm tra hệ thống của bạn để biết nhiều lỗ hổng, rootkit và sâu đã biết.


1

Một điều bạn có thể làm để có được một cảm giác về hệ thống là diff / etc thư mục chống lại một tươi cài đặt (với các bản cập nhật tương tự được áp dụng.) Điều này sẽ cho bạn biết những gì đã thay đổi, do đó bạn có thể tập trung mối quan tâm an ninh của bạn ở đó.


1

Để mở rộng những gì mas nói, đây là một lệnh tìm đơn giản để liệt kê tất cả các tập tin setuid và setgid trên hệ thống để xem xét.

find / -type f \( -perm -4000 -o -perm -2000 \) -print

Tất nhiên, như những người khác đã nói, tất cả chỉ là giả sử máy chưa có rootkit trên đó ...


1

Chrootkit / rkhunter là những quả treo dài. Nếu bạn đã cài đặt rootkit, mọi thứ được báo cáo sẽ bị xâm phạm và do đó không có nhiều trợ giúp, vì vậy vui lòng tải xuống từ một nguồn đã biết, đừng sử dụng những cái đã có trên hộp. Một mẹo hay khác là cài đặt kernel mà bạn biết là tốt (từ các gói hoặc tự cuộn). Kiểm tra các cửa hậu (lsof -i và 0 uid tài khoản không root). Kiểm tra các quy tắc tường lửa thường có thể cho bạn biết rất nhiều về thói quen của quản trị viên trước đó. Đặt một wireshark / khịt mũi trên nó, cố gắng phát hiện bất cứ điều gì bất thường. Nhìn vào nơi các bản ghi đang đi. Kiểm tra tất cả các loại tệp .profile / .bashrc cho bất kỳ lệnh bất thường nào. Tìm trong .ssh / know_hosts cho bất kỳ máy chủ tinh ranh nào.

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.