Mar 10

Phần 1

Phần 2:

Trở lại bài viết, khi đặt port cho SSH, bạn cần tránh đặt port này trùng với các dịch vụ đang hoạt động trong hệ thống để tránh xảy ra xung đột có thể có, vì vậy cần hoạch định cụ thể cho từng dịch vụ, có nhiều cách để biết rằng các dịch vụ bạn đang sử dụng dùng port mặc định gì, thay vì vào trang chủ của nhà cung cấp dịch vụ tìm hiểu, bạn có thể dùng những công cụ & tiện ích trong hệ thống để xem các port đang dùng, và dùng cho dịch vụ gì, để đơn giản, tôi dùng nmap – công cụ chuyên nghiệp dành cho các nhà quản trị mạng.

cài đặt nmap:

$sudo apt-get install nmap

Quét port các dịch vụ trong hệ thống

$nmap -v <IP/domain name>

Bạn sẽ thấy một danh sách các dịch vụ và port đang dùng.

Trở lại vấn đề, lời gợi ý đầu tiên là Port, chắc chắn rằng bạn cần phải thay đổi số 22 bằng một con số nào đó nằm trong khoản 1500-5000 như đã đề cập trong phần 1.

#ListenAddress 0.0.0.0

Lựa chọn này chỉ định SSH lắng nghe trên interface có địa chỉ là 0.0.0.0, bạn cần đổi thành địa chỉ hợp lệ để giới hạn kết nối, ví dụ 192.168.0.10 chẳng hạn, địa chỉ này được đặt cho một trong các interface trên hệ thống (nếu hệ thống có từ 2 interface trở lên), và đương nhiên là các interface sẽ được đặt IP tĩnh.

Protocol 2

Có hai phiên bản cho giao thức SSH, SSH 1 đã cũ và bảo mật kém, lựa chọn này theo mặc định không cần chỉnh sửa gì thêm.

PermitRootLogin yes

Lựa chọn này chỉ định có thể kết nối với tài khoản ROOT, đây là tài khoản có quyền hạn “tối cao” trong hệ thống, theo mặc định SSH cho phép kết nối tài khoản ROOT, Bạn cần giới hạn quyền này, thay vào đó bạn có thể sử dụng sudo như là cách để làm việc với quyền root.

vd: PermitRootLogin no

AllowUsers <account>

Nếu Bạn chỉ định hệ thống chỉ được phép truy cập SSH thông qua tài khoản nhất định thì đây là lựa chọn cần thiết.

DenyUsers <account>

………………..

Tagged with:
Nov 16

Giới thiệu và cài đặt OpenSSH

Bài viết này có thể áp dụng cho hầu hết các Linux distro, tuy nhiên có vài câu lệnh được thực hiện trên hệ thống ubuntu, nếu thực hiện trên hệ thống khác, có thể bạn sẽ phải thay đổi vài chi tiết.

SSH ?
SSH là giao thức cho phép kết nối vào máy tính xuyên qua network, SSH được cài đặt theo mặc định trên hầu hết các bản phân phối linux, tuy nhiên để hệ thống cho phép kết nối thì bạn cần cài đặt gói openssh-server, thông tin chi tiết tại trang chủ http://www.openssh.com

cài đặt OpenSSH:

$sudo apt-get install openssh-server

Kiểm tra OpenSSH:

$ps -e | grep ssh

Câu lệnh này sẽ liệt kê tất cả các tiến trình đang hoạt động trong hệ thống, lọc danh sách này và chỉ hiển thị tiến trình có chứa từ “ssh”, bạn sẽ thấy kết quả tương tự như sau:

717 ?        00:00:00 sshd

Điều này có nghĩa là OpenSSH đang hoạt động, nếu bạn không thấy gì từ câu lệnh trên thì hãy khởi động ssh như sau

$sudo /etc/init.d/ssh start

Cấu hình SSH:

Cấu hình SSH server, đầu tiên bạn cần chỉnh sửa hút xíu file cấu hình của OpenSSH,  file cấu hình này thường nằm trong /etc/ssh/sshd_config, bạn có thể dùng trình soạn thảo nào đó như gedit, nano, vim …. bất cứ trình nào mà bạn thấy dể sử dụng, ỏ đây tôi dùng gedit

$sudo gedit /etc/ssh/sshd_config

Cấu hình này được định nghĩa theo mặc định, Bây giờ OpenSSH đã hoạt động tốt, bạn có thể kết nối vào hệ thống, nhưng vì lý do bảo mật nên bạn cần phải định nghĩa lại theo cách riêng, tùy thuộc vào chính sách bảo mật riêng, trong bài viết này tôi chỉ gợi ý một vài điều khi cần chỉnh sửa cấu hình này.
Đầu tiên là Port, trong hệ thống của chúng ta có tất cả 65535 port, mổi port giống như một cửa để hệ thống có thể giao tiếp với bên ngoài, ví dụ: khi bạn lướt web trên một browser, yêu cầu này đi ra ngoài theo port 80 (80 là port mặt định của http) và web server nào đó sẽ gửi trả lởi vào hệ thống của bạn theo port 80, 1024 port đầu tiên dùng để xác định giao thức, port 22 theo mặc định của SSH, điều này sẽ không tốt cho lắm, vì vậy bạn cần đổi port này với một port nào đó nằm trong giới hạn < 65535, theo lời gợi ý bạn nên đặt trong giới hạn từ 1500-5000.

Bạn có thể tham khảo danh sách các port tại:

http://www.iana.org/assignments/port-numbers

# What ports, IPs and protocols we listen for
Port 2000

Lưu lại cấu hình này và khởi động lại OpenSSH

$sudo /etc/init.d/ssh restart

Để kiểm tra kết quả, kết nối vào hệ thống của bạn theo port 2000

$ssh -p 2000 <address> -l <account>

<address> : địa chỉ máy cần kết nối
<account> : tên tài khoản trên hệ thống cần kết nối

Ví dụ:

$ssh -p 2000 localhost -l root

Bạn sẽ nhận được một thông điệp từ hệ thống

………………..

RSA key fingerprint is 38:15:00:70:5b:4c:85:e4:ae:c0:aa:28:d4:11:11:a1.
Are you sure you want to continue connecting (yes/no)?

nhập yes, và nhập mật khẩu cho tài khoản cần kết nối, ví dụ ở đầy là root, nếu bạn thấy kết quả như bên dưới thì có nghĩa là đã kết nối thành công

Linux thesun 2.6.31-14-generic #48-Ubuntu SMP Fri Oct 16 14:04:26 UTC 2009 i686

To access official Ubuntu documentation, please visit:

http://help.ubuntu.com/

Last login: Mon Nov 16 12:14:59 2009 from thesun.local
root@thesun:~#

preload preload preload