Đánh giá bảo mật trên linux

Hầu hết mọi người đều cho rằng hệ thống bảo mật của Linux đã được cài đặt sẵn và không cần phải thay đổi nhiều. Tuy nhiên, Linux có những mô hình bảo mật riêng cho các trường hợp khác nhau.Việc lựa chọn chế độ phù hợp có thể giúp tăng tính bảo mật cho toàn hệ thống. Linux có thể rất khó điều khiển, tuy nhiên nó lại có nhiều tùy chỉnh phù hợp và linh hoạt.

Việc bảo đảm an toàn cho một hệ thống khỏi những kẻ tấn công luôn là những nhiệm vụ đầy khó khăn đối với những quản trị viên. Trong bài viết này, chúng tôi sẽ giới thiệu 25 mẹo để có thể bảo vệ một server Linux hiệu quả hơn, hy vọng có thể giúp ích cho những người đã và đang sử dụng hệ điều hành này.

  1. Bảo vệ hệ thống vật lý Loại bỏ các nguy cơ bị boot hệ thống BIOS bằng CD/DVD, đĩa mềm và các thiết bị bên ngoài. Hãy đặt đặt mật khẩu cho BIOS và GRUB để ngăn chặn tất cả các kết nối giữa hệ thống với các thiết bị vật lý bên ngoài.
  2. Phân vùng ổ cứng Việc phân chia dữ liệu không chỉ khiến cho nó được sắp xếp hợp lý hơn, mà còn giúp các dữ liệu được bảo vệ tốt hơn trong trường hợp có sự cố không mong muốn xảy ra. Khi đó, chỉ có các dữ liệu trong những vùng xảy ra sự cố bị ảnh hưởng, không gây hại tới các gói dữ liệu khác. Một mô hình phân chia bạn có thể học theo, trong đó, các ứng dụng của bên thứ ba nên được cài vào file ‘/opt’ //boot/usr /var /home/tmp/opt
  3. Bớt đi các gói dữ liệu không cần thiết, hạn chế lỗ hổng bảo mật

    Bạn có bao giờ sử dụng tất cả các gói dịch vụ? Theo chúng tôi, bạn nên bỏ đi những gói tin không cần thiết để tránh việc bị tấn công thông qua những lỗ hổng của gói đó. Hãy kiểm tra lại một lượt xem có những ứng dụng nào không cần đến và gỡ chúng đi. Sử dụng lệnh ‘chkconfig’ để tìm các dịch vụ đang được chạy ở mức độ 3

    /sbin/chkconfig --list |grep '3:on'

    Một khi đã phát hiện ra những dịch vụ không cần thiết, loại bỏ chúng bằng câu lệnh

    chkcongfig serviceName off

    Hoặc có thể sử dụng gói quản lý RPM ví dụ như “yum” hay “apt-get” để liệt kê tất cả các gói tin đã được cài đặt và loại bảo chúng bằng các câu lệnh sau

