NỘI DUNG
Kết thúc nội dung Penetration Testing Step 3 – Nikto, web server scanner nhỏ mà có võ, kỳ này tôi xin tạm nghỉ phần Penetration Testing và đổi gió sang một nội dung khác là XAMPP – bộ đồ nghề bao gồm các giải pháp để dựng Web Server kiểu mì ăn liền. Phần này mới nghe qua thì có vẻ lạc đề nhưng thực ra sẽ liên quan rất nhiều đến công tác Penetration Testing, đặc biệt là đối với nhóm đối tượng thích chọc phá các mục tiêu Web Server nhưng sợ chịu trách nhiệm.
#1. Thế XAMPP là cái gì?
XAMPP là viết tắt của các yếu tố:
- X – Cross Platform: Tức là khả năng chiến đấu đa nền tảng trên cả Windows, Linux và Mac OS;
- A – Apache: Đây là dạng Web Server phổ biến hiện nay;
- M – MySQL/MariaDB: MySQL là hệ quản trị cơ sở dữ liệu quan hệ có số má hiện nay và MariaDB là một nhánh phát triển của MySQL;
- P – PHP: Là ngôn ngữ lập trình kịch bản đa năng và đặc biệt phổ biến cho việc phát triển Web Server;
- P – Perl: Cũng là ngôn ngữ kịch bản với thiết kế ban đầu dùng cho xử lý text nhưng hiện đã trở nên bá đạo với khả năng hoạt động trong nhiều lĩnh vực như system admin, web development hoặc network programming.
XAMPP hấp dẫn (với giới thích chơi chùa như tôi) vì đây giải pháp mã nguồn mở hoàn toàn miễn phí. Yếu tố quan trọng thứ hai đó là quá trình cài cắm triển khai sử dụng XAMPP cực kỳ gọn nhẹ vì tất cả việc bạn cần làm chỉ là truy cập trang để download và múc phiên bản cài đặt phù hợp về chấm mút.
Nếu bạn từng thiết lập Web Server theo kiểu triển khai chuẩn mực như LAMP (Linux – Apache – MySQL – PHP) thì chắc chắn bạn sẽ ngạc nhiên với độ “mì ăn liền” của XAMPP.
Lưu ý:
- Bạn có thể xem thêm nội dung Hướng dẫn tạo Website miễn phí từ A đến Z – Phần 1: Chuẩn bị GCP VM Instance, cài đặt Apache Web Server và thiết lập Firewall để hình dung ra khối lượng công việc cần xử lý khi triển khai Web Server kiểu thông thường.
- XAMPP là giải pháp phù hợp cho việc phát triển và thử nghiệm Web Server trên Localhost (tức là con máy vật lý của bạn) chứ bạn dùng cái này dựng website chạy thật thì vỡ mồm.
#2. Quá trình cài cắm và cấu hình XAMPP
#2.1 Download và cài cắm XAMPP
Để hốt hàng file cài đặt về thì bạn bơi vào XAMPP Installers and Downloads for Apache Friends và di chuyển đến vị trí download tương tự như sau.
Lưu ý:
- Bạn có thể xem thông tin kiểm tra checksum như tôi giới thiệu trong nội dung Giải ngố Tor Browser – Phần 3: Làm sao để kiểm tra signature file cài đặt.
- Nếu bạn “thuần” Windows thì có thể chọn một giải pháp gọn nhẹ hơn nữa là WAMP (Windows – Apache – MySQL – PHP) – cũng là giải pháp miễn phí.
Quá trình cài đặt cũng như các software thông thường khác nên tôi không nói thêm. Tuy nhiên, nó có thể hỏi bạn một số thứ linh tinh ví dụ như vị trí cài đặt hoặc đề nghị tắt User Account Control – UAC.
Nhìn chung, theo nguyên tắc chuẩn cmn mực (mặc dù có thể bạn đang test chơi) thì bạn méo nên tắt UAC hoặc cho nó quyền gì cả. Khi nào sử dụng, nếu cần cấp phép đến đâu thì bạn mần đến đó thôi cho chắc.
#2.2 Tinh chỉnh cấu hình port cho XAMPP
Sau khi hoàn thành quá trình cài đặt, bạn sẽ thấy giao diện kiểu như sau.
Vì mặc định Apache sẽ dùng port 80/443 nên nếu bạn có đang chạy các thứ liên quan (ví dụ Internet Information Services – IIS) thì bạn cần tắt hoặc cấu hình chuyển sang sử dụng port khác thông qua nút Config chỗ dòng tương ứng của Apache như hình trên. Tại chỗ này, bạn mở file httpd.conf và cập nhật lại thông số port tương ứng (tôi dùng port 8080) cho phần Listen và ServerName như bên dưới.
Sau đó bạn thử bấm Start Apache và MySQL. Nếu thấy màu xanh hy vọng như bên dưới là ngon ăn (bạn có thể thấy hiện Apache đã chuyển sang sử dụng port 8080 như tôi thiết lập).
Để kiểm tra, bạn có thể truy cập http://localhost:8080/dashboard/ từ máy đang cài đặt XAMPP thử. Nếu kết quả xuất hiện như sau là thành công rực rỡ.
#2.3 Tinh chỉnh cấu hình firewall cho XAMPP
Ở phía trên, dù đã thiết lập thành công, nhưng nếu dựng Web Server để Pentest mà bạn lại quanh quẩn trong Localhost thôi thì hình như hơi kỳ. Để thực tế hơn, tôi sẽ móc con hàng Kali Linux ra và truy cập theo IP thử xem có ăn được không. Nếu cũng tinh chỉnh lại port giống như tôi thì bạn sẽ cần kiểm tra đã thiết lập Inbound Rules cho port tương ứng và cho phép Apache HTTP Server hoạt động chưa.
Nếu mọi thứ ngon lành thì bạn sẽ thấy kết quả tương tự khi truy cập từ máy Kali Linux.
#2.4 Tinh chỉnh cấu hình truy cập phpMyAdmin của XAMPP
Trên con hàng Kali Linux, từ giao diện trên, nếu thử truy cập phpMyAdmin thì khả năng bạn sẽ gặp lỗi tương tự như sau.
Để xử lý vấn đề này, bạn sẽ cần mở Apache Config, chọn httpd-xampp.conf và cập nhật kiểu như sau.
Lúc này, truy cập lại, bạn sẽ thấy nó đập phát ăn ngay, bay thẳng vô giao diện quản trị mà không hỏi han thông tin đăng nhập gì sất. Thiết lập này chỉ phù hợp dạng test nhanh. Nếu bạn định chơi Pentest mà làm vậy thì hơi sai trái. Để thay đổi, từ giao diện của phpMyAdmin, bạn chọn tab User accounts sau đó có thể thiết lập Change password cho user root ứng với Host name localhost như sau rồi bấm Go để cập nhật.
Tiếp theo, bạn mở Apache Config, chọn config.inc.php và cập nhật kiểu như sau để yêu cầu sử dụng usernanme và password lúc đăng nhập.
Sau khi lưu các thay đổi và chạy lại, bạn thử truy cập lại phpMyAdmin và cung cấp mật khẩu tương ứng để kiểm tra xem các thiết lập đã mượt mà hết chưa.
Rồi, đến đây tôi xin dừng nội dung giới thiệu về quá trình cài đặt, thiết lập và tinh chỉnh XAMPP. Bạn chịu khó làm thử lại cho ngon trước đi nhé. Các kỳ kế tiếp tôi sẽ sắp xếp demo thêm một số nội dung Pentest dựa trên con hàng Web Server “nhà trồng” này đấy.
1 thought on “Dựng Web Server kiểu “tàu nhanh” với với bộ đồ nghề XAMPP”