Hướng dẫn khắc phục lỗ hổng Ghost Cách kiểm tra hệ thống tồn tại lỗ hổng ghost



tải về 21.48 Kb.
Chuyển đổi dữ liệu07.01.2018
Kích21.48 Kb.

PowerPlusWaterMarkObject11543607



Hướng dẫn khắc phục lỗ hổng Ghost

Cách kiểm tra hệ thống tồn tại lỗ hổng GHOST

Các nhà quản trị hệ thống Linux cần lưu ý theo dõi các bản vá từ các nhà cung cấp và tiến hành cập nhật, sẵn sàng khởi động lại hệ thống của mình. Một số cách thức cập nhật bản vá cho thư viện glibc:



Cách 1:

  • Với Ubuntu & Debian

Kiểm tra phiên bản của glibc bằng câu lệnh:


Ldd –version

Kết quả, dòng đầu tiên sẽ thể hiện phiên bản của eglibc.

ldd (Ubuntu EGLIBC 2.15-0ubuntu10.7) 2.15
Copyright (C) 2012 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper.


Nếu phiên bản eglibc giống hoặc mới hơn các phiên bản được liệt kê dưới đây thì hệ thống không tồn tại lỗ hổng GHOST và ngược lại cần tiến hành cập nhật hệ thống:

  • Ubuntu 12.04 LTS: 2.15-0ubuntu10.10

  • Ubuntu 10.04 LTS: 2.11.1-0ubuntu7.20

  • Debian 7 LTS: 2.13-38+deb7u7



  • CentOS & RHEL

Kiểm tra phiên bản của glibc bằng rpm :


rpm -q glibc

Nếu phiên bản glibc cũ hơn 2.18 thì hệ thống dễ tồn tại lỗ hổng. Ngược lại nếu hệ thống đang sử dụng các phiên bản 2.18 hoặc mới hơn thì an toàn với lỗ hổng GHOST.

Cách 2:

Sử dụng đoạn code C:



link : http://www.openwall.com/lists/oss-security/2015/01/27/9

/* ghosttest.c: GHOST vulnerability tester */
/* Credit: http://www.openwall.com/lists/oss-security/2015/01/27/9 */
#include 
#include 
#include 
#include 
#include


#define CANARY “in_the_coal_mine”

struct {
char buffer[1024];
char canary[sizeof(CANARY)];
} temp = { “buffer“, CANARY };


int main(void) {
struct hostent resbuf;
struct hostent *result;
int herrno;
int retval;


/*** strlen (name) = size_needed – sizeof (*host_addr) – sizeof (*h_addr_ptrs) – 1; ***/
size_t len = sizeof(temp.buffer) – 16*sizeof(unsigned char) – 2*sizeof(char *) – 1;
char name[sizeof(temp.buffer)];
memset(name, ‘0’, len);
name[len] = ‘\0′;


retval = gethostbyname_r(name, &resbuf, temp.buffer, sizeof(temp.buffer), &result, &herrno);

if (strcmp(temp.canary, CANARY) != 0) {
puts(“vulnerable“);
exit(EXIT_SUCCESS);
}
if (retval == ERANGE) {
puts(“not vulnerable“);
exit(EXIT_SUCCESS);
}
puts(“should not happen“);
exit(EXIT_FAILURE);
}


Biên dịch và chạy đoạn mã:

$ gcc ghosttest.c -o ghosttest
$ ./ghosttest


Nếu hệ thống bị lỗ hổng GHOST sẽ có kết quảvulnerable hoặc not vulnerable.

Cách khắc phục lỗ hổng GHOST:

  • Với Ubuntu / Debian:




sudo apt-get clean
sudo apt-get update
sudo apt-get dist-upgrade

Khởi động lại hệ thống sau khi cập nhật xong.



  • Với CentOS / RHEL/ Fedora/ Scientific Linux




sudo yum update glibc
sudo yum update

Khởi động lại hệ thống sau khi cập nhật xong.




: Portals
Portals -> Phan Chau Trinh High School one period test no 2 Name: English : 11- time : 45 minutes Class: 11/ Code: 211 Chọn từ hoặc cụm từ thích hợp A, B, C, d để điền vào chỗ trống trong đoạn văn sau
Portals -> PHẦn I: thông tin cơ BẢn về ĐẠi hàn dân quốc và quan hệ việt nam-hàn quốc I- các vấN ĐỀ chung
Portals -> Năng suất lao động trong nông nghiệp: Vấn đề và giải pháp Giới thiệu
Portals -> LẤy ngưỜi học làm trung tâM
Portals -> BÀi tậP Ôn lưu huỳnh hợp chất lưu huỳnh khí sunfurơ so
Portals -> TỜ trình về việc ban hành mức thu phí tham gia đấu giá quyền sử dụng đất
Portals -> CỘng hòa xã HỘi chủ nghĩa việt nam độc lập – Tự do – Hạnh phúc
Portals -> GIẤY Ủy quyền tham dự Đại hội đồng Cổ đông thường niên năm 2016




Cơ sở dữ liệu được bảo vệ bởi bản quyền ©hocday.com 2019
được sử dụng cho việc quản lý

    Quê hương