Thiết lập ban đầu cho server chạy Centos 7

2 năm trước

Thiết lập ban đầu cho server chạy Centos 7

 

Khi khởi tạo bất cứ server nào , bạn cần thiết lập một số bước cấu hình cơ bản. Điều này sẽ tăng tính bảo mật và tính khả dụng cho server của bạn và cung cấp cho bạn một nền tảng vững chắc cho những thao tác tiếp theo.

 

Bước 1 — Root Login

 

Để đăng nhập vào server của bạn, bạn sẽ cần phải biết public IP address của server. Và mật khẩu cho account của root user. Nếu bạn chưa đăng nhập vào server của bạn, hãy xem cách kết nối SSH tới Cloud Server của ViCloud.

Nếu chưa sẵn sàng để kết nối tới server, tiếp tục log in vào root user với lệnh:

ssh root@SERVER_IP_ADDRESS

 

Hoàn tất quá trình login bằng cách chấp nhận cảnh báo về tính xác thực của server nếu nó xuất hiện, sau đó cung cấp chứng thực quyền root của bạn (password hoặc private key). Nếu đây là lần đầu tiên bạn login vào server với một mật khẩu, bạn cũng sẽ được nhắc nhở để thay đổi mật khẩu gốc

Bước 2 — Sơ lược về root

Root user là user có quyền admin quản lí với quyền truy cập sâu vào hệ thống. Với những đặc quyền ấy, bạn phải rất cẩn thận vì những thay đổi với quyền root có thể gây ra sự ảnh hưởng đáng kể đến hệ thống.

Bước tiếp theo là để user thay thế với quyền hạn thấp hơn cho công việc. Bạn sẽ được học cách sử dụng những đặc quyền mạnh hơn sau này, ở đây ta chỉ tạo ra một non-root user với quyền sudo.

 

Bước 2 — Tạo user mới

 

Khi đăng nhập với quyền  root, ta sẽ tạo ra một acccount khác để sử dụng từ giờ trở đi.

Ví dụ này thêm một user mới với tên demo với lệnh:

adduser demo

 

Tạo password bằng:

passwd demo

 

Nhập vào một mật khẩu đủ mạnh, sau đó xác nhận lại.

Bước 3 — Cấp quyền root

 

User mới được tạo đã có thể thực hiện những truy cập thông thường. Tuy nhiên đôi khi ta sẽ phải thực hiện những lệnh với quyền root mà nó không thực hiện được.

Để tránh phải log out và log in lại vào root user, bạn có thể thiết lập "superuser" hay đặc quyền root cho user vừa tạo. Điều này sẽ cho phép user đó chạy các lệnh với quyền admin bằng cách đặt từ khóa sudo phía trước lệnh.

Với quyền root, chạy lệnh này để thêm user vừa tạo vào "whell" group ( nhóm những người dùng được cấp quyền dùng lệnh sudo )

gpasswd -a demo wheel
 

 

Bước tiếp theo trong việc bảo mật server của bạn là để thiết lập xác thực public key cho user của bạn. Thiết lập này sẽ tăng tính bảo mật của server bằng cách yêu cầu xác thực một private SSH key mỗi khi login.

Tạo Key Pair

Nếu chưa có một  SSH key pair ( gồm một public và một private key) ,bạn cần khởi tạo nó. Nếu đã có, hãy chuyển sang bước Copy Public Key.

Nhập lệnh sau vào terminal thuộc local machine (chẳng hạn máy tính) của bạn:

ssh-keygen 

 

Giả sử tên local user của bạn là "localuser", output sẽ như sau:

ssh-keygen output
Generating public/private rsa key pair. 
Enter file in which to save the key (/Users/localuser/.ssh/id_rsa):
 

Bấm Enter để tiếp tục

Tiếp theo, nhập và một mật khẩu để bảo mật bộ key hoặc bỏ trống .

Lưu ý: Nếu để trống, bạn có thể dùng private key để log in mà không cần nhập mật khẩu. Nếu nhập vào mật khẩu, bạn sẽ cần cả mật khẩu và private key. Sử dụng mật khẩu sẽ an toàn hơn, nhưng cả 2 cách đều có ưu điểm của nó và đều an toàn hơn việc sử dụng mật khẩu thông thường.

Quá trình trên tạo ra một private key id_rsa, và một public key  id_rsa.pub,trong thư mục .ssh  trong đường dẫn gốc của localuser. Hãy bảo mật private key của bạn!

 

Sau khi khởi tạo, hãy copy public key của bạn vào server mới. Ở đây trình bày 2 cách để thực hiện điều này

Chú ý: Phương thức ssh-copy-id sẽ không hoạt động trên ViCloud nếu SSH key đã được thêm vào khi tạo Cloud Server, vì ViCloud vô hiệu hóa việc xác thực mật khẩu, và ssh-copy-id dựa vào xác thực mật khẩu để copy key.

Nếu bạn đã thêm vào một SSH key trong lúc tạo Cloud Server, hãy sử dụng cách 2.

Cách 1: Dùng ssh-copy-id

 

Nếu local machine của bạn đã cài đặt ssh-copy-id, bạn có thể dùng nó để thêm public key vào bất cứ user nào bạn có quyền truy cập đến.

