Mẹo bảo mật trên hệ thống GNU / Linux

Vâng, tôi đã chuẩn bị bài đăng này cho blog của tôi trong một thời gian, họ đã gợi ý cho tôi trong DesdeLinux, và do thiếu thời gian, anh ấy đã không thể hoặc không muốn. Nếu tôi hơi lười biếng ????. Nhưng bây giờ họ đang đình công, như chúng tôi nói ở Cuba ...

Đây là bản tổng hợp các quy tắc bảo mật cơ bản dành cho quản trị viên hệ thống, trong trường hợp này là dành cho những người như tôi quản lý mạng / hệ thống dựa trên GNU / Linux ... Có thể có nhiều hơn và thực tế là có nhiều hơn nữa, đây chỉ là một mẫu của tôi. lang thang khắp thế giới Linux ...

0- Luôn cập nhật hệ thống của chúng tôi với các bản cập nhật bảo mật mới nhất.

0.1- Cập nhật quan trọng Danh sách gửi thư [Cố vấn bảo mật Slackware, Cố vấn bảo mật Debian, trong trường hợp của tôi]

1- Không có quyền truy cập vật lý vào máy chủ bởi nhân viên không được phép.

1.1- Áp dụng mật khẩu cho BIOS máy chủ của chúng tôi

1.2- Không khởi động bằng CD / DVD

1.3- Mật khẩu trong GRUB / Lilo

2- Chính sách mật khẩu tốt, ký tự chữ và số và những ký tự khác.

2.1- Tuổi của mật khẩu [Password Aging] với lệnh "chage", cũng như số ngày giữa ngày thay đổi mật khẩu và ngày thay đổi cuối cùng.

2.2- Tránh sử dụng mật khẩu trước đó:

trong /etc/pam.d/common-password

password sufficient pam_unix.so use_auth ok md5 shadow remember 10

Vì vậy, bạn thay đổi mật khẩu và nó nhắc nhở bạn về 10 mật khẩu cuối cùng mà người dùng có.

3- Chính sách quản lý / phân đoạn tốt mạng của chúng tôi [bộ định tuyến, bộ chuyển mạch, vlans] và tường lửa, cũng như các quy tắc lọc INPUT, OUTPUT, FORWARD [NAT, SNAT, DNAT]

4- Cho phép sử dụng shell [/ etc / shell]. Người dùng không phải đăng nhập vào hệ thống sẽ lấy / bin / false hoặc / bin / nologin.

5- Chặn người dùng khi đăng nhập không thành công [faillog], cũng như kiểm soát tài khoản người dùng hệ thống.

passwd -l pepe -> chặn pepe người dùng passwd -v pepe -> bỏ chặn pepe người dùng

6- Cho phép sử dụng "sudo", KHÔNG BAO GIỜ đăng nhập với quyền root bằng ssh, "KHÔNG BAO GIỜ". Trong thực tế, bạn phải chỉnh sửa cấu hình ssh để đạt được mục đích này. Sử dụng khóa công khai / riêng tư trên máy chủ của bạn với sudo.

7- Áp dụng trong hệ thống của chúng tôi “Nguyên tắc đặc quyền ít nhất".

8- Thỉnh thoảng hãy kiểm tra các dịch vụ của chúng tôi [netstat -lptun] cho từng máy chủ của chúng tôi. Thêm các công cụ giám sát có thể giúp chúng tôi trong công việc này [Nagios, Cacti, Munin, Monit, Ntop, Zabbix].

9- Cài đặt IDS, Snort / AcidBase, Snotby, Barnyard, OSSEC.

10- Nmap là bạn của bạn, hãy sử dụng nó để kiểm tra mạng con / mạng con của bạn.

11- Các phương pháp bảo mật tốt trong OpenSSH, Apache2, Nginx, MySQL, PostgreSQL, Postfix, Squid, Samba, LDAP [những dịch vụ được sử dụng nhiều nhất] và một số dịch vụ khác mà bạn cần trong mạng của mình.

