• Tools Online
    • Tạo CSR
    • SSL Checker
    • DNS Checker
    • View IP
    • Whois Domain
  • Diễn Đàn Hỏi Đáp
  • Profile
  • Ủng hộ
Đỗ Trung Quân
Banner
  • Home
  • Hướng dẫn chung
  • Linux
    • Linux Tricks
    • Distro Linux
      • CentOS/RedHat
      • CloudLinux
      • Ubuntu/Debian
      • AlmaLinux
      • Rocky Linux
    • WebServer
      • NGINX
      • Apache
      • LiteSpeed
      • Reverse Proxy
    • Virtualization
      • KVM
      • Proxmox
      • OpenVZ
    • Monitoring Tool
      • Prometheus
      • Zabbix
    • DevOPS
      • Ansible
      • Docker
      • Kubernetes
      • Jenkins
      • Cloud
        • GCP
        • AWS
        • Azure
    • Mail Server
    • Database
    • VPN
  • ControlPanel
    • cPanel
    • DirectAdmin
    • aaPanel
    • CyberPanel
    • VestaCP
    • FastPanel
    • CloudPanel
    • HestiaCP
    • Script VPS
  • DNS
    • Domain
  • CMS
    • WordPress
    • Laravel
  • Security
    • SSL
    • Firewall
  • Dịch Vụ
    • Thiết kế web
    • Dịch vụ cài đặt tối ưu VPS/Server
    • Cài đặt WordPress & Tối ưu WordPress
    • Dịch vụ xử lý mã độc trên WordPress
    • Xác minh cài đặt SSL
    • Dich vụ Backlink
  • Liên Hệ

3 bước hạn chế Brute Force SSH hiệu quả

by ĐỖ TRUNG QUÂN 4 Tháng Mười Một, 2022
written by ĐỖ TRUNG QUÂN Published: 4 Tháng Mười Một, 2022Last Updated on 14 Tháng Ba, 2023 0 comment 114 views

NỘI DUNG

  • Tấn công Brute Force là gì?
  • 3 bước hạn chế Brute Force
    • 1. Thay đổi Port SSH
      • Bước 1: Đổi port SSH
      • Bước 2: Mở port trên Firewall
      • Bước 2: Khởi động dịch vụ SSH
    • 2. Sử dụng SSH Key, tắt SSH Password Root
      • Bước 1: Tạo SSH Key
        • 2.1 Sử dụng Putty trên Windows
        • 2.2 Sử dụng Linux/MacOS
      • Bước 2: Hướng dẫn sử dụng SSH Key
    • Bước 3: Tắt Login Password
    • 3. Cài đặt CSF
      • Cài đặt Dependencies
      • Cài đặt CSF Firewall

Trước tiên hãy cùng mình tìm hiểu qua Brute Force là gì?

hạn chế Brute Force SSH

Tấn công Brute Force là gì?

Brute Force là một loại tấn công mạng, khi đó bạn sử dụng phần mềm, sau đó xoay vòng các ký tự khác nhau, kết hợp chúng để tạo ra một mật khẩu đúng. Phần mềm Brute Force Attack password cracker đơn giản sẽ sử dụng tất cả các kết hợp có thể để tìm ra mật khẩu máy tính hoặc máy chủ mạng.

Phương pháp tấn công này vô cùng đơn giản mà không phải sử dụng bất kì kỹ thuật thông minh nào. Dựa trên cơ sở là toán học và xoay vòng số nên để tấn công hiệu quả sẽ cần phải tốn một khoảng thời gian để mở mật khẩu. Số thời gian chỉ cần tính bằng giây và nhanh hơn rất rất nhiều lần so với bộ óc của con người.

Phương pháp tấn công Brute Force tốt hay xấu còn phụ thuộc vào mục đích mà người tấn công muốn hướng tới là gì. Trong trường hợp sử dụng vào mục đích xấu thì tất nhiên rồi, chúng sẽ cố hack vào sâu bên trong máy chru của bạn, chiếm quyền quản trị viên.

Còn trong trường hợp nó được sử dụng vào mục đích tốt thì người thực hiện có thể đang muốn kiểm tra hệ thống bảo mật SSL có được tốt hay không, hoặc cũng có trường hợp là người dùng quên mật khẩu đăng nhập nên họ đã thông qua Brute Force để lấy lại được mật khẩu.

3 bước hạn chế Brute Force

1. Thay đổi Port SSH

Việc đổi Port SSH là việc hết sức cần thiết, mặc định Port SSH sẽ là 22. Với port này rất dễ scan và mình khuyên các bạn sau khi thiết lập máy chủ hãy lập tức đổi Port ngay.