Chạy ssh-copy-id bằng cách nhập vào tên user và địa chỉ IP của server bạn muốn cài key vào như sau ( chú ý phần hightlight):

ssh-copy-id demo@SERVER_IP_ADDRESS

 

Sau  khi cung cấp mật khẩu, public key của bạn sẽ được thêm vào file .ssh/authorized_keys. Private key đi kèm với nó đã có thể dùng để login vào server.

Cách 2: Cài một cách thủ công

 

Giả sử bạn đã tạo một SSH key pair, chạy những lệnh sau ở terminal thuộc local machine của bạn để  in ra public key (id_rsa.pub):

cat ~/.ssh/id_rsa.pub

Public key sẽ được hiển thị:

id_rsa.pub contents
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDBGTO0tsVejssuaYR5R3Y/i73SppJAhme1dH7W2c47d4gOqB4izP0+fRLfvbz/tnXFz4iOP/H6eCV05hqUhF+KYRxt9Y8tVMrpDZR2l75o6+xSbUOMu6xN+uVF0T9XzKcxmzTmnV7Na5up3QM3DoSRYX/EP3utr2+zAqpJIfKPLdA74w7g56oYWI9blpnpzxkEd3edVJOivUkpZ4JoenWManvIaSdMTJXMy3MtlQhva+j9CgguyVbUkdzK9KKEuah+pFZvaugtebsU+bllPTB0nlXGIJk98Ie9ZtxuY3nCKneB+KjKiXrAvXUPCI9mWkYS/1rggpFmu3HbXBnWSUdf localuser@machine.local
 

Copy Pubkey vào clipboard. Tiếp theo ta sẽ thêm nó vào một file trong thư mục gốc của user để kích hoạt.

Trên server, với root user, dùng lệnh sau để tạm thời chuyền tới user có tên "demo"

su - demo

Tạo đường dẫn có tên .ssh và cấm truy cập vào nó với lệnh:

mkdir .ssh 
chmod 700 .ssh 

 

 

Mở file authorized_keys trong .ssh  bằng một trình soạn thảo, ở đây dùng vi :

vi .ssh/authorized_keys 

 

Gõ i để bắt đầu edit  rồi paste public key vào. Xong đó ESC để quay lại.

Nhập lệnh :x rồi ENTER để lưu file và thoát.

Cấm truy cập tới file authorized_keys bằng lệnh:

chmod 600 .ssh/authorized_keys 

 

Quay lại root user:

exit 

 

Vậy là xong.

Tiếp theo hãy tăng tính bảo mật của hệ thống bằng cách vô hiệu hóa những xác thực bằng mật khẩu.

 

Bước 5 — Cấu hình SSH Daemon

Để tăng thêm tính bảo mật của server, ta sẽ điều chỉnh cấu hình của SSH daemon ( phần mềm cho phép truy cập có điều khiển ) để từ chối những SSH access đến root account.

Mở file cấu hình sau với quyền root:

vi /etc/ssh/sshd_config 

 

Ở đây có tùy chọn ngăn chặn root login qua SSH. Cài đặt này sẽ an toàn hơn, vì kể từ bây giờ chúng ta có thể truy cập vào máy chủ qua user account thông thường và chỉ thêm đặc quyền cho nó khi cần thiết.

Tìm đến dòng:

/etc/ssh/sshd_config (before)
#PermitRootLogin yes

Gợi ý: Để tìm kiếm, gõ /PermitRoot rồi bấm ENTER

Xóa kí tự "#" ở đầu (dùng tổ hợp phím Shift-x).

Gõ c để chuyển con trỏ đến "yes"

Thay thế "yes" by bằng lệnh cw, rồi gõ "no".

PermitRootLogin no

 Chọn Escape khi edit xong.

Nhập :x rồi ENTER để lưu file và thoát.

Reload SSH

Sau khi cấu hình SSH daemon, reload SSH để hiện thực hóa những thay đổi với lệnh:

systemctl reload sshd 

 

Bây giờ, trước khi bạn log out khỏi server, hãy kiểm tra cấu hình mới của bạn. Không ngắt kết nối cho đến khi bạn xác nhận rằng việc cấu hình đã thành công, và bạn đã có thể đăng nhập vào server.

Nhập lệnh sau trên một terminal: (với SERVER_IP_ADDRESS là địa chỉ IP của server)
 

ssh demo@SERVER_IP_ADDRESS

 

Note:Nếu bạn đang sử dụng PuTTY , chắc chắn rẳng bạn đã update  port number của session để khớp với cấu hình hiện tại

Nhập password để log in vào user.

Nhớ rằng nếu cần thực hiện một lệnh vưới quyền root, gõ sudo ngay trước lệnh:

sudo command_to_run

 

Thoát ra với:

exit 

 

Đến đây bạn đã cài xong một nền tảng cơ bản nhất cho server của mình. Cài đặt thêm những ứng dụng khác bạn cần trên server thông qua những bài hướng dẫn tại đây
 
Cảm ơn đã theo dõi bài viết tại cộng đồng IT ViCloud Community, vui lòng để lại comment bên dưới!