Thứ Bảy, 14 tháng 11, 2009

Chắc chắn nó an ninh!

Sure, it's Secure!

Một sự sửa lỗi quan trọng của Linux.

Linux không thường xuyên phải sửa các lỗi, nhưng một vấn đề về an ninh gần đây đã được phát hiện đáng để bạn chú ý.

An important Linux fix

It's not often that Linux needs to be fixed, but a recently discovered security problem does deserve your attention.

by sjvn

November 6, 2009, 02:43 PM

Theo: http://www.itworld.com/security/83917/an-important-linux-fix

Bài được đưa lên Internet ngày: 06/11/2009

Lời người dịch: Lỗi con trỏ 0 trong nhân Linux đã từng được nói tới, nay đã có cách để sửa.

Hầu hết thời gian bạn có thể đi hàng tháng, hàng năm, mà không phải vá phát tán Linux của bạn và không nằm trong bất kỳ sự nguy hiểm thực sự nào. Một lỗ hổng về an ninh đã được phát hiện gần đây trong nhân Linux đáng để bạn chú ý tới.

Đặc biệt, Earl Chew, một lập trình viên Linux, và, cùng lúc, Brad Spengler, người tạo ra chương trình an ninh Linux Grsecurity, đã phát hiện rằng đã có một lỗi con trỏ 0 mà nó có thể, về lý thuyết, cho phép những người sử dụng không có quyền gốc root chộp được các quyền ưu tiên của người quản trị. Bạn sẽ không muốn điều đó xảy ra.

Lỗi đặc biệt này, được biết tới trong giới lập trình viên như là lỗi số CVE-2009-3547, có trong tất cả các phiên bản hiện đại của nhân Linux 2.6. Nó đã được sửa trong bản 2.6.32 RC (phiên bản ứng viên), nhưng trừ phi bạn đang chạy trên cạnh đặc biệt của Linux, còn thì bạn sẽ không chạy phiên bản đó của nhân.

Vì thế khả năng bạn có thể có vấn đề này. Tôi nói có thể vì đối với lỗ hổng về an ninh này để được mở giá trị tới con trỏ mmap_min_addr phải là 0. Nếu không phải thế, thì bạn an toàn.

Hầu hết các phát tán trao cho con trỏ này một giá trị. Nhưng, có những phàn nàn rằng để cho phép Wine, chương trình phổ biến mà nó cho phép bạn chạy các chương trình của Windows trên Linux, thì giá trị của nó phải được thiết lập về 0. Dù điều đó là không đúng. Trên các hệ thống Linux của riêng tôi, tôi thường chạy Wine, và người anh em lớn thương mại của nó, CrossOver Linux, và trên các máy tính cá nhân của tôi, mmap_min_addr không được thiết lập về 0.

Bỏ qua thứ đó, có một số phát tán Linux, như Red Hat Enterprise Linux và SuSE Linux của Novell nơi mà con trỏ này được thiết lập mặc định ở 0, mà nó làm cho chúng có thể bị tổn thương đối với các cuộc tấn công. Trong trường hợp của Red Hat, việc sửa lỗi này đã sẵn sàng. Với SuSE, miếng vá vĩnh cửu, từ ngày 06/11, vẫn còn đang được tiến hành.

Most of the time you can go for months, years, without patching your Linux distribution and not be in any real danger. A recently uncovered security hole in the Linux kernel does deserve your attention.

Specifically, Earl Chew, a Linux developer, and, at about the same time, Brad Spengler, creator of the Linux security program Grsecurity, discovered that there was a possible null pointer error that could, in theory, enable non-root users grab administrator privileges. You don't want that to happen.

This particular bug, known in developer circles as CVE-2009-3547, hits all modern versions of the Linux 2.6 kernel It's been fixed in the upcoming 2.6.32 RC (release candidate), but unless you're running on Linux's bleeding edge, you're not running that version of the kernel.

So chances are you might have this problem. I say might because for this security hole to be open the value to the mmap_min_addr pointer has to be zero. If it's not, you're safe.