12- Mã hóa tất cả thông tin liên lạc càng lâu càng tốt trong hệ thống của chúng tôi, SSL, gnuTLS, StarTTLS, thông báo, v.v. Và nếu bạn xử lý thông tin nhạy cảm, hãy mã hóa ổ cứng của bạn !!!

13- Cập nhật các máy chủ thư của chúng tôi với các quy tắc bảo mật, danh sách đen và chống thư rác mới nhất.

14- Đăng nhập hoạt động trong hệ thống của chúng tôi với logwatch và logcheck.

15- Kiến thức và sử dụng các công cụ như top, sar, vmstat, free, v.v.

sar -> báo cáo hoạt động hệ thống vmstat -> quy trình, bộ nhớ, hệ thống, i / o, hoạt động cpu, v.v. iostat -> trạng thái i / o cpu mpstat -> trạng thái đa xử lý và sử dụng pmap -> sử dụng bộ nhớ bởi các quy trình miễn phí - > bộ nhớ iptraf -> lưu lượng truy cập trong thời gian thực của ethstatus mạng của chúng tôi -> giám sát thống kê ethernet dựa trên bảng điều khiển etherape -> giám sát mạng đồ họa ss -> trạng thái ổ cắm [thông tin ổ cắm tcp, udp, ổ cắm thô, Ổ cắm DCCP] tcpdump -> Phân tích chi tiết de traffic vnstat -> giám sát lưu lượng mạng của các giao diện đã chọn mtr -> công cụ chẩn đoán và phân tích tình trạng quá tải trong mạng ethtool -> thống kê về card mạng

Còn bây giờ là tất cả. Tôi biết rằng có hàng nghìn lẻ một đề xuất bảo mật khác trong loại môi trường này, nhưng đây là những đề xuất khiến tôi chú ý nhất, hoặc tại một thời điểm nào đó tôi đã phải áp dụng / thực hiện trong môi trường mà tôi đã quản lý.

Một cái ôm và tôi hy vọng nó sẽ phục vụ bạn 😀


