Thứ ba, 04/09/2018 | 00:00 GMT+7

Thiết lập server ban đầu với Debian 9

Khi bạn lần đầu tiên tạo một server Debian 9 mới, có một số bước cấu hình mà bạn nên thực hiện sớm như một phần của cài đặt cơ bản. Điều này sẽ tăng tính bảo mật và khả năng sử dụng cho server của bạn và sẽ tạo cho bạn một nền tảng vững chắc cho các hành động tiếp theo.

Bước một - Đăng nhập với quyền root

Để đăng nhập vào server , bạn cần biết địa chỉ IP công cộng của server . Bạn cũng cần password hoặc, nếu bạn đã cài đặt SSH key để xác thực, thì private key cho account của user gốc . Nếu bạn chưa đăng nhập vào server của bạn , bạn có thể làm theo hướng dẫn của ta về cách kết nối với Server bằng SSH , hướng dẫn chi tiết về quy trình này.

Nếu bạn chưa được kết nối với server của bạn , hãy tiếp tục và đăng nhập với quyền là user gốc bằng lệnh sau (thay thế phần được đánh dấu của lệnh bằng địa chỉ IP công khai của server của bạn):

  • ssh root@your_server_ip

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. Nếu bạn đang sử dụng xác thực password , hãy cung cấp password gốc của bạn để đăng nhập. Nếu bạn đang sử dụng SSH key được bảo vệ bằng passphrase (password bảo vệ) , bạn có thể được yêu cầu nhập passphrase (password bảo vệ) vào lần đầu tiên bạn sử dụng khóa mỗi phiên. Nếu đây là lần đầu tiên bạn đăng nhập vào server bằng password , bạn cũng có thể được yêu cầu thay đổi password gốc .

Về root

User root là admin-user trong môi trường Linux có các quyền rất rộng. Vì các quyền cao của account gốc , bạn không nên sử dụng nó một cách thường xuyên. Do quyền của account gốc có thể thực hiện lệnh rủi ro do vô tình hay cố ý. .

Bước tiếp theo là cài đặt một account user thay thế với phạm vi ảnh hưởng giảm bớt cho công việc hàng ngày. Ta sẽ hướng dẫn bạn cách đạt được các quyền gia tăng lúc bạn cần chúng.

Bước hai - Tạo user mới

Khi bạn đã đăng nhập bằng quyền root , ta chuẩn bị thêm account user mới mà ta sẽ sử dụng để đăng nhập từ bây giờ.

Lưu ý : Trong một số môi trường, gói có tên là unscd có thể được cài đặt theo mặc định để tăng tốc các yêu cầu tới server định danh như LDAP. Phiên bản mới nhất hiện có trong Debian có một lỗi khiến một số lệnh nhất định (như lệnh adduser bên dưới) tạo ra kết quả bổ sung trông giống như sau:

sent invalidate(passwd) request, exiting sent invalidate(group) request, exiting 

Những thông báo này là vô hại, nhưng nếu bạn muốn tránh chúng, bạn có thể an toàn xóa gói unscd nếu bạn không có kế hoạch sử dụng các hệ thống như LDAP cho thông tin user :

  • apt remove unscd

Ví dụ này tạo một user mới có tên là sammy , nhưng bạn nên thay thế nó bằng một tên user bạn muốn :

  • adduser sammy

Bạn sẽ được hỏi một số câu hỏi, bắt đầu với password account .

Nhập một password mạnh và, tùy chọn, điền vào bất kỳ thông tin bổ sung nào nếu bạn muốn. Điều này không bắt buộc và bạn có thể nhấn ENTER trong bất kỳ trường nào bạn muốn bỏ qua.

Bước ba - Cấp quyền quản trị

Bây giờ, ta có một account user mới với các quyền account thông thường. Tuy nhiên, đôi khi ta có thể cần thực hiện các việc admin .

Để tránh phải đăng xuất khỏi user bình thường của ta và đăng nhập lại bằng account gốc , ta có thể cài đặt những gì được gọi là “siêu user ” hoặc quyền gốc cho account thường của bạn . Điều này sẽ cho phép user bình thường của ta chạy các lệnh có quyền quản trị bằng cách đặt từ sudo trước mỗi lệnh.

Để thêm những quyền này cho user mới của ta , ta cần thêm user mới vào group sudo . Theo mặc định, trên Debian 9, user thuộc group sudo được phép sử dụng sudo .

Như là user root , hãy chạy lệnh này để thêm user mới của bạn vào group sudo (thay thế chữ tô đậm với user mới của bạn):

  • usermod -aG sudo sammy

Như vậy, khi đã đăng nhập với quyền là regular user , bạn có thể nhập sudo trước các lệnh để thực hiện các hành động với quyền của user siêu cấp.

Bước 4 - Cài đặt firewall cơ bản

Server Debian có thể sử dụng firewall đảm bảo chỉ cho phép các kết nối đến một số dịch vụ nhất định. Mặc dù firewall iptables được cài đặt theo mặc định, Debian không thực sự khuyến nghị bất kỳ firewall cụ thể nào. Trong hướng dẫn này, ta sẽ cài đặt và sử dụng firewall UFW để giúp đặt policy và quản lý các ngoại lệ.