Cách thức đổi Port rất đơn giản bạn hãy thực hiện như sau

Bước 1: Đổi port SSH

Bạn mở file sshd_config sau đó tìm đến dòng #Port 22, bỏ comment và sửa lại Port mà bạn mong muốn

vi /etc/ssh/sshd_config
CleanShot 2022 11 04 at 08.10.42

Bước 2: Mở port trên Firewall

Tiếp theo bạn cần mở Port trên Firewall để hoạt động. Vì nếu bạn không mở port thì bạn sẽ không thể SSH vào được nữa.

  • Đối với Firewalld
firewall-cmd --permanent --add-port=2022/tcp
firewall-cmd --reload
  • Đối với UFW
ufw allow 2022/tcp
  • Đối với iptables
iptables -I INPUT -p tcp --dport 2022 -j ACCEPT
  • Đối với CSF

Đối với CSF bạn mở file csf.conf tìm đến dòng TCP_IN và nhập port cần mở.

vi /etc/csf/csf.conf
CleanShot 2022 11 04 at 08.18.29

Sau đó thực hiện khởi động lại CSF với lệnh sau

csf -r

Bước 2: Khởi động dịch vụ SSH

systemctl restart sshd

2. Sử dụng SSH Key, tắt SSH Password Root

Bước 1: Tạo SSH Key

SSH Key bạn có thể hiểu đơn giản là một kiểu chứng thực đối chiếu giữa người dùng (Private key) và máy chủ server/vps (Public key). Public key và Private key có mối quan hệ chặt chẽ với nhau để nhận diện mở khóa. Khi bạn tạo SSH Key sẽ có 2 file bao gồm là Public Key, file này bạn sẽ đưa lên máy chủ server/vps còn Private key bạn sẽ để ở máy tính cá nhân. Nói một cách dễ hiểu hơn Public key chính là ổ khóa còn Private key chính là chìa khóa và để mở được ổ khóa thì phải đúng chìa khóa thì mới mở được.

2.1 Sử dụng Putty trên Windows

Với hệ điều hành Windows mình giới thiệu đến bạn một phần mềm SSH mạnh mẽ nhất là PuTTY, một phần mềm đông đảo ngưởi dùng sử dụng để SSH và tạo SSH KEY, mình để link bên dưới để bạn tải về nhé.

  • Link download PuTTY

Sau khi tải xong và cài đặt bạn mở PuTTY Gen lên để tạo SSH key nhé. Tại đây bạn chọn Generate để tạo.

Screenshot 2020 12 22 at 21.30.18@2x 768x771 1

Tiếp đến bạn hãy Di chuyển con chuột vào khung trống này cho đến khi tạo xong ssh key.

Screenshot 2020 12 22 at 21.31.24@2x 768x774 1

Khi xuất hiện như ảnh bên dưới là đã thành công. Nhưng bạn hãy thực hiện một bước nữa là đặt passphrase để mở private key nhé. Bạn nhập vào passwd tự chọn vào khung Key passphase và Confirm passphase. Sau khi nhập hoàn tất bạn click vào Save private key và save public key để lưu lại ở máy cá nhân.

Screenshot 2020 12 22 at 21.32.07@2x 768x765 1
2.2 Sử dụng Linux/MacOS

Với Linux hoặc MacOS đều thuộc nhóm Hệ điều hành Unix do đó cách thức và lệnh tạo cũng sẽ tương đương giống nhau. Và để thực hiện được bạn hãy mở cửa sổ Terminal lên sau đó thực hiện nhập vào lệnh sau ssh-keygen -t rsa để tạo chuổi Public key và Private key.

cd ~/.ssh
ssh-keygen -t rsa
CleanShot 2022 11 04 at 08.33.06

Chú thích trong ảnh

  • ssh-keygen -t rsa: Lệnh để tạo
  • Enter file in which to save the key: Đặt tên cho file ssh key
  • Enter passphrase (empty for no passphrase): Đặt mật khẩu để mở khóa cho ssh key
  • Enter same passphrase again: Nhập lại mật khẩu để xác nhận.

Sau khi đã có Key bạn hãy upload PublicKey lên Server

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

Khi tạo xong file authorized_keys bạn hãy mở file này lên với lệnh sau vi ~/.ssh/authorized_keys và copy toàn bộ chuổi ký tự public key đã tạo vào nhé.

Lưu ý: Để ssh key hoạt động bạn cần phải tắt SElinux. Nếu SElinux đang bật thì ssh key sẽ không hoạt động được.

Bước 2: Hướng dẫn sử dụng SSH Key

  • Sử dụng SSH Key với PuTTY

