testt0001111

Estimated reading: 7 minutes 10 views

I. Cập nhập hệ điều hành

  • Các bản cập nhập có thể bao gồm các bản sửa lỗi, tính năng mới và cải tiến bảo mật, cải thiện hiệu suất …
sudo apt-get update -y && sudo apt-get upgrade -y
sudo apt-get autoremove
sudo apt-get autoclean

II. Sử dụng tài khoản non-root

 sudo adduser test  # Tạo tk với tên user là test
 sudo usermod -aG sudo test # add user test vào nhóm sudo
 sudo su - test # đăng nhập user test
 whoami

III. Đổi Port máy chủ Linux

sudo nano /etc/ssh/sshd_config #sửa đổi file sshd_config
  • Tìm đến dòng chứa thông tin Port (mặc định Port 22) Thay thế số 22 bằng bất kỳ giá trị nào từ 1024 đến 65536, xóa biểu tượng # trước Port nếu có
  • Lưu và thóat file sshd_config
  • Khởi động lại dịch vụ SSH
sudo systemctl restart ssh
  • Cấu hình lại tường lửa
sudo ufw allow <PORT_NUMBER>/tcp
sudo ufw reload
  • Test lại SSH có hoạt động với port mới không
ssh test@server.public.ip.address -p <PORT_NUMBER>

IV. Sử dụng SSH keys

Bạn có thể chọn 1 trong 2 kiểu mã hóa dưới này

# Mã hóa RSA
  ssh-keygen -t rsa -b 4096
# Mã Hóa ed25519
 ssh-keygen -t ed25519
  • Chuyển khóa RSA tới server. Cập nhật lại tên khóa bằng lệnh
ssh-copy-id -i $HOME/.ssh/<keyname>.pub test@server.public.ip.address
  • Đăng nhập vào máy chủ với tài khoản test
 ssh test@server.public.ip.address
  • Cấm tài khoản root đăng nhập.
 sudo nano /etc/ssh/sshd_config
     - Tìm đến dòng ChallengeResponseAuthentication và sửa thành no
     - Tìm đến dòng PasswordAuthentication và sửa thành no
     - Tìm đến dòng PermitRootLogin và sửa thành prohibit-password
     - Tìm đến dòng PermitEmptyPasswords và sửa thành no
  • Khởi động lại dịch vụ SSH
sudo systemctl restart ssh
  • Đăng nhập lại tài khoản với khóa SSH
 ssh -i <path to your SSH_key_name> cardano@server.public.ip.address -p <PORT_NUMBER>

V. Vô hiệu hóa tài khoản root

# Để vô hiệu hóa tài khoản root đặng nhập, bạn sử dụng tùy chọn -l như sau:
sudo passwd -l root
# Khi cần cho phép đăng nhập trở lại, hãy sử dụng tùy chọn -u như sau:
sudo passwd -u root

VI. Xác thực đa yếu tố cho SSH

1. Cài đặt

# Nâng cấp các gói phần mềm có sẵn
sudo apt-get update 
# Cài đặt module Google Authentical
sudo apt-get install libpam-google-authenticator 
# Run App
google-authenticator
# Sau khi bạn chạy lệnh, ứng dụng sẽ hỏi một số câu hỏi.
-  Do you want authentication tokens to be time-based (y/n) Y
-  Do you want me to update your "~/.google_authenticator" file (y/n) Y
-  Do you want to disallow multiple uses of the same authentication
token? This restricts you to one login about every 30s, but it increases
your chances to notice or even prevent man-in-the-middle attacks (y/n) Y
-  By default, a new token is generated every 30 seconds by the mobile app.
In order to compensate for possible time-skew between the client and the server,
we allow an extra token before and after the current time. This allows for a
time skew of up to 30 seconds between the authentication server and client. Suppose you
experience problems with poor time synchronization. In that case, you can increase the window
from its default size of 3 permitted codes (one previous code, the current
code, the next code) to 17 permitted codes (the eight previous codes, the current
code, and the eight next codes). This will permit a time skew of up to 4 minutes
between client and server.
Do you want to do so? (y/n) N
-  If the computer that you are logging into isn't hardened against brute-force
login attempts, you can enable rate-limiting for the authentication module.
By default, this limits attackers to no more than three login attempts every 30s.
Do you want to enable rate-limiting (y/n) Y

2. Cấu Hình sshd để sử dụng 2FA

# Tạo bản sao lưu sshd -sshd_config
sudo cp /etc/pam.d/sshd /etc/pam.d/sshd.bak
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
#Chỉnh sửa sshd
sudo nano /etc/pam.d/sshd
# Thêm dòng sau vào cuối tập tin
# Standard Un*x password updating.
@include common-password
auth required pam_google_authenticator.so nullok
auth required pam_permit.so
# Chỉnh sửa sshd_config
sudo nano /etc/ssh/sshd_config
# Change to yes to enable challenge-response passwords (beware issues with
# some PAM modules and threads)
ChallengeResponseAuthentication yes
# Lưu và đóng tệp, sau đó khởi động lại SSH để tải lại các tệp cấu hình
sudo systemctl restart sshd.service
  • Để kiểm tra xem mọi thứ có hoạt động hay không, hãy mở thiết bị đầu cuối khác và thử đăng nhập qua SSH. Điều rất quan trọng là bạn phải duy trì phiên SSH hiện tại của mình. Nếu không bạn sẽ bị khóa khỏi máy chủ của mình

3. Làm cho ssh nhận biết 2FA.

sudo nano /etc/ssh/sshd_config
# Thêm dòng sau vào cuối tập tin
AuthenticationMethods publickey,password publickey,keyboard-interactive
  • Tiếp theo, mở lại tệp cấu hình sshd
sudo nano /etc/pam.d/sshd

tìm dòng @include common-auth và thêm # vào đầu dòng

# Standard Un*x authentication.
#@include common-auth
# Lưu và đóng tệp, sau đó khởi động lại SSH.
sudo systemctl restart sshd.service

Bây giờ hãy thử đăng nhập lại vào máy chủ bằng một phiên/cửa sổ đầu cuối khác. Không giống như lần trước, SSH sẽ yêu cầu mã xác minh của bạn

Tham khảo thêm tại:

https://www.digitalocean.com/community/tutorials/how-to-set-up-multi-factor-authentication-for-ssh-on-ubuntu-18-04#step-3-making-ssh-aware-of-mfa

VII. Cài đặt Fail2ban

# Cài đặt
sudo apt-get install fail2ban -y
# Chỉnh sửa config
sudo nano /etc/fail2ban/jail.local
#Cấu hình bộ lọc

[sshd]

enabled = true port = 2222 filter = sshd bantime = 3600m logpath = /var/log/auth.log maxretry = 3 # whitelisted IP addresses phân biệt bởi dấu cách ignoreip = ….duckdns.org ….duckdns.org xxx.duckdns.org xxx.xxx.xxx.xxyz

# Tạo services
sudo systemctl enable fail2ban
# Khởi động lại
sudo systemctl restart fail2ban
# Check Status
sudo systemctl status fail2ban

Xóa Ip bị Ban

sudo iptables -L -n
sudo fail2ban-client status
fail2ban-client set YOURJAILNAMEHERE (vi du sshd) unbanip **IP**
sudo fail2ban-client set sshd unbanip xxx.xxx.xxx.xxx

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Share this Doc

testt0001111

Or copy link

CONTENTS

Trefi

Proudly powered by WordPress