Ta có thể sử dụng trình quản lý gói apt để cài đặt UFW. Cập nhật index local để truy xuất thông tin mới nhất về các gói có sẵn và sau đó cài đặt firewall bằng lệnh :

  • apt update
  • apt install ufw

Lưu ý: Nếu server của bạn đang chạy trên DigitalOcean, bạn có thể tùy chọn sử dụng Tường lửa cloud DigitalOcean thay vì firewall UFW. Ta khuyên bạn chỉ nên sử dụng một firewall tại một thời điểm để tránh các luật xung đột có thể khó gỡ lỗi.

Cấu hình firewall cho phép UFW quản lý các bộ luật firewall cho các ứng dụng theo tên. Cấu hình cho một số phần mềm thông thường được đóng gói với UFW theo mặc định và các gói có thể đăng ký cấu hình bổ sung với UFW trong quá trình cài đặt. OpenSSH, dịch vụ cho phép ta kết nối với server của bạn ngay bây giờ, có cấu hình firewall mà ta có thể sử dụng.

Bạn có thể thấy điều này bằng lệnh :

  • ufw app list
Output
Available applications: . . . OpenSSH . . .

Ta cần đảm bảo firewall cho phép kết nối SSH để có thể đăng nhập lại vào lần sau. Ta có thể cho phép các kết nối này bằng lệnh :

  • ufw allow OpenSSH

Sau đó, ta có thể kích hoạt firewall bằng lệnh :

  • ufw enable

Gõ “ y ” và nhấn ENTER để tiếp tục. Bạn có thể thấy rằng các kết nối SSH vẫn được phép bằng lệnh :

  • ufw status
Output
Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6)

tường lửa hiện đang chặn tất cả các kết nối ngoại trừ SSH , nếu bạn cài đặt và cấu hình các dịch vụ bổ sung, bạn cần điều chỉnh cài đặt firewall để cho phép truy cập được chấp nhận. Bạn có thể tìm hiểu một số thao tác UFW phổ biến trong hướng dẫn này .

Bước năm - Bật quyền truy cập bên ngoài cho regular user của bạn

Bây giờ ta có một regular user để sử dụng hàng ngày, ta cần đảm bảo ta có thể SSH trực tiếp vào account .

Lưu ý: Cho đến khi xác minh bạn có thể đăng nhập và sử dụng sudo với user mới của bạn , ta khuyên bạn nên đăng nhập với quyền root . Bằng cách này, nếu bạn gặp sự cố, bạn có thể khắc phục sự cố và thực hiện bất kỳ thay đổi cần thiết nào khi root . Nếu bạn đang sử dụng DigitalOcean Server và gặp sự cố với kết nối SSH gốc của bạn , bạn có thể đăng nhập vào Server bằng DigitalOcean Console .

Quá trình cấu hình quyền truy cập SSH cho user mới của bạn phụ thuộc vào việc account gốc của server của bạn sử dụng password hoặc SSH key để xác thực.

Nếu account root sử dụng xác thực password

Nếu bạn đã đăng nhập vào account gốc của mình bằng password , thì xác thực password được bật cho SSH. Bạn có thể SSH vào account user mới của bạn bằng cách mở một phiên terminal mới và sử dụng SSH với tên user mới của bạn:

  • ssh sammy@your_server_ip

Sau khi nhập password của regular user , bạn sẽ được đăng nhập. Lưu ý , nếu bạn cần chạy một lệnh có quyền quản trị, hãy nhập sudo trước nó như sau:

  • sudo command_to_run

Bạn sẽ được yêu cầu nhập password regular user của bạn khi sử dụng sudo lần đầu tiên mỗi phiên (và định kỳ sau đó).

Để tăng cường bảo mật cho server của bạn, ta thực sự khuyên bạn nên cài đặt SSH key thay vì sử dụng xác thực password . Làm theo hướng dẫn của ta về cách cài đặt SSH key trên Debian 9 để tìm hiểu cách cấu hình xác thực dựa trên khóa.

Nếu account root sử dụng xác thực SSH key

Nếu bạn đã đăng nhập vào account gốc của mình bằng SSH key , thì xác thực password sẽ bị vô hiệu hóa cho SSH. Bạn cần thêm một bản sao của public key local của bạn vào file ~/.ssh/authorized_keys của user mới để đăng nhập thành công.

Vì public key của bạn đã có trong file ~/.ssh/authorized_keys của account gốc trên server , ta có thể sao chép file và cấu trúc folder đó sang account user mới trong phiên hiện có của ta bằng lệnh cp . Sau đó, ta có thể điều chỉnh quyền sở hữu các file bằng lệnh chown .

Đảm bảo thay đổi các phần được đánh dấu của lệnh bên dưới để trùng với tên regular user của bạn:

  • cp -r ~/.ssh /home/sammy
  • chown -R sammy:sammy /home/sammy/.ssh

Bây giờ, hãy mở một phiên terminal mới và sử dụng SSH với tên user mới của bạn:

  • ssh sammy@your_server_ip