Bạn mở PuTTY lên sau đó click vào SSH => Auth. Tiếp đến bạn clck vào Browse để tìm đến file Private key đã tạo và lưu ở bước hướng dẫn trên. Khi đã trỏ được đến file Private và bạn thực hiện SSH thì bạn sẽ nhận được yêu cầu nhập vào Passphrase, bạn hãy nhập Passphrase để hoàn tất bước SSH nhé.

putty auth
  • Sử dụng SSH Key với Linux/MacOS

Với Linux/MacOS để sử dụng SSH key bạn mở Terminal lên và sử dụng lệnh sau để SSH.

 ssh -i duong_dan_file_private_key root@ip_may_chu -p nhap_vao_port_ssh

Bước 3: Tắt Login Password

Sau khi đã hoàn tất việc SSH với SSH Key thì bạn thực hiện tắt Login Password. Sở dĩ mình không tắt ngay từ đầu vì sẽ có trường hợp bạn cấu hình chưa đúng và sẽ không SSH vào được nữa.

vi /etc/ssh/sshd_config
CleanShot 2022 11 04 at 08.55.32

Sau đó thực hiện khởi động lại sshd

systemctl restart sshd

3. Cài đặt CSF

CSF (ConfigServer Security & Firewall) là tường lửa Stateful Packet Inspection (SPI) mã nguồn mở phổ biến, giúp bảo vệ hệ thống sử dụng hệ điều hành Linux. Ngoài các tính năng cơ bản của Firewall là filter packet in/out thì CSF còn hỗ trợ ngăn chặn các cuộc tấn công như Brute Force, DDoS Attack.

CSF có thể cấu hình block/restrict port để giới hạn port truy cập. Đồng thời, CSF duy trì danh sách whitelist và blacklist để kiểm soát truy cập. CSF cũng cung cấp Connection Limiting để giới hạn số lượng kết nối, Rate Limitng để giới hạn tần số truy cập, Real Time Block Liste và Port Scan Tracking (chống Scan Port).

Cài đặt Dependencies

  • Đối với CentOS 7
yum -y install wget perl unzip net-tools perl-libwww-perl perl-LWP-Protocol-https perl-GDGraph -y
  • CENTOS, RHEL 8
dnf -y install @perl
  • UBUNTU & DEBIAN
apt-get install perl wget unzip

Cài đặt CSF Firewall

Download CSF vào thư mục /tmp của server bằng lệnh wget, giải nén file bằng lệnh tar và cuối cùng install CSF bằng cách chạy script ./install.sh.

cd /tmp
wget https://download.configserver.com/csf.tgz
tar -zxvf csf.tgz
cd csf
./install.sh

Để cài đặt CSF cho cPanel hoặc cài đặt CSF cho Directadmin, các bạn cũng chỉ cần thực hiện các bước tương tự như trên. Việc chạy file ./install.sh sẽ tự động nhận biết server có đang sử dụng cPanel hoặc Directadmin hay không và sử dụng tiến trình cài đặt tương ứng.

  • Xem thêm các bước cấu hinh CSF tại đây

Qua các bước trên hy vọng sẽ giúp bạn hạn chế Brute Force SSH hiệu quả và an toàn.

5/5 - (3 bình chọn)

Hãy tham gia Nhóm Hỗ Trợ VPS Hosting để cùng học hỏi và trao đổi kiến thức nhé. Chúc bạn thành công.

Brute Forcessh
Share 1 FacebookTwitterPinterestTelegramEmail
ĐỖ TRUNG QUÂN

Mình tên là Đỗ Trung Quân, hiện đang công tác tại AZDIGI với vị trí là SysAdmin. Mình đam mê viết Blog. Vì viết Blog giúp mình trau dồi được nhiều kỹ năng. Học hỏi thêm nhiều kiến thức mới, từ đó mình có thể chia sẻ đến các bạn các bài viết tài liệu bổ ích hơn. Hiện tại mình là admin của Blog dotrungquan.info - linuxcanban.com - it.info.vn. Mới đây mình có tạo ra một Nhóm Hỗ Trợ VPS Hosting với mục đích gây dựng một cộng đồng nhỏ để mọi người trao đổi kinh nghiệm, kiến thức quản trị VPS. Các thủ thuật, mẹo vặt khi sử dụng VPS. Rất mong nhận được sự ủng hộ của các bạn.

Bạn sẽ thích bài viết này

Hướng dẫn tạo swap trên Linux

15 Tháng Ba, 2023

Lệnh trace và cách sử dụng lệnh trace...

25 Tháng Hai, 2023

Hướng dẫn kiểm tra dịch vụ đang chạy...

21 Tháng Hai, 2023

SELinux là gì Cách tắt SELinux