yum -y remove package-name# sudo apt-get remove package-name

  1. Kiểm tra các cổng kết nối mạng

    Với sự trợ giúp của cú pháp ‘netstat’ bạn có thể kiểm tra tất cả các cổng kết nối mở và các chương trình có liên kết ra bên ngoài. Và giống như ở trên, hãy sử dụng ‘chkcongfig’ để loại bỏ chúng

    netstat -tulpn

  2. Sử dụng Secure Shell(SSH)

    Các giao thức cũ như Telnet và rlogin chỉ sử dụng những text đơn giản để truyền tin, không có cơ chế mã hóa thông tin. SSH là giao thức an toàn hơn,vì nó sử dụng sẽ mã hóa thông tin trước khi truyền đi trong suốt quá trình giao tiếp giữa người dùng với server. Hãy mở file cấu hình chính của SSH và sử dụng những cú pháp sau để giới hạn đăng nhập của người dùng

    vi /etc/ssh/sshd_config

    Loại bỏ Root Login PermitRootLogin no Chỉ chấp nhận một vài người dùng đặc biệt AllowUsers username Sử dụng giao thức SSH version 2 Protocol 2
  3. Thường xuyên update hệ thống

    Luôn giữ hệ thống của bạn được cập nhật những bản vá,sửa lỗi và nâng cấp phần nhân hệ thống ngay khi có thể.

    yum update

    /sbin/chkconfig --list |grep '3:on'

    0
  4. Khóa Cronjobs

    Cron có những khả năng tự làm việc, tuy nhiên nó cũng cho phép người dùng tự điều khiển nếu như họ muốn. Có thể điều khiển thông qua các file có địa chỉ ‘/etc/cron.allow’ và ‘etc/cron.deny’. Thêm tên của một người sử dụng vào cron.deny nếu như không muốn họ chỉnh sửa cron, hoặc thêm vào cron.allow nếu cho phép họ sử dụng cron. Nếu như muốn tất cả những người sử dụng không thể sử dụng cron, thêm dòng lệnh ALL vào file ‘cron.deny’

    /sbin/chkconfig --list |grep '3:on'

    1
  5. Tắt USB stick.

    Đã từng rất nhiều lần xảy ra chuyện chúng ta muốn hạn chế người sử dụng kết nối với hệ thống bằng USB để tránh tình trạng đánh cắp thông tin. Hãy tạo một file ‘/etc/modprobe.d/no-usb’ và thêm những dòng sau để hệ thống không nhận các thiết bị USB nữa

    /sbin/chkconfig --list |grep '3:on'

    2
  6. Sử dụng SELinux Hệ thống bảo mật nâng cao(SELinux) là một cơ chế bảo mật cung cấp ở vùng nhân. Tắt nó đi đồng nghĩa với việc loại bỏ cơ chế bảo vệ ra khỏi hệ thống. Hãy suy nghĩ thật kĩ mỗi khi muốn tắt nó, đặc biệt nếu hệ thống của bạn cần kết nối internet và có chế độ truy cập là công khai. SELinux có ba chế độ điều khiển sau: Enforcing: Chế độ thông thường, kích hoạt SELinux và để nó toàn quyền hoạt động tự do Permissive: Trong chế độ này, SELinux sẽ phải gửi những báo cáo cũng như cảnh báo cho người dùng trước mỗi hoạt động. Chế độ này vô cùng hữu ích trong trường hợp chuẩn đoán và xử lý nếu có sự cố xảy ra. Disable:tắt SELinux
  7. Loại bỏ các màn hình kiểu KDE và GNOME

    Rõ ràng là không cần thiết phải sử dụng các màn hình Window như là KDE hay GNOME cho server của bạn. Bạn có thể tắt hoặc gỡ nó đi để tăng cường bảo mật cho server. Để tắt nó , hãy mở file ‘etc/initab’ và đặt chạy ở mức độ 3. Còn nếu muốn loại bỏ hoàn toàn khỏi hệ thống, hãy sử dụng câu lệnh sau:

    /sbin/chkconfig --list |grep '3:on'

    3
  8. Tắt IPv6

    Nếu như bạn không sử dụng IPv6, hãy tắt nó đi bởi vì phần lớn các ứng dụng không đòi hỏi giao thức này và hiện tại, nó cũng không cần thiết cho server nữa. Hãy vào file cấu hình mạng, thêm dòng lệnh sau để loại bỏ IPv6# vi /etc/sysconfig/network

    /sbin/chkconfig --list |grep '3:on'

    4
  9. Hạn chế sử dụng lại các mật khẩu cũ

    Sẽ cực kỳ hữu ích nếu như bạn ngăn chặn việc những người sử dụng đặt lại một trong những mật khẩu cũ của họ. Các mật khẩu sẽ được lưu trữ tại /etc/pam.d/system-auth, file này chỉ có thể truy cập trong chế độ PAM. Mở file ‘etc/pam.d/system-auth’ trong RHEL/CentOS/Fedora.

    /sbin/chkconfig --list |grep '3:on'

    5 Thêm dòng lệnh sau vào mục ‘auth’

    /sbin/chkconfig --list |grep '3:on'

    6 Mờ file ‘etc/pam.d/common-password’ trong Ubuntu/Debian/Linux Mint

    /sbin/chkconfig --list |grep '3:on'

    7 Thêm dòng lệnh sau vào mục ‘password’ để ngăn người dùng sử dụng lại 1 trong 5 password gần nhất của họ

    /sbin/chkconfig --list |grep '3:on'

    8 Nếu như người dùng muốn sử dụng lại bất kỳ mật khẩu nào trong số 5 cái mới nhất, họ sẽ nhận được một dòng cảnh báo

    /sbin/chkconfig --list |grep '3:on'

    9
  10. Làm thế nào để kiểm tra thời gian sử dụng một password của người sử dụng

    Trong Linux, mật khẩu người dùng được lưu trữ trong file ‘/etc/shadow’ dưới dạng mã hóa. Để kiểm tra thời gian sử dụng password của người sử dụng, bạn sẽ cần sử dụng câu lệnh ‘chage’. Nó sẽ hiển thị lên các thông tin về thời hạn của một mật khẩu theo số liệu về thời gian thay đổi gần nhất. Những thông tin này được hệ thống sử dụng để quyết định khi nào người sử dụng cần thay đổi mật khẩu của họ

    chkcongfig serviceName off

    0 Để thay đổi giới hạn cho một password, sử dụng câu lệnh

    chkcongfig serviceName off

    1 Với -M:Số ngày tồn tại tối đa của mật khẩu -m:số ngày tối thiểu -W:Số ngày để đưa ra cảnh báo
  11. Khóa và mở một tài khoản theo cách thủ công

    Việc khóa và mở khóa rất hữu dụng, thay vì phải loại bỏ hẳn một tài khoản ra khỏi hệ thống, bạn chỉ cần khóa tài khoản đó lại trong vòng 1 tuần hoặc một tháng. Để khóa một tài khoản mà bạn muốn, sử dụng cú pháp sau

    chkcongfig serviceName off

    2 Lưu ý: Việc khóa thực chất chỉ là thay mật khẩu đã được mã hóa với một sâu kí tự khác. Nếu ai đó muốn truy cập bằng tài khoản này, nó sẽ hiện ra thông báo

    chkcongfig serviceName off

    3

    chkcongfig serviceName off

    4 Để mở khóa và cho phép một mật khẩu bị khóa có thể truy cập lại, sử dụng câu lệnh dưới đây, nó sẽ lại thay thế chuỗi ký tự với mật khẩu được mã hóa

    chkcongfig serviceName off

    5
  12. Khuyến khích sử dụng những mật khẩu mạnh hơn

    Một số lượng lớn người sử dụng chỉ đặt cho mình những mật khẩu yếu và dễ bị hack. ‘pam_cracklib’ trong chế độ PAM sẽ buộc người dùng phải sử dụng cho mình những mật khẩu mạnh và an toàn hơn. Hãy thêm những dòng sau bằng một trình biên soạn.

    chkcongfig serviceName off

    6 và thêm dòng sau(lcredit,ucredit, dcredit hay ocredit tương ứng với chữ thường, chữ hoa, chữ số và các kí tự khác)

    chkcongfig serviceName off

    7
  13. Sử dụng Iptable(tường lửa) Một điều được khuyến khích đó là bật chế độ tường lửa của Linux để kiểm soát những truy cập trái phép vào trong server của bạn. Hãy dùng iptable để có thể kiểm tra những gói tin đến, đi hoặc chuyển tiếp. Chúng ta hoàn toàn có thể xem xét địa chỉ nguồn và đích đến để có quyết định chấp nhận gói tin hay không
  14. Loại bỏ tổ hợp Ctrl+Alt+Delete

    Trong hệ điều hành Linux, ấn tổ hợp phím ‘CTRL+ALT+DELETE’ sẽ bắt đầu quá trình reboot hệ thống. Rõ ràng đây không phải và một ý hay, giả sử nếu như có một ai đó lỡ tay ấn nhầm. Tổ hợp phím được định nghĩa trong file’/etc/inttab’ . Thông thường các dòng lệnh sẽ bị ẩn đi, vì thế chúng ta cần làm nó hiện ra trước.

    chkcongfig serviceName off

    8

    chkcongfig serviceName off

    9
  15. Kiểm tra các tài khoản không có password Bất kể tài khoản nào mà không có mật khẩu đồng nghĩa với việc nó đang mở ra một lối truy cập trái phép cho bất kỳ ai. Vì thế bạn nên chắc chắn rằng tất cả các tài khoản đều sử dụng một mật khẩu mạnh và không ai có thể truy cập một cách trái phép được. Các tài khoản không có mật khẩu là một đe dọa về bảo mật. Để kiểm tra các tài khoản này sử dụng câu lệnh sau

