Mục lục [Ẩn]
Port Knocking là một kỹ thuật tiện lợi để kiểm soát quyền truy cập vào một cổng bằng cách chỉ cho phép người dùng hợp pháp truy cập vào dịch vụ đang chạy trên máy chủ. Nó hoạt động theo cách mà khi thực hiện đúng trình tự kết nối, tường lửa sẽ sẵn sàng mở cổng đã bị đóng.
Logic đằng sau việc gõ cổng là để bảo vệ hệ thống Linux của bạn khỏi các máy quét cổng tự động rình mò các cổng đang mở. Trong hướng dẫn này, chúng tôi kiểm tra cách bạn có thể cài đặt cổng knock và cách bạn có thể định cấu hình nó để bảo mật dịch vụ SSH. Đối với mục đích trình diễn, chúng tôi sẽ sử dụng Ubuntu 18.04.
Bước 1: Cài đặt và cấu hình knockd
Để bắt đầu, hãy đăng nhập vào hệ thống Linux của bạn và cài đặt trình nền knockd như hình minh họa.
$ sudo apt install knockd
Sau khi cài đặt, hãy mở cấu hình knockd.conf bằng trình soạn thảo văn bản ưa thích của bạn. Ở đây, chúng tôi đang sử dụng trình soạn thảo văn bản dòng lệnh vim.
$ sudo vim /etc/knockd.conf
Tệp cấu hình mặc định xuất hiện như sau.
Trong phần [openSSH] , chúng ta cần thay đổi trình tự gõ mặc định - 7000,8000,9000 - thành một thứ khác. Điều này là do các giá trị này đã được biết trước và có thể ảnh hưởng đến tính bảo mật của hệ thống của bạn.
Đối với mục đích thử nghiệm, chúng tôi đã đặt các giá trị thành 10005, 10006, 10007. Đây là trình tự sẽ được sử dụng để mở cổng SSH từ hệ thống máy khách.
Trong dòng thứ ba - bắt đầu bằng lệnh, thay đổi -A thành -I ngay sau lệnh / sbin / iptables và trước INPUT.
Và cuối cùng, trong phần [closeSSH] , một lần nữa, hãy thay đổi trình tự mặc định thành lựa chọn ưa thích của bạn. Đây là trình tự sẽ được sử dụng để đóng kết nối SSH sau khi người dùng hoàn tất và đăng xuất khỏi máy chủ.
Đây là cấu hình hoàn chỉnh của chúng tôi.
Sau khi hoàn tất, hãy lưu các thay đổi và thoát.
Một cấu hình khác mà chúng ta cần sửa đổi là /etc/default/knockd. Một lần nữa, hãy mở nó bằng trình soạn thảo văn bản của bạn.
$ sudo vim /etc/default/knockd
Định vị dòng START_KNOCKD = 0. Bỏ ghi chú và đặt giá trị thành 1.
Tiếp theo, hãy chuyển đến dòng KNOCKD_OPTS = ”- i eth1” Bỏ ghi chú và thay thế giá trị mặc định eth1 bằng giao diện mạng đang hoạt động của hệ thống của bạn. Để kiểm tra giao diện mạng của bạn, chỉ cần chạy ip addr hoặc lệnh ifconfig.
Đối với hệ thống của chúng tôi, enp0s3 là card mạng đang hoạt động.
Cấu hình hoàn chỉnh như hình.
Lưu các thay đổi và thoát.
Sau đó khởi động và kích hoạt trình nền knockd như hình.
$ sudo systemctl start knockd
$ sudo systemctl enable knockd
Để kiểm tra trạng thái của knockd daemon, hãy chạy lệnh:
$ sudo systemctl status knockd
Bước 2: Đóng cổng SSH 22 trên Firewall
Vì mục tiêu của dịch vụ knockd là cấp hoặc từ chối quyền truy cập vào dịch vụ SSH, chúng tôi sẽ đóng cổng ssh trên tường lửa. Nhưng trước tiên, hãy kiểm tra trạng thái của tường lửa UFW.
$ sudo ufw status numbered
Từ đầu ra, chúng ta có thể thấy rõ rằng cổng SSH 22 được mở trên cả hai giao thức IPv4 và IPv6 được đánh số lần lượt là 5 và 9.
Chúng ta cần xóa hai quy tắc này như được hiển thị, bắt đầu với giá trị cao nhất - là 9.
$ sudo ufw delete 9
$ sudo ufw delete 5
Bây giờ, nếu bạn cố gắng đăng nhập từ xa vào máy chủ, bạn sẽ gặp lỗi thời gian chờ kết nối như hình.
Bước 3: Định cấu hình máy khách gõ để kết nối với máy chủ SSH
Trong bước cuối cùng, chúng tôi sẽ cấu hình máy khách và cố gắng đăng nhập bằng cách gửi chuỗi gõ mà chúng ta đã định cấu hình trên máy chủ.
Nhưng trước tiên, hãy cài đặt knockd daemon giống như bạn đã làm trên máy chủ.
$ sudo apt install knockd
Khi quá trình cài đặt hoàn tất, hãy gửi chuỗi gõ bằng cú pháp được hiển thị
$ knock -v server_ip knock_sequence
Trong trường hợp của chúng tôi, điều này được dịch thành:
$ knock -v 192.168.2.105 10005 10006 10007
Bạn sẽ nhận được đầu ra tương tự như những gì chúng tôi có, tùy thuộc vào trình tự của bạn. Điều này cho thấy những nỗ lực knock đã thành công.
Tại thời điểm này, bạn đã có thể đăng nhập thành công vào máy chủ bằng SSH.
Sau khi bạn thực hiện xong công việc của mình trên máy chủ từ xa, hãy đóng cổng SSH bằng cách gửi chuỗi knock đóng.
$ knock -v 192.168.2.105 10007 10006 10005
Mọi nỗ lực đăng nhập vào máy chủ sẽ không thành công như đã trình bày.
Kết luận
Phần này tóm tắt hướng dẫn này về cách tận dụng việc gõ cổng để bảo mật dịch vụ SSH trên máy chủ của bạn. Một cách tiếp cận tốt hơn và dễ dàng hơn sẽ là định cấu hình xác thực mật khẩu SSH bằng các cặp khóa SSH. Điều này đảm bảo rằng chỉ người dùng có khóa riêng tư mới có thể xác thực với máy chủ lưu trữ khóa công khai.
+ Fanpage: https://www.facebook.com/nhanhoacom
+ Chỉ đường: https://g.page/nhanhoacom
+ Chương trình khuyến mãi mới nhất: https://nhanhoa.com/khuyen-mai.html
————————————————————
CÔNG TY TNHH PHẦN MỀM NHÂN HÒA
Hotline: 1900 6680
Trụ sở chính: Tầng 4 - Tòa nhà 97-99 Láng Hạ, Đống Đa, Hà Nội
Tel: (024) 7308 6680 – Email: sales@nhanhoa.com
Chi nhánh TP. Hồ Chí Minh: 270 Cao Thắng (nối dài), Phường 12, Quận 10, Tp.HCM
Tel: (028) 7308 6680 – Email: hcmsales@nhanhoa.com
Chi nhánh Vinh - Nghệ An: Tầng 2 Tòa nhà Sài Gòn Sky, ngõ 26 Nguyễn Thái Học, phường Đội Cung, TP. Vinh, Nghệ An
Tel: 0915221384 – Email: contact@nhanhoa.com