Hướng dẫn bảo mật Server/VPS

Trong bối cảnh tình hình bảo mật trong lĩnh vực công nghệ thông tin đang diễn biến phức tạp như hiện nay, việc đảm bảo an toàn thông tin cho Server/VPS trở nên cực kì cần thiết. Một Server/VPS được bảo mật tốt sẽ tránh được những nguy cơ bị kẻ xấu tấn công, từ đó giúp cho việc vận hành Server/VPS được trơn tru, các dịch vụ hoạt động ổn định.

Bài viết dưới đây sẽ chia sẻ cho quý khách hàng đang sử dụng dịch vụ tại Vinahost một số thủ thuật nhằm tăng cường độ bảo mật trên Server/VPS.

1. SERVER/VPS WINDOWS

1.1. Đặt mật khẩu có độ phức tạp cao

Hiện nay, lỗ hổng bảo mật mà các hacker thường khai thác nhất không phải là những vấn đề kỹ thuật sâu xa mà chính là sự lỏng lẻo, thiếu cẩn trọng trong việc đặt mật khẩu của người quản lý tài khoản đó.

Vì thế để an toàn khi tham gia các hoạt động trực tuyến, quý khách hàng của Vinahostluôn được khuyến cáo phải tạo các mật khẩu đủ mạnh để tránh các trường hợp đáng tiếc xảy ra trong quá trình sử dụng.

Mật khẩu có độ phúc tạp cao hội tụ đủ các yếu tố sau:

  • Mật khẩu mang tính ngẫu nhiên, không có nghĩa.
  • Mật khẩu không có bất kỳ liên hệ nào với thông tin cá nhân của người dùng.
  • Mật khẩu là tập hợp xen kẽ các ký tự số, chữ thường, chữ in hoa và ký tự đặc biệt.

Một số ví dụ về tài khoản có độ phức tạp và tính bảo mật cao: B@oPnlM#1digsEJO, cD#Zd$FuwY23…

1.2. Bảo mật remote desktop

Remote desktop là một tính năng trên các hệ điều hành Windows cho phép người dùng có thể truy cập và điều khiển hệ thống của mình từ xa thông qua internet hoặc mạng nội bộ. Port mặc định của remote desktop là 3389, quý khách có thể thay đổi port mặc định này theo các bước sau:

  • Mở cửa sổ Registry Editor bằng cách bấm nút Start => Run (hoặc dùng tổ hợp phím Windows + R) => nhập regedit.exe
  • Trước khi thực hiện chỉnh sửa bất kì registry nào, quý khách nên lưu lại một bản dự phòng của registry đó để tránh việc cấu hình sai làm ảnh hưởng tới hệ thống. Để thực hiện điều đó, quý khách nhấp chuột phải vào registry cần backup, chọn Export, sau đó chọn nơi sẽ lưu trữ bản dự phòng.
  • Để thay đổi port hoạt động của remote desktop, ta truy cập đường dẫn sau trên Registry Editor:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp\PortNumber

  • Nhấp chuột phải vào PortNumber, chọn Modify…
  • Tại cửa sổ Edit DWORD, quý khách chọn Decimal để sử dụng hệ số thập phân, và thay đổi port hoạt động tại ô Value data, bấm OK
  • Để truy cập và điều khiển máy tính từ xa, quý khách truy cập với địa chỉ <hostname>:<port> hoặc <địa chỉ IP>:<port>

1.3. Chặn các IP Quốc tế

Phần lớn các cuộc tấn công DoS/DDoS được ghi nhận thường bắt nguồn từ các IP nước ngoài. Để hạn chế cũng như ngăn chặn tình trạng này, người dùng có thể chủ động cấu hình Windows firewall chặn các dảy IP quốc tế từng thực hiện tấn công hoặc dải IP không mong muốn truy cập vào Server/VPS Windows bằng cách sau:

  • Tải file script PowerShell tại đường dẫn sau và giải nén: https://live.vinahost.vn/img/232/import_firewall_blocklist.zip
  • Mở cửa sổ Windows PowerShell với quyền Administrator bằng cách bấm nút Start, tìm từ khóa Windows PowerShell, nhấp chuột phải vào kết quả tìm được và chọn Run as Administrator.
  • Thực thi lần lượt các lệnh sau:

