Linux使用cron定時任務被隱藏的解決方法
一、問題現(xiàn)象
線上服務器運行過程中,進程有莫名進程被啟動,懷疑是有定時任務自動啟動,當你用常規(guī)方法去查看,比如使用crontab去查看定時器任務,提示no crontab for root
或者使用cat到/var/spool/cron目錄下去查看定時器文件,也是提示no crontab for root
使用vim編輯定時器文件,打眼一看看到的似乎也是空白
但是你從cron定時任務日志中確看到有任務確實在執(zhí)行,這是咋回事?首先你可能想到配置cron還有其他地方,比如/etc/cron.d/ 下、/etc/下,你檢查一通,也都沒有定時文件,咋回事呢?
二、問題原因
初次遇到這種問題時,按照常規(guī)命令檢查,輸出顯然很是詭異,但cron日志有記錄定時有任務在跑,就說明肯定是定時器存在,一定還是有問題沒檢查出來。
還是從當前能看到信息入手,cron的日志里,異常執(zhí)行的任務中都帶有個^M字符有點可疑,這個字符以前在windows上文件見到過。針對這個可疑字符,度娘了下,一下豁然開朗,原來^M在linux上可以表示為回車換行符,當我們使用cat/more等基礎命令去查看帶有^M的一行字符串時,終端屏幕上會把 ^M 之后的內(nèi)容在同一行換行后輸出,這樣就覆蓋掉了^M之前的內(nèi)容,導致看到的前面出現(xiàn)的詭異現(xiàn)象。
三、解決方法
前面我們習慣于用cat/vim,不加任何參數(shù),直接去看文件,內(nèi)容其實都被掩藏了,很多人可能執(zhí)行到這一步,就認為這一定就是個空文件,殊不知你再用相同命令,多走一步,你就可以看到事情的真相。例如:
你用 cat 加上-A參數(shù)可以讀取文件的所有內(nèi)容
我們用-A讀取可疑文件,發(fā)現(xiàn)確實有一段定時任務存在
又或者,你在使用VI查看文件時,你多走一步,進入編輯模式,文本內(nèi)容也會顯示在你的眼前
四、經(jīng)驗總結(jié)
出現(xiàn)此類情況,通常服務器可能存在被黑客已經(jīng)攻破的風險,惡意隱藏了程序代碼。并且不光在crontab這種場景下,像執(zhí)行腳本,配置文件等核心文件都有可能被利用隱藏惡意代碼。所以防止此類情況的發(fā)生,從安全防御的角度來看,我們可以事前增加對一些關(guān)鍵文件的監(jiān)控,例如監(jiān)控文件md5值是否一致,當出現(xiàn)md5不一致情況,及時告警處理。
到此這篇關(guān)于Linux使用cron定時任務被隱藏的解決方法的文章就介紹到這了,更多相關(guān)解決Linux cron定時任務被隱藏內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
CentOS 7.2.1511 編譯安裝Nginx1.10.1+MySQL5.7.14+PHP7.0.11
這篇文章主要介紹了CentOS 7.2.1511 編譯安裝Nginx1.10.1+MySQL5.7.14+PHP7.0.11,需要的朋友可以參考下2016-10-10Linux環(huán)境下Apache開啟https服務的方法詳解
這篇文章主要介紹了Linux環(huán)境下Apache開啟https服務的方法,結(jié)合實例形式分析了阿里云環(huán)境下獲取SSL證書及Apache服務器安裝、開啟SSL的相關(guān)操作技巧,需要的朋友可以參考下2019-07-07mac下配置和訪問阿里云服務器(Ubuntu系統(tǒng))的圖文教程
這篇文章主要介紹了mac下配置和訪問阿里云服務器(Ubuntu系統(tǒng))的圖文教程,非常不錯,具有參考借鑒價值,需要的朋友參考下2017-01-01Linux內(nèi)核宏container_of的深度剖析
今天小編就為大家分享一篇關(guān)于Linux內(nèi)核宏container_of的深度剖析,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-02-02