19 Tháng Hai, 2023

Sử dụng lệnh rm một cách an toàn

19 Tháng Hai, 2023

Lệnh kill và pkill là gì? Hướng dẫn...

19 Tháng Hai, 2023

Cách sử dụng lệnh ab để kiểm tra...

19 Tháng Hai, 2023

Tìm hiểu về cấu trúc thư mục trong...

17 Tháng Hai, 2023

Hướng dẫn xử lý Lỗi 400: invalid_request Rclone

17 Tháng Hai, 2023

Hướng dẫn cài đặt ImageMagick và hỗ trợ...

16 Tháng Hai, 2023
Theo dõi
Đăng nhập
Thông báo của
guest

guest

0 Comments
Phản hồi nội tuyến
Xem tất cả bình luận

Nhóm Hỗ Trợ Hosting VPS

Nhóm Hỗ Trợ VPS Hosting

Tin Khuyến Mãi

Thông tin về tôi

Thông tin về tôi

Mình tên là Đỗ Trung Quân, hiện đang công tác tại AZDIGI với vị trí là SysAdmin. Mình đam mê viết Blog. Vì viết Blog giúp mình trau dồi được nhiều kỹ năng. Học hỏi thêm nhiều kiến thức mới, từ đó mình có thể chia sẻ đến các bạn các bài viết tài liệu bổ ích hơn.

Facebook Instagram Youtube Telegram

BÀI VIẾT PHỔ BIẾN

  • 1

    Hướng dẫn chuyển website WordPress bằng All in one Migration

  • 2

    Sử dụng Plugin Query Monitor để gỡ lỗi và tăng hiệu suất

  • 3

    Khắc phục thông báo “utf8mb4 yêu cầu thư viện mới hơn” trên WordPress

  • 4

    Sửa lỗi WordPress “Post-processing of the image failed likely because the server is busy”

Phản hồi gần đây

  • Minh trong Thiết lập nhiều website sử dụng chung một tài khoản MySQL
  • Lê Văn trong Hướng dẫn trỏ tên miền về Blogspot (blogger)
  • Quân trong Hướng dẫn cài đặt và cấu hình plugin W3 Total Cache cho website WordPress
  • Học Luật trong Sử dụng RSYNC để Clone một VPS hoàn chỉnh

Top Commentators

  • Anh Quân Anh Quân (133)
  • nghĩa nghĩa (8)
  • Bùi Đức Hiệp Bùi Đức Hiệp (7)
  • David Do David Do (7)
  • Bamboo Bamboo (5)
  • Bình Minh Bình Minh (5)
  • Cai Việt Hoàng Cai Việt Hoàng (5)
  • Duc Thuan Duc Thuan (5)

BẠN BÈ & ĐỐI TÁC

Thạch Phạm | aaPanel | Linux Căn Bản | Bảo Trần | Trương Quốc Cường | Đàm Trung Kiên | CaiSSL.com

Bạn được quyền sao chép lại nội dung trên website Đỗ Trung Quân, miễn là có dẫn nguồn.

Hosting/VPS được tài trợ bởi AZDIGI - Nhà cung cấp Server Hosting tốt nhất hiện nay

AZDIGI - Nhà cung cấp Server Hosting tốt nhất hiện nay


Back To Top
Đỗ Trung Quân
  • Home
  • Hướng dẫn chung
  • Linux
    • Linux Tricks
    • Distro Linux
      • CentOS/RedHat
      • CloudLinux
      • Ubuntu/Debian
      • AlmaLinux
      • Rocky Linux
    • WebServer
      • NGINX
      • Apache
      • LiteSpeed
      • Reverse Proxy
    • Virtualization
      • KVM
      • Proxmox
      • OpenVZ
    • Monitoring Tool
      • Prometheus
      • Zabbix
    • DevOPS
      • Ansible
      • Docker
      • Kubernetes
      • Jenkins
      • Cloud
        • GCP
        • AWS
        • Azure
    • Mail Server
    • Database
    • VPN
  • ControlPanel
    • cPanel
    • DirectAdmin
    • aaPanel
    • CyberPanel
    • VestaCP
    • FastPanel
    • CloudPanel
    • HestiaCP
    • Script VPS
  • DNS
    • Domain
  • CMS
    • WordPress
    • Laravel
  • Security
    • SSL
    • Firewall
  • Dịch Vụ
    • Thiết kế web
    • Dịch vụ cài đặt tối ưu VPS/Server
    • Cài đặt WordPress & Tối ưu WordPress
    • Dịch vụ xử lý mã độc trên WordPress
    • Xác minh cài đặt SSL
    • Dich vụ Backlink
  • Liên Hệ
wpDiscuz