yum -y remove package-name# sudo apt-get remove package-name

0

  1. Hiển thị những tiêu đề cảnh báo SSH trước khi đăng nhập Sẽ là rất tốt nếu như bạn luôn đưa ra những tiêu đề về cảnh báo bảo mật SSH mỗi khi có người dùng đăng nhập.
  2. Giám sát các hành vi của người dùng. Nếu có quá nhiều người sử dụng server của bạn, việc thu thập và phân tích các thông tin về mỗi hành vi của họ là vô cùng quan trọng. Tuy nhiên, làm thế nào để có thể thực hiện được việc này? Có hai công cụ vô cùng hữu ích cho chúng ta đó là ‘psacct’ và ‘acct’, giúp chúng ta quản lý mọi hành vi của những người sử dụng và các tiến trình diễn ra trong hệ thống. Những công cụ này chạy ngầm trong hệ thống và ghi lại từng hành vi của người sử dụng, cũng như theo dõi việc sử dụng tài nguyên cho các dịch vụ, ví dụ như Apache, MySQL, SSH, FTP…
  3. Kiểm tra, đánh giá các hoạt động một cách thường xuyên. Hãy di chuyển các hoạt động vào log server, điều này tránh việc những kẻ tấn công có thể xâm nhập vào và chỉnh sửa các hoạt động hệ thống. Thông thường, các file lưu trữ các hoạt động được đặt tại địa chỉ ‘/var/log’.
  4. Xây dựng file Backup Trong mọi hệ thống, luôn cần có một tệp tin làm nhiệm vụ sao lưu và phục hồi lại mỗi khi có sự cố xảy ra.
  5. Kết nối NIC Có hai loại kết nối NIC sau mode=0 Round Robin mode=1 kích hoạt và backup Khi xây dựng kết nối, chúng ta “kéo” hai hoặc nhiều hơn những kết nối lại với nhau và dùng một trường kết nối ảo để sử dụng IP giao tiếp với các server khác, Nếu có một thẻ NIC bị tạm ngừng hoặc không thể sử dụng được, thì các hoạt động vẫn diễn ra bình thường.
  6. Đặt địa chỉ /boot ở chế độ read-only Lõi Linux và những phần tử có liên quan đều nằm trong địa chỉ /boot vơi chế độ mặc định read-write. Chuyển về chế đọ read-only sẽ giảm thiểu các nguy cơ bị chỉnh sửa từ bên ngoài hoặc gây ra các lỗi với file boot. Để làm điều này, mở file ‘/etc/ftad’

