
Trong bài này, chúng tôi sẽ giải thích sự nguy hiểm của Samba và cách bảo vệ hệ thống bạn chịu trách nhiệm chống lại nó. Tùy thuộc vào loại cài đặt của bạn (từ các kho hoặc từ nguồn), bạn sẽ cần phải thực hiện một cách tiếp cận khác.
Nếu bạn hiện đang sử dụng Samba trong bất kỳ môi trường hoặc biết ai đó đang làm, hãy đọc!
Tính dễ tổn thương
Các hệ thống lỗi thời và chưa được xử lý dễ bị tấn công bởi một lỗ hổng thi hành mã từ xa. Nói một cách đơn giản, điều này có nghĩa là một người có quyền truy cập vào một phần có thể ghi được có thể tải lên một đoạn mã tùy ý và thực hiện nó với quyền root trong máy chủ.
Vấn đề này được mô tả trong trang web của Samba như CVE-2017-7494 và được biết là ảnh hưởng đến Samba phiên bản 3.5 (phát hành vào đầu tháng 3 năm 2010) và trở đi. Không chính thức, nó đã được đặt tên SambaCrydo sự tương đồng của nó với WannaCry : cả hai đều nhắm đến giao thức SMB và có khả năng rất lớn - có thể khiến nó lan truyền từ hệ thống này sang hệ khác.
Debian, Ubuntu, CentOS và Red Hat đã có hành động nhanh chóng để bảo vệ người dùng của mình và đã phát hành bản vá lỗi cho các phiên bản được hỗ trợ của họ. Ngoài ra, các biện pháp khắc phục bảo mật cũng đã được cung cấp cho những người không được hỗ trợ.
Như đã đề cập ở trên, có hai cách tiếp cận để thực hiện theo phương pháp cài đặt trước đây:
Nếu bạn đã cài đặt Samba từ các kho của phân phối của bạn.
Chúng ta hãy nhìn vào những gì bạn cần làm trong trường hợp này:
Sửa Sambacry trong Debian
Đảm bảo apt được thiết lập để nhận các cập nhật bảo mật mới nhất bằng cách thêm các dòng sau vào danh sách nguồn của bạn ( /etc/apt/sources.list ):
Deb http://security.debian.org stable / updates main
Deb-src http://security.debian.org/ stable / updates main
Tiếp theo, cập nhật danh sách các gói có sẵn:
# Aptitude update
Cuối cùng, hãy đảm bảo phiên bản của gói samba phù hợp với phiên bản đã xác định lỗ hổng bảo mật (xem CVE-2017-7494 ):
# Aptitude show samba

Sửa Sambacry trong Ubuntu
Để bắt đầu, hãy kiểm tra các gói mới có sẵn và cập nhật gói samba như sau:
$ Sudo apt-get update
$ Sudo apt-get install samba
Các phiên bản Samba đã được áp dụng bản sửa lỗi cho CVE- 2017-7494 như sau:
- 17.04: samba 2: 4.5.8 + dfsg-0ubuntu0.17.04.2
- 16.10: samba 2: 4.4.5 + dfsg-2ubuntu5.6
- 16.04 LTS: samba 2: 4.3.11 + dfsg-0ubuntu0.16.04.7
- 14.04 LTS: samba 2: 4.3.11 + dfsg-0ubuntu0.14.04.8
Cuối cùng, chạy lệnh sau đây để xác minh rằng hộp Ubuntu của bạn bây giờ có quyền Samba phiên bản cài đặt.
$ sudo apt-cache show samba
Fix Sambacry trên CentOS / RHEL 7
Phiên bản vá lỗi Samba trong EL 7 là samba-4.4.4-14.el7_3 . Để cài đặt nó, làm
# yum makecache fast
# yum update samba
Như trước đây, đảm bảo bạn đã có phiên bản Samba vá:
# Yum info samba