26 bình luận, để lại của bạn

Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: Miguel Ángel Gatón
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.

  1.   koratsuki dijo

    Tôi mời bạn trong phần bình luận cho chúng tôi biết về một số quy tắc khác đã được thực hiện ngoài những quy tắc đã được đề cập, để tăng thêm kiến ​​thức cho độc giả của chúng tôi 😀

    1.    yukiteru dijo

      Vâng, tôi sẽ thêm:

      1.- Áp dụng các quy tắc sysctl để ngăn truy cập dmesg, / proc, SysRQ, gán PID1 cho lõi, cho phép bảo vệ cho các liên kết tượng trưng cứng và mềm, bảo vệ ngăn xếp TCP / IP cho cả IPv4 và IPv6, kích hoạt VDSO đầy đủ để ngẫu nhiên hóa tối đa con trỏ và phân bổ không gian bộ nhớ và cải thiện sức mạnh chống tràn bộ đệm.

      2.- Tạo tường lửa kiểu SPI (Stateful Package Testing) để ngăn các kết nối chưa được tạo hoặc trước đó cho phép truy cập vào hệ thống.

      3.- Nếu bạn không có các dịch vụ đảm bảo kết nối với các đặc quyền nâng cao từ một vị trí từ xa, chỉ cần thu hồi quyền truy cập vào chúng bằng cách sử dụng access.conf, hoặc nếu không, chỉ cho phép truy cập vào một người dùng hoặc nhóm cụ thể.

      4.- Sử dụng các giới hạn cứng để ngăn truy cập vào một số nhóm hoặc người dùng nhất định làm mất ổn định hệ thống của bạn. Rất hữu ích trong những môi trường luôn có nhiều người dùng thực sự hoạt động.

      5.- TCPWrappers là bạn của bạn, nếu bạn đang ở trên một hệ thống có hỗ trợ cho nó, việc sử dụng nó sẽ không bị ảnh hưởng gì, vì vậy bạn có thể từ chối quyền truy cập từ bất kỳ máy chủ nào trừ khi nó đã được cấu hình trước đó trong hệ thống.

      6.- Tạo các khóa SSH RSA có ít nhất 2048 bit hoặc cao hơn là 4096 bit với các khóa chữ và số trên 16 ký tự.

      7.- Bạn có thể ghi thế giới như thế nào? Kiểm tra quyền đọc-ghi của các thư mục của bạn không phải là xấu chút nào và đó là cách tốt nhất để tránh truy cập trái phép trong môi trường nhiều người dùng, chưa kể đến việc một số truy cập trái phép sẽ khó truy cập vào thông tin mà bạn không muốn. không ai khác nhìn thấy.

      8.- Gắn kết bất kỳ phân vùng bên ngoài nào không xứng đáng, với các tùy chọn noexec, nosuid, nodev.

      9.- Sử dụng các công cụ như rkhunter và chkrootkit để kiểm tra định kỳ xem hệ thống không được cài đặt rootkit hoặc phần mềm độc hại. Một biện pháp thận trọng nếu bạn là một trong những người cài đặt mọi thứ từ các kho lưu trữ không an toàn, từ PPA hoặc chỉ biên dịch trực tiếp mã từ các trang web không đáng tin cậy.

      1.    koratsuki dijo

        Uhmmm, ngon… Bình luận tốt, thêm các bạn… 😀

    2.    William Moreno-Reyes dijo

      Áp dụng Kiểm soát Truy cập Bắt buộc với SElinux?

  2.   ArmandoF dijo

    bài viết rất hay

    1.    koratsuki dijo

      Cảm ơn bạn 😀

  3.   joaco dijo

    Xin chào và nếu tôi là người dùng bình thường thì nên dùng su hay sudo?
    Tôi sử dụng su vì tôi không thích sudo, bởi vì bất kỳ ai có mật khẩu người dùng của tôi đều có thể thay đổi bất cứ thứ gì họ muốn trên hệ thống, thay vào đó là su no.

    1.    koratsuki dijo

      Trên PC của bạn nó không bận tâm sử dụng su, bạn có thể sử dụng nó mà không có vấn đề gì, trên các máy chủ, rất nên vô hiệu hóa sử dụng su và sử dụng sudo, nhiều ý kiến ​​cho rằng đó là do thực tế kiểm tra xem ai đã thực thi cái gì. lệnh và sudo thực hiện nhiệm vụ đó ... Tôi nói riêng, trên máy tính của tôi, tôi sử dụng của anh ấy, giống như bạn ...

      1.    joaco dijo

        Chắc chắn, tôi không thực sự biết nó hoạt động như thế nào trên các máy chủ. Mặc dù, đối với tôi, dường như sudo có lợi thế là bạn có thể cấp đặc quyền cho người dùng máy tính khác, nếu tôi không nhầm.

    2.    andrew dijo

      Bài viết thú vị, tôi mã hóa một số tệp bằng gnu-gpg, vì đó là đặc quyền tối thiểu, trong trường hợp bạn muốn thực thi, ví dụ: một tệp nhị phân không rõ nguồn gốc bị mất trong biển thông tin khổng lồ trên đĩa, làm cách nào để xóa quyền truy cập vào một số chức năng ?

      1.    koratsuki dijo

        Tôi nợ bạn phần đó, mặc dù tôi nghĩ bạn chỉ nên chạy dưới dạng sudo / root, các chương trình đáng tin cậy, tức là chúng đến từ kho của bạn ...

      2.    yukiteru dijo

        Tôi nhớ đã đọc rằng có một cách để kích hoạt khả năng root trong sách hướng dẫn sử dụng GNU / Linux và UNIX, nếu tôi tìm thấy nó, tôi sẽ đặt nó 😀

      3.    Thằng hề dijo

        và các lồng cắt nhỏ để chạy các tệp nhị phân không xác định?

    3.    yukiteru dijo

      Sử dụng sudo mọi lúc sẽ tốt hơn nhiều.

    4.    sống động dijo

      Hoặc bạn có thể sử dụng sudo, nhưng giới hạn thời gian ghi nhớ mật khẩu.

  4.   Kevin Rodríguez dijo

    Các công cụ tương tự tôi sử dụng để giám sát máy tính, "iotop" thay thế cho "iostat", "htop" "trình quản lý tác vụ", giám sát băng thông "iftop".

  5.   Speolinux dijo

    nhiều người sẽ nghĩ rằng điều đó là phóng đại, nhưng tôi đã thấy các cuộc tấn công bao gồm một máy chủ vào một mạng botnet.

    https://twitter.com/monitolinux/status/594235592260636672/photo/1

    ps: Những người ăn xin Trung Quốc và nỗ lực của họ để hack máy chủ của tôi.

  6.   chú hề dijo

    một cái gì đó cũng thuận tiện là sử dụng lồng cắt nhỏ cho các dịch vụ, vì vậy nếu vì lý do nào đó mà chúng bị tấn công thì chúng sẽ không làm tổn hại đến hệ thống.

  7.   Bệnh tiểu đường dijo

    Sử dụng lệnh ps cũng rất tốt để giám sát và có thể là một phần của các hành động để kiểm tra các lỗi bảo mật. chạy ps -ef liệt kê tất cả các quy trình, nó tương tự như top tuy nhiên nó cho thấy một số khác biệt. cài đặt iptraf là một công cụ khác có thể hoạt động.

  8.   Claudio J. Sự chắc chắn Concepcion dijo

    Đóng góp tốt.

    Tôi sẽ thêm: SELinux hoặc Apparmor, tùy thuộc vào bản phân phối, luôn được bật.

    Từ kinh nghiệm của bản thân, tôi nhận ra rằng việc vô hiệu hóa các thành phần đó là một việc làm không tốt. Hầu như chúng ta luôn làm điều đó khi chúng ta chuẩn bị cài đặt hoặc định cấu hình một dịch vụ, với lý do là nó chạy mà không gặp sự cố, khi thực sự điều chúng ta nên làm là học cách xử lý chúng để cho phép dịch vụ đó.

    Một lời chào.

  9.   GnuLinux ?? dijo

    1. Làm thế nào để mã hóa toàn bộ hệ thống tệp? giá trị nó ??
    2. Nó có phải được giải mã mỗi khi hệ thống được cập nhật không?
    3. Mã hóa toàn bộ hệ thống tệp của máy có giống như mã hóa bất kỳ tệp nào khác không?

    1.    yukiteru dijo

      Làm thế nào để bạn biết rằng bạn biết những gì bạn đang nói về?

  10.   NauTiluS dijo

    Ngoài ra, bạn có thể lồng các chương trình và thậm chí nhiều người dùng. Mặc dù làm điều này là nhiều công việc hơn, nhưng nếu có điều gì đó xảy ra và bạn đã có một bản sao trước đó của thư mục đó, bạn chỉ cần đánh và hát.

  11.   tấn dijo

    Chính sách bảo mật tốt nhất và thuận tiện nhất là không được hoang tưởng.
    Hãy thử nó, nó không thể sai lầm.

  12.   thiên thần dijo

    Tôi đang sử dụng csf và khi mở khóa một khách hàng đã đặt sai mật khẩu của mình trong một số lần truy cập, điều này sẽ làm chậm quá trình nhưng lại xảy ra. Thật là bình thường?

    Tôi đang tìm kiếm lệnh để bỏ chặn khỏi ssh ... bất kỳ đề xuất nào