yum -y remove package-name# sudo apt-get remove package-name

1 Và thêm dòng lệnh sau vào cuối, lưu rồi đóng file lại

yum -y remove package-name# sudo apt-get remove package-name

2 Lưu ý rằng, nếu bạn muốn nâng cấp nhân hệ thống bạn cần phải đặt lại về chế độ read-write

  1. Bỏ qua ICMP hoặc các yêu cầu quảng cáo Thêm dòng sau vào “/etc/sysctl.conf” để bỏ qua các yêu cầu ping hay quảng cáo

yum -y remove package-name# sudo apt-get remove package-name

3 Lưu lại các thay đổi cấu hình trên bằng câu lệnh

yum -y remove package-name# sudo apt-get remove package-name

4

Tin nổi bật

Tin liên quan

08/11/2023

Những điểm mới của Luật Giao dịch điện tử 2023

Để tạo hành lang pháp lý vững chắc, giúp các doanh nghiệp Việt Nam có đủ cơ sở để thực hiện công cuộc số hóa nêu trên, ngày 22/6/2023, Quốc hội đã thông qua Luật Giao dịch điện tử số 20/2023/QH15 kế thừa có sửa đổi, bổ sung Luật Giao dịch điện tử 2005.

24/11/2023

Viettel IDC xây dựng giải pháp email server trên AWS cho Viettel Post

Với mục đích nâng cao chất lượng dịch vụ, chú trọng đến trải nghiệm của người dùng, Viettel Post đã bắt đầu thúc đẩy ứng dụng công nghệ vào các hoạt động vận hành, quản lý, trong đó không thể không nhắc đến việc tích hợp các giải pháp tiên tiến vào hệ thống gửi email hóa đơn điện tử cho khách hàng.

22/11/2023

Live Streaming và mối liên kết không thể thiếu với công nghệ CDN

Live streaming đã trở thành xu hướng, được phát triển mạnh mẽ trong thời gian gần đây. Hình thức này cho phép người dùng chia sẻ những trải nghiệm trực tiếp, tương tác với khán giả và truyền tải thông tin một cách nhanh chóng. Tuy nhiên, đã bao giờ bạn thắc mắc, để đảm bảo một buổi phát sóng không gặp sự cố gián đoạn hoặc độ trễ thì công nghệ nào sẽ gián tiếp hỗ trợ?

Chủ đề