Fix Sambacry trong CentOS
Các phiên bản cũ hơn, vẫn được hỗ trợ của CentOS và RHEL cũng có các bản sửa lỗi có sẵn. Kiểm tra RHSA-2017-1270 để tìm hiểu thêm.
Nếu bạn đã cài đặt Samba từ nguồn
Lưu ý : Các thủ tục sau giả định rằng bạn đã từng xây dựng Samba từ nguồn. Bạn được khuyến khích thử nghiệm rộng rãi trong môi trường thử nghiệm TRƯỚC KHI triển khai nó tới một máy chủ sản xuất.
Ngoài ra, hãy đảm bảo bạn sao lưu tệp smb.conf trước khi bạn bắt đầu.
Trong trường hợp này, chúng tôi cũng sẽ biên dịch và cập nhật Samba từ nguồn. Trước khi bắt đầu, tuy nhiên, chúng ta phải đảm bảo rằng tất cả các phụ thuộc đã được cài đặt trước đó. Lưu ý rằng quá trình này có thể mất vài phút.
Trong Debian và Ubuntu:
# aptitude install acl attr autoconf bison build-essential \
debhelper dnsutils docbook-xml docbook-xsl flex gdb krb5-user \
libacl1-dev libaio-dev libattr1-dev libblkid-dev libbsd-dev \
libcap-dev libcups2-dev libgnutls28-dev libjson-perl \
libldap2-dev libncurses5-dev libpam0g-dev libparse-yapp-perl \
libpopt-dev libreadline-dev perl perl-modules pkg-config \
python-all-dev python-dev python-dnspython python-crypto xsltproc \
zlib1g-dev libsystemd-dev libgpgme11-dev python-gpgme python-m2crypto
Trong CentOS 7 hoặc tương tự:
# Yum install attr bind-utils docbook-style-xsl gcc gdb krb5-workstation \
Libsemanage-python libxslt perl perl-ExtUtils-MakeMaker \
Perl-Parse-Yapp perl-Kiểm tra-Base pkgconfig policycoreutils-python \
Python-crypto gnutls-devel libattr-devel keyutils-libs-devel \
Libacl-devel libaio-devel libblkid-devel libxml2-devel openldap-devel \
Pam-devel popt-devel python-devel readline-devel zlib-devel
Dừng dịch vụ:
# Systemctl stop smbd
Tải xuống và bỏ trống nguồn (với 4.6.4 là phiên bản mới nhất vào thời điểm viết bài này):
# Wget https://www.samba.org/samba/ftp/samba-latest.tar.gz
# Tar xzf samba-latest.tar.gz # Cd samba-4.6.4
Chỉ với mục đích thông tin, hãy kiểm tra các tùy chọn cấu hình có sẵn cho bản phát hành hiện tại bằng.
# ./configure --help
Bạn có thể đưa một số tùy chọn được trả lại bởi lệnh trên nếu chúng được sử dụng trong bản build trước, hoặc bạn có thể chọn mặc định:
# ./configure
# make
# make install
Cuối cùng, khởi động lại dịch vụ.
# systemctl restart smbd
Và xác minh bạn đang chạy phiên bản cập nhật:
# smbstatus --versionMà nên trở lại 4.6.4 .
Xem xét chung
Nếu bạn đang chạy phiên bản không được hỗ trợ của một phân phối nhất định và không thể nâng cấp lên một phiên bản gần đây vì một số lý do nào đó, bạn có thể muốn xem xét các đề xuất sau:
Nếu SELinux được kích hoạt, bạn sẽ được bảo vệ!
Đảm bảo chia sẻ Samba được gắn kết với tùy chọn noexec. Điều này sẽ ngăn chặn việc thực hiện các chương trình nhị phân nằm trên hệ thống tập tin được gắn kết.
Thêm vào
nt pipe support = no
Đến phần [global] của tập tin smb.conf và khởi động lại dịch vụ. Bạn có thể muốn lưu ý rằng điều này "có thể vô hiệu hóa một số chức năng trong Windows khách hàng", theo dự án Samba.
Quan trọng : Hãy nhớ rằng tùy chọn " nt pipe support = no " sẽ vô hiệu hóa các cổ phiếu liệt kê từ các máy khách Windows. Ví dụ: Khi bạn nhập \\ 10.100.10.2 \ từ Windows Explorer trên máy chủ samba, bạn sẽ nhận được sự cho phép bị từ chối. Các máy khách Windows sẽ phải tự xác định chia sẻ theo cách thủ công là \\ 10.100.10.2 \ share_name để truy cập chia sẻ.
Tóm lược
Trong bài này, chúng tôi đã mô tả lỗ hổng được biết đến như SambaCry và làm thế nào để giảm nhẹ nó. Chúng tôi hy vọng rằng bạn sẽ có thể sử dụng thông tin này để bảo vệ hệ thống bạn chịu trách nhiệm.
No comments:
Post a Comment