PowerShell.exe -ExecutionPolicy Bypass

=> Cấu hình policy cho phép thực thi file script PowerShell.

cd Desktop

=> Di chuyển tới thư mục chứa file script (ví dụ đang đặt tại Desktop).

.\Import-Firewall-Blocklist.ps1 -zone CN

=> Thực thi script, trong đó CN là mã quốc gia muốn chặn (ví dụ thực hiện chặn IP từ Trung Quốc). Quý khách có thể tra cứu mã quốc gia 2 kí tự tại đường dẫn sau:

http://www.worldatlas.com/aatlas/ctycodes.htm

Quý khách có thể thực hiện chặn IP của nhiều quốc gia khác nhau bằng cách thực thi lại lệnh trên và thay thế mã quốc gia muốn chặn.

PowerShell.exe -ExecutionPolicy Restricted

=> Cấu hình lại policy thực thi file script PowerShell.

1.4. Vô hiệu hóa giao thức SMB

SMB (Server Message Block) là một giao thức trên Windows cho phép người dùng chia sẻ tập tin, máy in, serial port…giữa các máy. Trong quá khứ, không ít các trường hợp kẻ xấu đã lợi dụng giao thức này để thực hiện tấn công các máy khác, và gần đây nhất là sự kiện WannaCry xảy ra vào tháng 5 vừa qua.

Để đề phòng việc bị kẻ xấu khai thác lổ hỏng bảo mật thông qua giao thức SMB, quý khách có thể chủ động tắt giao thức này trên Server/VPS bằng cách sau:

● Vô hiệu hóa SMB server

○ Mở cửa sổ Windows PowerShell với quyền Administrator bằng cách bấm nút Start, tìm từ khóa Windows PowerShell, nhấp chuột phải vào kết quả tìm được và chọn Run as Administrator

○ Thực thi cáclệnh sau:

>>> Đối với Windows server 2012:

Set-SmbServerConfiguration -EnableSMB1Protocol $false

Set-SmbServerConfiguration -EnableSMB2Protocol $false

>>> Đối với Windows server 2008:

Set-ItemProperty -Path “HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters” SMB1 -Type DWORD -Value 0 -Force

Set-ItemProperty -Path “HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters” SMB2 -Type DWORD -Value 0 -Force

○Khởi động lại Server/VPS

● Vô hiệu hóa SMB client

○ Mở cửa sổ Command Prompt với quyền Administrator bằng cách bấm nút Start, tìm từ khóa Command Prompt, nhấp chuột phải vào kết quả tìm được và chọn Run as Administrator

○Thực thi các lệnh sau:

sc.exe config lanmanworkstation depend= bowser/mrxsmb20/nsi

sc.exe config mrxsmb10 start= disabled

sc.exe config lanmanworkstation depend= bowser/mrxsmb10/nsi

sc.exe config mrxsmb20 start= disabled

○ Khởi động lại Server/VPS

1.5. Cập nhật Windows

Một trong những biện pháp hữu hiệu nhất để phòng tránh việc bị kẻ xấu khai thác vào lổ hỏng bảo mật là thực hiện cập nhật Windows thường xuyên. Quý khách có thể cấu hình cho Windows tự động cập nhật bằng cách sau:

  • Truy cập Control Panel => System and Security => Windows Update
  • Nếu Server/VPS chưa từng được cập nhật trước đây hoặc tính năng tự động cập nhật đang tắt, quý khách sẽ bấm vào nút Turn on automatic updates
  • Ngoài ra, quý khách có thể tự chọn kế hoạch thực hiện cập nhật Windows bằng cách chọn mục Change settings phía bên trái, sau đó chọn kế hoạch cập nhật mong muốn:
  • Thông thường, sau khi cập nhật một số bản vá nhất định, Windows sẽ yêu cầu người dùng khởi động lại hệ thống để hoàn tất quá trình cài đặt.

2. SERVER/VPS LINUX

2.1. Cấu hình bảo mật SSH

Mặc định SSH sử dụng port 22 để kết nối, các hacker có thể lợi dụng điều này để tấn công vào Server/VPS. Vì thế khách hàng có thể bảo mật Server/VPS của mình bằng cách thay đổi port SSH và giới hạn chỉ cho phép login bằng key vào Server/VPS như sau:

  • Mở file /etc/ssh/sshd_config và sửa các dòng như sau:

Port 2222
PubkeyAuthentication yes
PasswordAuthentication no

  • Thực hiện thêm public key của quý khách lên Server/VPS

Để tạo key quý khách vui lòng tham khảo cách tạo key bằng puttygen tại link: https://www.ssh.com/ssh/putty/windows/puttygen . Sau khi có key quý khách thêm key vào file authorized_keys trên Server/VPS như sau.

# mkdir ~/.ssh
# chmod 700 ~/.ssh
# touch ~/.ssh/authorized_keys

# chmod 600 ~/.ssh/authorized_keys
# vi ~/.ssh/authorized_keys


  • Khởi động lại dịch vụ SSH bằng lệnh:

# /etc/init.d/ssh restart

  • Tiếp theo quý khách giữ kết nối hiện tại và mở thêm một kết nối mới sử dụng key tới Server/VPS với port 2222 để kiểm tra.

2.2. Không chạy các ứng dụng dưới quyền root

Để đảm bảo an toàn, quý khách không nên chạy các dịch vụ hoặc ứng dụng với quyền root trên Server/VPS. Bởi vì khi ứng dụng bị dính lỗi bảo mật thì hacker có thể chiếm quyền toàn bộ Server/VPS. Ví dụ, để kiểm tra apache đang được chạy với quyền của user nào, quý khách thực hiện các bước sau:

  • Kiểm tra các biến UserGroup trong file cấu hình httpd.conf, ví dụ:

User nobody
Group nobody

  • Như vậy apche đang được chạy với quyền của user “nobody”. Ta có thể kiểm tra thêm bằng cách chạy lệnh sau:

# ps aux | grep apache

nobody50360.01.3 123268 28432 ?S10:150:00 /usr/local/apache/bin/httpd -k start -DSSL
nobody50370.01.3 123268 28412 ?S10:150:00 /usr/local/apache/bin/httpd -k start -DSSL
nobody50380.01.3 123268 28420 ?S10:150:00 /usr/local/apache/bin/httpd -k

Đối với mỗi ứng dụng đều có phần cấu hình user thực thi, do đó quý khách cần phải luôn đảm bảo ứng dụng của mình chạy với user thường (non-root).

2.3. Chặn các IP quốc tế

Để thực hiện chặn toàn bộ IP từ một số quốc gia thường xuyên tấn công Server/VPS hoặc dò mật khẩu quý khách thực hiện như sau:

  • Thực hiện cài đặt CSF

# wget https://download.configserver.com/csf.tgz

# tar -xzf csf.tgz

# cd csf & ./install.sh

  • Cài đặt IPSET

Đối với hệ điều hành dòng CentOS/Redhat
# yum install ipset

Đối với hệ điều hành dòng Debian/Ubuntu
# apt-get update && apt-get install ipset

  • Thực hiện cấu hình CSF

Mở file /etc/csf/csf.conf và sửa các dòng như sau:

TESTING = “0”
LF_SSHD = “15”
LF_FTPD = “30”
LF_IPSET = “1”
DENY_IP_LIMIT = “200”
LF_ALERT_TO = “[email protected]
PT_USERMEM = “5000”
CC_DENY = “CN,HK”

Tại đây chúng ta thực hiện chặn toàn bộ IP từ Trung Quốc và Hồng Kông. Để chặn IP từ một quốc gia nào quý khách xem mã code quốc gia tại https://www.countryipblocks.net/allocation-of-ip-addresses-by-country.php và thêm vào sau dòng CC_DENY. Ngoài ra quý khách lưu ý thay thế email [email protected] bằng email của quý khách.

  • Thực hiện khởi động lại CSF firewall

# csf -r

2.4. Update kernel và các gói dịch vụ lên phiên bản mới nhất

Để đảm bảo kernel và các gói dịch vụ luôn chạy các phiên bản mới nhất trên Server/VPS quý khách thực hiện chạy các lệnh như sau

  • Đối với hệ điều hành dòng CentOS/Redhat

# yum update

  • Đối với hệ điều hành dòng Debian/Ubuntu

# apt-get update && apt-get upgrade

Sau khi thực hiện update các gói dịch vụ và kernel quý khách thực hiện reboot lại Server/VPS lần cuối để các update có hiệu lực.

Leave a Reply