Bạn phải đăng nhập vào account user mới mà không cần sử dụng password . Lưu ý , nếu bạn cần chạy một lệnh có quyền quản trị, hãy nhập sudo trước nó như sau:

  • sudo command_to_run

Bạn sẽ được yêu cầu nhập password regular user của bạn khi sử dụng sudo lần đầu tiên mỗi phiên (và định kỳ sau đó).

Bước sáu - Hoàn thành cấu hình tùy chọn

Bây giờ ta đã có cấu hình cơ bản mạnh, ta có thể xem xét một vài bước tùy chọn để giúp hệ thống dễ truy cập hơn. Các phần sau bao gồm một số chỉnh sửa bổ sung tập trung vào khả năng sử dụng.

Cài đặt trang người đàn ông

Debian cung cấp hướng dẫn sử dụng rộng rãi cho phần mềm nhất trong các hình thức của man trang. Tuy nhiên, lệnh man không phải lúc nào cũng được bao gồm theo mặc định trên các cài đặt tối thiểu.

Cài đặt gói man-db để cài đặt lệnh man và database thủ công:

  • sudo apt install man-db

Bây giờ, để xem hướng dẫn sử dụng cho một thành phần, có thể chạy lệnh:

  • man command

Ví dụ, để xem hướng dẫn sử dụng cho lệnh top , hãy nhập:

  • man top

Hầu hết các gói trong repositories Debian bao gồm các trang thủ công như một phần của quá trình cài đặt của chúng.

Thay đổi editor mặc định

Debian cung cấp nhiều editor , một số trình soạn thảo được đưa vào hệ thống cơ sở. Các lệnh có hỗ trợ trình soạn thảo tích hợp, như systemctl edit visudosystemctl edit , chuyển văn bản đến lệnh editor , được ánh xạ tới trình soạn thảo mặc định của hệ thống. Đặt editor mặc định theo sở thích của bạn có thể giúp bạn cấu hình hệ thống của bạn dễ dàng hơn và tránh thất vọng.

Nếu trình soạn thảo bạn muốn không được cài đặt theo mặc định, hãy sử dụng apt để cài đặt nó trước:

  • sudo apt install your_preferred_editor

Tiếp theo, bạn có thể xem mặc định hiện tại và sửa đổi lựa chọn bằng lệnh update-alternatives :

  • sudo update-alternatives --config editor

Lệnh hiển thị một bảng gồm các trình soạn thảo mà nó biết với dấu nhắc thay đổi mặc định:

Output
There are 8 choices for the alternative editor (providing /usr/bin/editor). Selection Path Priority Status ------------------------------------------------------------ * 0 /usr/bin/joe 70 auto mode 1 /bin/nano 40 manual mode 2 /usr/bin/jmacs 50 manual mode 3 /usr/bin/joe 70 manual mode 4 /usr/bin/jpico 50 manual mode 5 /usr/bin/jstar 50 manual mode 6 /usr/bin/rjoe 25 manual mode 7 /usr/bin/vim.basic 30 manual mode 8 /usr/bin/vim.tiny 15 manual mode Press <enter> to keep the current choice[*], or type selection number:

Dấu hoa thị ở cột ngoài cùng bên trái cho biết lựa chọn hiện tại. Để thay đổi giá trị mặc định, hãy nhập số "Lựa chọn" cho trình soạn thảo bạn muốn và nhấn Enter . Ví dụ: để sử dụng nano làm editor mặc định trong bảng trên, ta sẽ chọn 1 :

Output
Press <enter> to keep the current choice[*], or type selection number: 1 update-alternatives: using /bin/nano to provide /usr/bin/editor (editor) in manual mode

Từ bây giờ, trình soạn thảo bạn muốn sẽ được sử dụng bởi các lệnh như systemctl edit visudosystemctl edit hoặc khi lệnh editor được gọi.

Đi đâu từ đây?

Lúc này, bạn đã có một nền tảng vững chắc cho server của bạn . Bạn có thể cài đặt bất kỳ phần mềm nào bạn cần trên server của bạn ngay bây giờ.


Tags:

Các tin trước

Cách phát triển ứng dụng Node.js TCP Server bằng PM2 và Nginx trên Ubuntu 16.04 2018-07-23
Cách thiết lập server VPN IKEv2 với StrongSwan trên Ubuntu 18.04 2018-07-16
Cách cấu hình BIND làm server DNS Mạng riêng trên Ubuntu 18.04 2018-07-06
Sử dụng Bộ định tuyến React 4 với Kết xuất phía server 2018-06-04
server Express cơ bản trong Node.js 2018-05-04
Thiết lập server ban đầu với Ubuntu 18.04 2018-04-27
Tự động thiết lập server ban đầu với Ubuntu 18.04 2018-04-27
Bắt đầu với kết xuất phía server bằng Nuxt.js 2018-04-16
Cách bảo vệ server của bạn trước lỗ hổng Meltdown và Spectre 2018-01-10
Cách thiết lập Shiny Server trên Ubuntu 16.04 2017-10-25