WEB SERVER SECURITY
I. Giới thiệu :
Để một WebServer an toàn trước những tấn công từ bên ngoài thì ta cần có một tường lửa (ISA Server). Theo những gì ta đã biết thì ta cần phải có 2 máy (1 máy làm WebServer, 1 máy làm Firewall), tuy nhiên với mô hình doanh nghiệp vừa và nhỏ ta chỉ có được một Server đặt trên các ISP (FPT, VDC …). Vì vậy trong bài lab này sẽ trình bày cách cài đặt dịch vụ Web Services và ISA trên cùng một Server vật lý.
Bài lab bao gồm các bước:
Phần 1 : Cài đặt và cấu hình ISA Server
1. Cài đặt card loopback, cấu hình WebServer lắng nghe trên card loopback
2. Cài đặt ISA Server
3. Tạo Rules và Public các dịch vụ
Phần 2 : Bảo mật WebServer
1. Bảo mật AdminCP với tools IIS Password
2. Bảo mật Webserver với tools ServerMask
3. Hiệu chỉnh Local Security Policy
II. Thực hiện:
1.Cài đặt card loopback, cấu hình WebServer lắng nghe trên card loopback
- Bạn đã setup một
Website hoàn chỉnh, truy cập
http://localhost để kiểm tra
- Vào
Control Panel,
Add Hardware, chọn
Next
- Chọn
Yes, I have already connected the hardware
- Chọn
Add a new hardware device
- Chọn
Install the hardare that I manually select from a list (Advanced)
- Chọn
Network Adapters
- Chọn
Microsoft và
Microsoft loopback Adapter
- Chọn
Next, Finish
-
Đặt IP cho card loopback
10.10.10.10 , subnet :
255.0.0.0
- Cho
Website lắng nghe trên
card loopback (10.10.10.10)
- Thay đổi
port 80 thành
port 1986
- Truy cập địa chỉ
http://10.10.10.10:1986 kiểm tra.
2. Cài đặt ISA Server (trong bài viết này tôi sử dụng ISA Server 2004 SP3)
-
Disable NetBIOS over TCP/IP trên card
WAN : Trong phần chỉnh IP chọn
Advance, chọn
WINS, chọn
Diasble NetBIOS Over TCP/IP
- Chạy file
ISAAutorun.exe, chọn
Install ISA Server 2004
- Chọn
Next, chọn
I Accept
- Chọn
Custom
- Để mặc định, chọn
Next
- Khai báo phạm vi địa chỉ là
card loopback
- Để mặc định các giá trị và
next đến khi cài đặt
- Quá trình cài đặt hoàn tất
-
Install các Services Pack và
Restart lại Server
3. Tạo Rules và Public các dịch vụ
- Mở
ISA Management,
R.Click lên
Firewall Policy, chọn
Web Server Publishing Rule
- Đặt tên cho rules là :
WebServer, chọn
Next
-
Action chọn
Allow
-
Define Webserver to Publish : điền vào IP
10.10.10.10
-
Public Name Details chọn
Accept requests for : Any domains name
-
Web Listener chọn vào nút
NEW
- Đặt tên là
Port 80
- Cho lắng nghe ở
External, chọn
next
-
Enable HTTP ở
port 80, chọn
next, chọn
finish
- Chọn
Port 80 cho
Web Listerner, chọn
next
- Để
All Users, chọn
Next, chọn
Finish
-
R.click lên
Rules WebServer, chọn
Bridging, đổi
port 80 thành
port 1986
- Chọn tab
To, check vào
Forward the original host header instead of the actual one
- Chọn Requests appear to come from the original client
- Chọn Finish
-
Enable dịch vụ
Remote Desktop
-
R.Click trên
Firewall Policy, chọn
New, chọn
Server Publishing Rule
- Đặt tên cho
Rules là
Remote Desktop
Điền IP của card
WAN là
222.222.222.222
-
Protocol chọn
RDP (Terminal Services) Server
- Cho lắng nghe trên
External
- Chọn
Finish
- Để Server có thể lên trang Microsoft cập nhật các bản vá lỗi thì ta cần tạo
rule ra Internet
-
R.Click lên
Firewall Policy, chọn
New, chọn
Access Rules
- Đặt tên cho
Rules là
Internet
-
Action : chọn
Allow
-
Protocols chọn
All outbound traffic
-
Source : Internal và
Localhost
-
Destination chọn
New, chọn
URL Set
- Đặt tên là
Trusted Sites và cho truy cập các trang :
+
http://microsoft.com/*
+
http://*.microsoft.com/*
- Chọn
Trusted Sites
-
User sets : chọn
All Users
- Chọn
Finish
-
Sắp xếp các rules theo thứ tự
+ Webserver
+ Remote Desktop
+ Internet
- Và Apply
Kiểm tra :
- Trên
Webserver, truy cập vào trang
Microsoft Update
- Trên máy
Client, truy cập trang web qua địa chỉ
http://222.222.222.222
-
Kiểm tra Remote Desktop
Phần 2 : Bảo mật WebServer
1. Bảo mật AdminCP với tools IIS Password
Website của bạn là một website tin tức, do đó sẽ có tài khoản để admin viết bài (tạm gọi là Admin1). Website của bạn sẽ có một nơi đăng nhập của admin, bạn cần bảo mật nơi đăng nhập đó bằng một lớp username/password nữa (tạm gọi là Admin2), nếu hacker biết được username/password admin1 của bạn củng không thể đăng nhập vào được.
Để chứng thực khi vào đường dẫn Admin bạn có thể kết dùng quyền NTFS và IIS Basic Authentication, ở đây tôi không dùng 2 cách này mà dùng tool IIS Password .Nếu tôi dùng cách NTFS và IIS Basic Authentication thì khi bị sniff cũng sẽ lộ username/password của windows, còn IIS Password sẽ tạo ra một username/password riêng không phụ thuộc vào Windows để chứng thực khi người dùng khi truy cập vào link đã chọn.
- Đây là Website
http://222.222.222.222/admin chưa được bảo vệ
-
Cài đặt IIS Password , để
option theo mặc định,
next theo hướng dẫn đến khi hoàn tất
- Mở
Internet Information Services, trên
Default Web Site,
R.click chọn
properties, chọn
tab IISPassword
- Chọn nút
Add, thêm vào
username/password
- Đặt
title là
Amin Zone, chọn
apply
- Trên máy
client, truy cập lại địa chỉ
http://222.222.222.222/admin thì đòi Username/password
- Nhập
username/password ở trên thì truy cập thành công.
2. Bảo mật Webserver với tools ServerMask
Trước khi tấn công Website của bạn, các hacker thường dùng các thao tác Footprinting và Scanning, khi có đủ thông tin cần thiết, hacker sẽ chọn cách đánh vào website của bạn hay Server chứa website của bạn. Để giảm thiểu và gây lạc hướng các hacker khi tiến hành Footprinting và Scanning tôi sẽ che Server Header lại, không cho hacker biết tôi đang dùng IIS 6.
- Đây là website chưa che
Server Header, tôi dùng trình duyệt
Firefox với
addon ServerSpy thì dễ dàng nhận thấy được Web Server đang sử dụng
IIS (Internet Information Services)
-
Download và cài đặt
ServerMask theo mặc định
- Khởi động
ServerMask, chọn tab
Server Header, bạn có thể chọn một
Server Header cố định hoặc tạo một Server Header cho riêng bạn.
- Ở đây tôi
check vào dấu Randominze Server header among common non-IIS servers với giá trị là
500 requests, điều này có nghĩa là server sau khi nhận 500 request thì sẽ tự đổi 1 Server Header mới.
- Trên máy
Client, truy cập vào
http://222.222.222.222 kiểm tra
3.Hiệu chỉnh Local Security Policy
-
Rename tài khỏan Administrator thành tên khác
- Chỉnh các policy :
+ Interactive logon: Display user infomation when the session is locked >
Do not display user infomation
+ Interactive logon: Do not display last user name >
enabled
+ Network access: Sharing and security model for local accounts >
Guest onl
Đào Duy Hiếu
www.msopenlab.com