Most distributions give this pointer a value. But, there are claims that to enable Wine, the popular program that lets you run Windows programs on Linux, its value must be set to zero. That's not true though. On my own Linux systems, I often run Wine, and its commercial big brother, CrossOver Linux, and on my PCs, mmap_min_addr is not set to zero.

That aside, there are some Linux distributions, such as Red Hat Enterprise Linux and Novell's SUSE Linux where the pointer is set by default to zero, which makes them vulnerable to attack. In Red Hat's case, the fix is already available. With SUSE, the permanent patch, as of November 6th, is still on its way.

Tuy nhiên, điều đó không có nghĩa là bạn phải ngồi và chờ đợi nhà cung cấp dòng trên của bạn sửa lỗi này. Bạn có thể tự thiết lập lại con trỏ này trong khi vẫn chờ bản sửa lỗi vĩnh viễn.

Để xem liệu bạn có cần phải lo lắng hay không, hãy vào một vỏ và chạy lệnh sau:

cat /proc/sys/vm/mmap_min_addr

Nếu điều này cho bạn một giá trị 0 hoặc không có giá trị nào, thì bạn có khả năng bị tổn thương. Nếu nó cho bạn bất kỳ con số nào, thì cuộc sống là tốt lành và bạn không cần phải lo lắng với nó.

Nhưng, nếu thông tin này là xấu, hãy chạy lệnh này:

sysctl -w vm.mmap_min_addr="1024"

Hoặc, bạn có thể sử dụng bất kỳ giá trị số nào khác cho tới 65535 và máy của bạn sẽ an toàn cho tới khi nó được khởi động lại một lần nữa.

Có những cách thứ để thiết lập vĩnh viễn nó tới một giá trị mới, nhưng vì, giống như hầu hết những người sử dụng Linux, tôi có xu hướng khởi động lại máy của tôi mỗi lần trăng xanh, tôi sẽ không phải lo với những thứ này.

Cách mà tôi chỉ ra, tất cả các nhà cung cấp Linux sẽ có bản vá lỗi này từ lâu, lâu trước khi tôi khởi động lại máy tính của tôi một lần nữa. Cách sử dụng của bạn có thể khác.

Trong mọi trường hợp, nếu bạn đang chạy Red Hat, hãy vá bây giờ. Nếu bạn đang chạy một biến thể của Red Hat, như CentOS hoặc Oracle Unbreakable Linux hoặc một SuSE Linux, thì bạn sẽ muốn chạy sửa lỗi sysctl. Những người sử dụng Debian và Ubuntu dường như là sẽ an toàn, nhưng nếu bạn muốn chắc chắn gấp đôi, chỉ chạy lệnh cat và bạn sẽ biết chắc chắn.

That doesn't mean, however, you have to sit and wait for your upstream provider to come up with a fix. You can reset the pointer yourself while holding out for the permanent fix.

To see if you need to bother, head over to a shell and run the following command:

cat /proc/sys/vm/mmap_min_addr

If this gives you a zero or no value, then you're potentially vulnerable. If it gives you any other number, life is good and you don't need to worry with it.

But, if the news is bad, just run this command:

sysctl -w vm.mmap_min_addr="1024"

Or, you can use any other numeric value up to 65535 and your system will be safe until it's rebooted again.

There are ways to permanently set it to a new value, but since, like most Linux users, I tend to re-boot my systems once every blue moon, I'm not going to bother with these.

The way I figure it, all the Linux vendors will have this hole patched long, long before I reboot my systems again. Your usage may vary.

In any case, if you're running Red Hat, patch now. If you're running a Red Hat variant, like CentOS or Oracle Unbreakable Linux or a SUSE Linux, you'll want to run the sysctl fix. Debian and Ubuntu users seem to be safe, but if you want to make doubly sure, just run the cat command and you'll know for sure.

Dịch tài liệu: Lê Trung Nghĩa

letrungnghia.foss@gmail.com

Không có nhận xét nào:

Đăng nhận xét

Lưu ý: Chỉ thành viên của blog này mới được đăng nhận xét.