Hướng dẫn khắc phục lỗ hổng bảo mật CVE-2019-11477 trên Cloud365
Hướng dẫn khắc phục lỗ hổng bảo mật CVE-2019-11477 trên Cloud365
Nơi chứa các tài liệu tham khảo của dịch vụ Cloud365.
Lời mở đầu
Trong một môi trường bị hạn chế truy cập bởi tường lửa hoặc những thiết bị tương tự khác thì chúng ta cần có một SSH proxy để phục vụ cho việc remote từ xa.
Ngoài ra có một cách khác để thực hiện truy cập SSH từ xa khác là SSH connection via HTTP, tuy nhiên ở đây mình sẽ giới thiệu một phương pháp đơn giản hơn rất nhiều đó là SSH R-Proxy.
1. Mô hình triển khai và phân hoạch IP.
Cài đặt golang
:
apt install golang golang-go -y
Tạo GOPATH
và thiết lập biến môi trường :
mkdir ~/.go
export GOPATH=$HOME/.go
Cài đặt ssh-piper :
go get github.com/tg123/sshpiper/sshpiperd
Tạo thư mục cấu hình host cũng như thư mục log :
mkdir -p ~/.sshpiperd/config
mkdir -p ~/.sshpiperd/log
Ở đây thì ~/.sshpiper/config thì mình sẽ dùng để cấu hình các host ssh bên trong LAN và ~/.sshpiper/log mình dùng để lưu trữ log
Cấu trúc thư mục cấu hình host ssh piper như sau :
~/.sshpiperd/
|
|
|-----config
| |
| |----sv01
| | |
| | |----sshpiper_upstream
| |
| |
| |-----sv02
| |
| |----sshpiper_upstream
Tạo thư mục sv01 và file sshpiper_upstream :
mkdir ~/.sshpiperd/config/sv01
vi ~/.sshpiperd/config/sv01/sshpiper_upstream
Thêm vào file ~/.sshpiperd/config/sv01/sshpiper_upstream nội dung sau :
root@10.10.10.148:22
Tạo file ~/.sshpiperd/config/start.sh với nội dung như sau :
#!/bin/bash
if [ -z $GOPATH ]; then
export GOPATH=$HOME/.go
fi
SSHPIPERD_BIN="$GOPATH/bin/sshpiperd"
BASEDIR="$HOME/.sshpiperd"
LOGFILE="$BASEDIR/log/sshpiperd.log"
if [ ! -f $BASEDIR/sshpiperd_key ];then
ssh-keygen -N '' -f $BASEDIR/sshpiperd_key
fi
for u in `find $BASEDIR/config/ -name sshpiper_upstream`; do
chmod 400 $u
upstream=`cat $u`
username=`dirname $u`
username=`basename $username`
echo "ssh 127.0.0.1 -p 2222 -l $username # connect to $upstream"
done
$SSHPIPERD_BIN -i $BASEDIR/sshpiperd_key --workingdir $BASEDIR/config --log $LOGFILE
Phân quyền cho file start :
chmod +x ~/.sshpiperd/config/start.sh
Khởi chạy file start để bắt đầu :
~/.sshpiperd/config/start.sh
Đứng trên máy trạm bất kỳ ssh thử nghiệm với các thông số như sau :
ip : 192.168.30.153
port : 2222
user : sv01
Kiểm tra xem đã vào đúng máy chủ trong LAN hay chưa.
Kiểm tra log của máy chủ SSH-piper : tailf /root/.sshpiperd/log/sshpiperd.log
File ~/.sshpiperd/config/start.sh được coi như là initd của SSH-piper chúng ta có thể tạo một file trong /etc/init.d để cho dễ nhớ đường dẫn mỗi khi muốn khởi động.
Thực hiện bởi cloud365.vn