Hiện nay để thuận tiện cho các công việc trao đổi thông tin và làm việc từ xa giữa máy chủ và các máy khách một cách an toàn , người ta sử dụng các giao thức truyền dữ liệu không mã hóa qua mạng như SSH. Vậy SSH là gì? Hãy cùng Bizfly khám phá “tất tần tật” về SSH nhé.
SSH (Secure Shell) là một giao thức mạng được sử dụng để thiết lập kết nối bảo mật máy chủ, giúp quản trị dữ liệu thông qua Internet hoặc mạng nội bộ...
SSH cũng có thể được sử dụng để tạo các đường hầm an toàn (SSH Tunneling) cho các giao thức ứng dụng khác, chẳng hạn như để chạy các phiên đồ họa của Hệ thống X Window một cách an toàn từ xa.
SSH được vận hành theo mặc định với mọi máy chủ Unix, Linux và Mac. Kết nối SSH đã được sử dụng trong các trường hợp bảo mật nhiều loại liên lạc khác nhau giữa máy cục bộ và máy chủ từ xa, bao gồm truy cập từ xa an toàn vào tài nguyên, thực thi lệnh từ xa, phân phối bản vá phần mềm và cập nhật cũng như các tác vụ quản trị hoặc quản lý khác:
Kết nối an toàn qua mạng công cộng với SSH
Nếu không sử dụng SSH hay sử dụng giao thức không bảo mật có thể dẫn đến việc tiết lộ thông tin nhạy cảm, xâm nhập vào hệ thống, và sự tổn hại đối với tính bảo mật và quản lý của hệ thống và dữ liệu. Chính vì vậy việc sử dụng SSH là hoàn toàn cần thiết cho bất kỳ cá nhân nào, bởi vì chức năng của nó trong bảo mật và an toàn trong việc truy cập và quản lý từ xa:
Ngoài ra SSH hỗ trợ hoàn hảo để ứng dụng vào hệ thống đăng nhập một lần. Theo đó, người dùng sẽ đăng nhập nhanh chóng, di chuyển qua lại giữa tài khoản mà không cần tốn thời gian nhập mật khẩu.
Để hiểu rõ hơn về SSH, bạn cần phải nắm được cơ chế hoạt động của giao thức này. Giao thức SSH hoạt động theo mô hình máy khách-máy chủ, có nghĩa là kết nối được thiết lập bởi máy khách SSH (SSH Client) kết nối với máy chủ SSH (SSH Server). Máy khách SSH điều khiển quá trình thiết lập kết nối và sử dụng mật mã khóa công khai để xác minh danh tính của máy chủ SSH. Sau giai đoạn thiết lập, giao thức SSH sử dụng thuật toán băm và mã hóa đối xứng mạnh để đảm bảo quyền riêng tư và tính toàn vẹn của dữ liệu được trao đổi giữa máy khách và máy chủ.
Hình bên dưới trình bày quy trình thiết lập đơn giản hóa của kết nối shell an toàn.
Cơ chế hoạt động của SSH
Một cách xác thực người dùng mạnh mẽ và an toàn so với mật khẩu chính là SSH key.
Phương pháp xác thực khóa công khai ( public key authentication) chủ yếu được sử dụng để tự động hóa và đôi khi được quản trị viên hệ thống sử dụng để đăng nhập một lần. Hiện nay nó đã được sử dụng rộng rãi hơn. Cách mà nó vận hành chính là có một cặp khóa mật mã (cryptographic key pair) - khóa chung (public key) và khóa riêng ( private key) - định hình cho cấu hình khóa chung trên máy chủ để cấp quyền truy cập và cấp cho bất kỳ ai có bản sao của khóa riêng tư quyền truy cập vào máy chủ. Các khóa được sử dụng để xác thực được gọi là SSH keys .
Trong SSH, mã hóa đối xứng (Symmetric Encryption) dùng cùng một khóa để mã hóa và giải mã dữ liệu. Các thuật toán như AES (Advanced Encryption Standard) và 3DES (Triple Data Encryption Standard) được sử dụng trong việc bảo vệ tính bí mật của dữ liệu truyền tải qua mạng.
Mã hóa đối xứng (Symmetric Encryption)
SSH sử dụng mã hóa bất đối xứng (Asymmetric Encryption) để xác thực và an toàn khóa truyền tải. Cặp khóa SSH, bao gồm khóa riêng tư và khóa công khai, sử dụng các thuật toán như RSA hoặc DSA. Khóa riêng tư được bảo mật trên máy tính người dùng, trong khi khóa công khai được lưu trữ trên máy chủ SSH.
Mã hóa bất đối xứng (Asymmetric Encryption)
Hashing được sử dụng để đảm bảo tính toàn vẹn của dữ liệu truyền tải và xác thực. SSH sử dụng các thuật toán hashing như SHA-1 (Secure Hash Algorithm 1) hoặc SHA-256 để tạo ra giá trị băm cho các thông điệp và kiểm tra tính toàn vẹn của chúng.
Hashing
Ngoài SSH, ngày nay trên thị trường có rất nhiều các loại giao thức ứng dụng xác thực giữa các bên như SSL/TLS hoặc Telnet. Vậy nên chọn giao thức nào? Dưới đây là so sánh tổng quan nhất về 3 loại giao thức này.
Thuộc tính |
SSH |
SSL/TLS |
Telnet |
Mục đích sử dụng |
Truy cập từ xa đến hệ thống và máy chủ an toàn |
Bảo vệ truyền tải dữ liệu trên Internet |
Truy cập từ xa đến máy chủ (không an toàn) |
Bảo mật |
Mã hóa mạnh mẽ, xác thực an toàn |
Mã hóa mạnh mẽ, xác thực máy chủ |
Không mã hóa, không an toàn |
Xác thực người dùng |
Hỗ trợ nhiều phương thức xác thực, bao gồm khóa SSH |
Các chứng chỉ SSL/TLS |
Mật khẩu (tuy nhiên không an toàn) |
Ưu điểm |
An toàn, phù hợp cho việc quản lý từ xa trên Unix/Linux |
Bảo vệ thông tin cá nhân và giao dịch trực tuyến |
Đơn giản và dễ sử dụng |
Nhược điểm |
Khó cấu hình cho người mới, không phù hợp cho môi trường không cần tính bảo mật cao |
Yêu cầu chứng chỉ SSL/TLS cho máy chủ |
Không an toàn, dễ bị tấn công |
Nhìn chung, SSH có khả năng bảo mật tốt nhất và sở hữu khả năng liên kết trạm máy và máy khách hiệu quả nhất trong 3 giao thức. Dù vậy SSH vẫn còn tồn tại những lỗ hổng về bảo mật và nếu không được vá kịp thời sẽ bị kẻ xấu lại dụng. Vì vậy, hãy thường xuyên cập nhật bản mới nhất của SSH để không bỏ lỡ các bản vá bảo mật quan trọng nhé.