Bảo mật máy chủ server bằng SSH Key
Đến nay, bảo mật vẫn luôn là vấn đề nóng bỏng, đặc biệt trong thời kì công nghệ phát triển như hiện nay, khi mà những cuộc tấn công ngày càng trở nên đa dạng. Vậy phải làm sao để dữ liệu luôn được an toàn? Một trong những phương pháp người ta vẫn hay dùng là bảo mật máy chủ server bằng SSH Key. Chúng ta cùng đi vào tìm hiểu giao thức SSH cũng như cách thiết lập SSH để bảo mật dữ liệu một cách an toàn nhé!
Nội dung
Giao thức SSH là gì?
Giao thức SSH là một giao thức mã hóa nhằm tạo ra kết nối bảo mật trên một mạng lưới không bảo mật. Chúng cũng được hiểu như một ứng dụng được cùng để kết nối đăng nhập vào một hệ thống máy tính bằng một cặp khóa bao gồm một khóa riêng tư và một khóa công khai tương ứng. 2 khóa này có mối liên hệ chặt chẽ với nhau. Hiểu một cách đơn giản thì khóa công khai là ổ khóa, mọi người đều có thể nhìn thấy, còn khóa riêng tư là chìa khóa, chỉ ai có chìa khóa mới có thể vào nhà.
SSH làm việc thông qua 3 bước cơ bản:
- Định dạng Host: Giúp bạn xác định đích danh hệ thống nào đang tham gia làm việc với SSH.
- Mã hóa: Thiết lập kênh làm việc mã hóa.
- Chứng thực: Xác thực người dùng nào có quyền đăng nhập hệ thống.
Giao thức SSH có thể giúp bạn:
- Đăng nhập vào Shell của máy tính từ xa, mà thường thường là máy chủ.
- Thi hành các lệnh kết nối trên máy tính
- Thiết lập đăng nhập tự động vào máy chủ
- Truyền dữ liệu an toàn
- Gắn thư mục ở máy chủ vào máy khách
Trong bài viết các phương pháp bảo mật máy chủ cho server, bạn đã biết SSH key cũng là một phương pháp bảo mật an toàn đúng không nào? Hôm nay chúng ta cùng đi vào chi tiết cách thiết lập chúng như thế nào để người dùng có thể bảo mật an toàn được nhé!
Các thành phần của SSH Key
SSH Key được hoạt động chủ yếu dưới dạng Server – Client. Đúng như mục đích sử dụng, các kết nối ấy được hình thành bởi quá trình liên kết giữa SSH server và SSH Client. Trong đó:
SSH Server là máy chủ. Với máy chủ chạy hệ điều hành Windows thường được dùng Remote Desktop. Còn với máy chủ chạy hệ điều hành Linux thì cần có openssh-server. Tuy nhiên, nếu bạn nào thích sử dụng SSH Key trên môi trường WIN, hoàn toàn có thể cài ứng dụng của bên thứ 3 thay thế openssh-server .
SSH Key Client: Là dạng máy khách để truy cập SSH Server. thông thường, các máy khách này thường sử dụng hệ điều hành Windows. Trên những máy này, chúng phải có một ứng dụng có khản năng tạo kết nối với SSH. Cụ thể, với WIndows có Putty còn với Linux cần openssh-client.
Keypharse – mật khẩu để mở mã khóa bí mật. Khi người dùng đăng nhập vào server, sẽ được hỏi đến mã khóa này.
Quá trình bảo mật máy chủ server bằng SSH Key chi tiết nhất
Bảo mật máy chủ server bằng SSH Key là một trong những phương thức mà hầu hết các máy khách sử dụng để xác thực đến các máy chủ từ xa thay thế cho mật khẩu nhằm tăng cường sự bảo mật. Và dưới đây là cách làm cụ thể.
Cách tạo SSH keys
- Đối với hệ điều hành Linux
Đối với Linux, bạn có thể tạo cặp Key qua Terminal trên VPS Linux bằng ssh-keygen. Hãy mở Terminal và gõ lệnh:
ssh-keygen -t rsa
Trong quá trình cài đặt, chương trình sẽ hỏi bạn nơi lưu keys và mật khẩu để sử dụng khóa bí mật nếu có. Mặc định, key sẽ được lưu vào /home/user/.ssh. Bạn có thể để trống và nhấn Enter để nó tự lưu mặc định.
Tiếp theo, bạn sẽ được hỏi có muốn thiết lập keypharse. Nếu bạn muốn thiết lập thì nhập chúng vào. Còn nếu không thì nhấn Enter.
Sau khi tạo xong, mặc định sẽ hiện ra như thế này:
<br />
Your identification has been saved in /home/thach/.ssh/id_rsa.<br />
Your public key has been saved in /home/thach/.ssh/id_rsa.pub.<br />
The key fingerprint is:<br />
5b:48:b3:14:27:a2:12:41:4e:46:72:9b:60:7c:09:11 thach@ubuntu<br />
The key’s randomart image is:<br />
+–[RSA 2048]—-+<br />
|+E%.. . o . |<br />
|.O * . . + |<br />
| * . + |<br />
| . o + |<br />
| S . |<br />
| o |<br />
| . |<br />
| |<br />
| |<br />
Key này được tạo ra theo thuật toán RSA, độ dài 2084 bit và được lưu lại theo đường dẫn /root/.ssh/. Trong đó:
- Private Key được kí hiệu là id_rsa
- Public Key được kí hiệu là id_rsa.pub
Tất cả đều là OpenSSH Keys
- Đối với hệ điều hành Windows
Nếu bạn đang sử dụng hệ điều hành Windows, hãy dùng phần mềm PuTTY-Gen để tạo SSH.
Hãy tải phần mềm đó về máy và mở giao diện như hình dưới đây.
Chọn như hình và nhấn Generate để quá trình tạo bắt đầu. Trong quá trình tạo, hãy rê rê chuột vòng vòng toàn màn hình cho đến khi chúng được tạo xong.
Và đây là kết quả nếu thành công.
Tiếp theo, hãy đặt keypharse rồi lưu chúng vào nơi thật an toàn, tốt nhất nên đưa 1 bản lên Dropbox phòng trường hợp bạn cần đến.
Dãy chữ và số dài ngoằng bên trên chính là khóa công khai, chúng được hình thành theo đúng cấu trúc ssh-rsa-XXXXXX. Bạn hãy copy đoạn này vào server. Sau đó, lưu chúng lại thành 1 file text thông thường , sau này khi cần thiết sẽ lấy khóa công khai này ra dễ dàng.
Thêm Khóa công khai vào VPS
Quá trình tạo SSH đã xong, bây giờ hãy đăng nhập vào VPS với user bạn cần thêm key. Sau đó, gõ các lệnh sau để tạo thư mục .ssh/ và file authorized_keys để lưu khóa công khai.
br />
mkdir ~/.ssh<br />
chmod 700 ~/.ssh<br />
touch ~/.ssh/authorized_keys<br />
chmod 600 ~/.ssh/authorized_keys<br />
Sau đó, mở fie theo đường dẫn ~/.ssh/authorized_keys và coppy toàn bộ key public key vào đây. Nhấn Ctrl+O để lưu lại nội dung và Ctrl+X để thoát khỏi editor.
Như vậy là bạn đã hoàn thành các bước thêm khóa công khai vào VPS rồi đó. Để kiểm tra xem chúng đã được thêm thành công chưa, hãy đăng nhập vào SSH với chính tài khoản vừa thêm SSH Key. Sẽ có 2 trường hợp xảy ra.
- Nếu đăng nhập bằng Linux, nó sẽ tự hỏi keypharse
- Nếu đăng nhập bằng Windows, bạn phải trỏ về file private key vào các phần mềm như Putty để được chứng thực.
Bây giờ bạn hoàn toàn có thể sử dụng key đó cho những lần đăng nhập tiếp theo. Tuy nhiên, nếu bạn thấy nó mất nhiều thời gian thì hãy tắt chúng đi.
Tắt chức năng sử dụng mật khẩu
Sau khi kiểm tra và đăng nhập thành công, hãy tắt chức năng sử dụng mật khẩu đi. Bởi nếu không, bạn vẫn có thể bị hack mật khẩu và lộ dữ liệu như thường.
Để tắt chức năng này, hãy mở file /etc/ssh/sshd_config và tìm giá trị của các tham số sau:
PasswordAuthentication no
UsePAM no
Qua bài này bạn đã biết SSH Key là gì cũng như cách Bảo mật máy chủ server bằng SSH Key rồi chứ? Đây là một công việc vô cùng quan trọng bạn cần làm, bởi chúng ta không thể cứ đăng nhập vào VPS theo phương thức truyền thống là mật khẩu mãi được, như vậy rất nguy hiểm, đặc biệt là trong thời kì công nghệ thông tin ngày càng phát triển, hacker có rất nhiều phương pháp đa dạng để xâm chiếm dữ liệu của chúng ta. Vì vậy, bạn hãy làm quen dần với SSH key để bảo mật dữ liệu của mình được tốt hơn nhé!
>>> Nếu bạn chưa có VPS, hãy đến với dịch vụ cho thuê máy chủ Hp giá rẻ để sở hữu ngay cho mình một hệ thống bảo mật, phục vụ cho công việc nghiên cứu, tìm hiểu công nghệ cũng như các phương pháp bảo mật tốt nhất cho dữ liệu của mình nhé!
Chúc bạn thành công!