国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術(shù)文章
文章詳情頁

Unix操作系統(tǒng)網(wǎng)絡(luò)相關(guān)的兩個安全問題

瀏覽:153日期:2024-06-29 18:33:21

雖然已經(jīng)有許多文章對有關(guān)Unix網(wǎng)絡(luò)的安全性問題進(jìn)行了廣泛的論述,但隨著技術(shù)的進(jìn)步和人們對安全問題的認(rèn)識的深入,總是不斷有安全問題被暴露出來,并被加以修正。本文介紹兩個由于技術(shù)上認(rèn)識不足而造成的安全問題,并給出解決方法。

關(guān)機(jī)用戶的安全問題。

近年來,許多文章相繼介紹了一種所謂最安全的Unix的關(guān)機(jī)用戶。其主要思想是直接在/etc/passwd文件或/etc/shadow文件中的關(guān)機(jī)用戶一行的末尾加入/etc/shutdown命令或加入/etc/haltsys命令以代替/bin/sh命令。這樣即使有人知道了關(guān)機(jī)用戶的密碼(或沒有設(shè)置關(guān)機(jī)用戶的密碼),也不能通過關(guān)機(jī)用戶進(jìn)入Unix系統(tǒng),關(guān)機(jī)用戶被嚴(yán)格界定為有且僅有關(guān)機(jī)功能的超級用戶。這一關(guān)機(jī)用戶已被公認(rèn)為“最安全的關(guān)機(jī)用戶。

該用戶和其他的關(guān)機(jī)方法相比安全性有所提高,特別是在單機(jī)狀態(tài)下,其安全性值得信賴。但令人遺憾的是,該關(guān)機(jī)用戶在Unix網(wǎng)絡(luò)中也存在著一定的安全隱患。這主要是由關(guān)機(jī)用戶本身的用途所造成的,首先由于網(wǎng)絡(luò)中的用戶幾乎都需要關(guān)機(jī)用戶,所以關(guān)機(jī)用戶往往不設(shè)密碼或由多人同時掌握密碼;另一方面要關(guān)閉Unix系統(tǒng)就必須使關(guān)機(jī)用戶具有超級用戶的權(quán)限。這樣,雖然不能用DEL鍵中斷或su命令等手段非法侵入Unix系統(tǒng), 但利用一些網(wǎng)絡(luò)遠(yuǎn)程命令卻有可能通過關(guān)機(jī)用戶侵入Unix系統(tǒng),甚至進(jìn)入超級用戶root的sh狀態(tài)。

1.提出問題

假設(shè)計算機(jī)A中有一個關(guān)機(jī)用戶名為shutdown,其設(shè)置和權(quán)限控制按“最安全的關(guān)機(jī)用戶的方法設(shè)定,因?yàn)橄到y(tǒng)管理員、軟件管理員、一般操作員都要使用該用戶, 故而未對其設(shè)置密碼。設(shè)計算機(jī)A的IP地址為129.15.21.77。

此時如果想從另一臺計算機(jī)(假設(shè)為計算機(jī)B)中向計算機(jī)A發(fā)起攻擊,則利用Unix系統(tǒng)網(wǎng)絡(luò)遠(yuǎn)程命令, 通過計算機(jī)A的“最安全的關(guān)機(jī)用戶:shutdown即可達(dá)到目的。首先在計算機(jī)B中的/etc/hosts文件中加入如下代碼:

129.15.21.77 hostshut

然后在計算機(jī)B中進(jìn)入任何一個普通用戶,鍵入以下命令:

rcmd hostshut -l shutdown vi /etc/passwd

或 rcmd hostshut -l shutdown vi /etc/shadow

這樣,該普通計算機(jī)用戶已在計算機(jī)B中用vi命令打開了計算機(jī)A中包括root超級用戶在內(nèi)的所有用戶的密碼文本。接下來只要改動或刪除這些密碼,就可以輕松地用telnet、rlogin等遠(yuǎn)程命令登錄到計算機(jī)A的任何一個用戶中。如果此時闖入的是一個惡意用戶, 對計算機(jī)A來說其后果將不堪設(shè)想。

2.解決問題

為了解決這個安全問題,首先可以封閉inetd守護(hù)進(jìn)程中的部分遠(yuǎn)程功能,如telnet、shell、login、exec等,方法是直接用vi修改/etc/inetd.conf文件,在上述功能前添加#號,然后執(zhí)行/etc/inetd命令即可。但這樣大大削弱了Unix系統(tǒng)的網(wǎng)絡(luò)功能,并可能影響到其他計算機(jī)應(yīng)用方案的實(shí)施。

經(jīng)過實(shí)踐,筆者發(fā)現(xiàn)了一種相當(dāng)安全的關(guān)機(jī)方法,該方法采用了輸入/輸出重定向、Unix啞終端技術(shù)和Unix定時系統(tǒng)來實(shí)現(xiàn)安全的關(guān)機(jī)。具體做法如下:

首先在超級用戶中輸入如下命令,使tty12終端成為啞終端:

#disable /dev/tty12

由于需要在啞終端tty12中運(yùn)行關(guān)機(jī)程序,而啞終端的窗口在原始模式下工作, 所以不能用Unix系統(tǒng)命令read進(jìn)行輸入,必須自己編寫一個能在原始模式下實(shí)現(xiàn)輸入/輸出功能的程序。用cc -lcurses命令編譯以下源程序,并生成可執(zhí)行文件safehalt:

file://安全關(guān)機(jī)程序#include<curses.h>#include<termio.h>#include<stdio.h>#include<string.h>main(){WINDOW *win;char til[]=“是否現(xiàn)在關(guān)機(jī)?確認(rèn)請按yes:,s1[4],sum[100];struct termio save,term;initscr(); raw(); noecho(); keypad(stdscr,TRUE); clear();ioctl(0,TCGETA,&term);save=term;win=newwin(24,80,0,0);while(s1[0]!=‘q’){s1[0]=‘’;s1[1]=‘’;s1[2]=‘’;mvwaddstr(win,5,0,til);wrefresh(win);read(0,&s1[0],1);if(s1[0]==‘y’){sprintf(sum,“%s%s,til,s1);mvwaddstr(win,5,0,sum);wrefresh(win);read(0,&s1[1],1);if(s1[1]==‘e’){sprintf(sum,“%s%s,til,s1);mvwaddstr(win,5,0,sum);wrefresh(win);read(0,&s1[2],1);if(s1[2]==‘s’)system(“/etc/shutdown -g0 -y);}}}keypad(stdscr,FALSE); echo(); noraw(); endwin();}

最后編制一個Unix的shell腳本atsh,包括以下內(nèi)容:

at now +1 day

/usr/bin/safehalt

執(zhí)行一次atsh腳本程序后,該程序以后會自動執(zhí)行。

這樣每天在tty12屏幕上都會自動運(yùn)行一個關(guān)機(jī)程序,當(dāng)輸入yes后,機(jī)器將被關(guān)閉,當(dāng)然也可以在程序中設(shè)置關(guān)機(jī)密碼。該方法徹底排除了由關(guān)機(jī)用戶引起的安全性問題。

自動傳輸數(shù)據(jù)的安全問題

在Unix系統(tǒng)中自動批量發(fā)送數(shù)據(jù)文件的方法主要有兩種:一種方法是在用戶的宿主目錄下增加.netrc文件, 并在文件中加入遠(yuǎn)程機(jī)器的host名、用戶名和密碼,然后在建有.netrc文件的用戶登錄后用ftp自動批量發(fā)送文件;另一種方法是用Unix的shell編寫一個批處理的腳本文件, 以執(zhí)行該腳本文件來自動批量發(fā)送數(shù)據(jù)。上述兩種方法雖然都可以實(shí)現(xiàn)自動批量發(fā)送數(shù)據(jù)文件的目的,但卻存在一些安全隱患。這兩種方法都使用了純文本文件的方式來存放遠(yuǎn)程機(jī)器的host名、IP地址、用戶名和密碼,因此只要用簡單的Unix命令如cat、vi、more等就可以對遠(yuǎn)程機(jī)器的主要秘密一覽無遺。

為增加安全性,必須對這些秘密信息進(jìn)行隱藏和加密。筆者用C語言程序的二進(jìn)制代碼封裝遠(yuǎn)程機(jī)器的IP地址、host名、用戶名和密碼以增加其安全性。在用C語言進(jìn)行編程封裝時,注意不能在程序中把遠(yuǎn)程機(jī)器的IP地址、host名、用戶名和密碼等重要信息直接賦值給字符串變量。如果直接賦值給字符串變量,就很容易被人用Unix命令strings、hd和Dos操作系統(tǒng)的常用工具pctools從C程序的二進(jìn)制代碼中找到上述重要信息。還要注意不能在程序執(zhí)行過程中產(chǎn)生帶有上述遠(yuǎn)程機(jī)器重要信息的中間文件。如果出現(xiàn)這些中間文件,雖然可以在程序結(jié)束前刪除它們,但遇到發(fā)送的數(shù)據(jù)文件數(shù)量多時間長時, 這些中間文件就有可能被調(diào)看而泄密,所以最好不要在程序中產(chǎn)生中間文件。

下面這個簡短的程序例子是從本地機(jī)器的超級用戶中把數(shù)據(jù)文件發(fā)送到另一臺機(jī)器的超級用戶中, 可以實(shí)現(xiàn)多個文件的連續(xù)自動批量發(fā)送。盡管該程序使用了超級用戶進(jìn)行數(shù)據(jù)發(fā)送,但由于編程時進(jìn)行了巧妙的設(shè)計,所以當(dāng)它被編譯成可執(zhí)行代碼后,很難從這些二進(jìn)制代碼中發(fā)現(xiàn)有關(guān)本地計算機(jī)和遠(yuǎn)程計算機(jī)的安全方面的重要信息。同時,該程序采用了管道通信方法從而在執(zhí)行過程中不會產(chǎn)生任何中間文件,安全性相對較高。實(shí)現(xiàn)代碼如下:

file://安全發(fā)送數(shù)據(jù)#include<stdio.h>#include<string.h>main(int argc,char *argv[]){int i,u1,u2,u3,u4;float ip1,ip2;char pw[10]=“,us[5]=“,ftpn[4]=“;char ftpcmd[500]=“,runl[10]=“;char ftpprt[256]=“;FILE *fftp;if(argc>1){us[0]=‘u’;us[1]=‘s’;us[2]=‘e’;us[3]=‘r’;u1=‘r’;u2=‘o’;u3=‘o’;u4=‘t’;pw[0]=‘5’;pw[1]=‘1’;pw[2]=‘2’;pw[3]=‘7’;pw[4]=‘3’;pw[5]=‘7’;pw[6]=‘4’;ftpn[0]=‘f’;ftpn[1]=‘t’;ftpn[2]=‘p’;ip1=106.73;ip2=168.13;printf(“f 從本機(jī)數(shù)據(jù):);for(i=1;i{sprintf(runl,“l %s,argv[i]);system(runl);}sprintf(ftpcmd,“%s%s -n -i %.2f.%.2f <sprintf(ftpcmd,“%s%s %c%c%c%c %s,ftpcmd,us,u1,u2,u3,u4,pw);sprintf(ftpcmd,“%scd /usr/tmp,ftpcmd);for(i=1;i{sprintf(ftpcmd,“%sput %s,ftpcmd,argv[i]);sprintf(ftpcmd,“%sls %s,ftpcmd,argv[i]);}sprintf(ftpcmd,“%sCMD,ftpcmd);printf(“正在發(fā)送……);fftp=popen(ftpcmd,“r);i=0;while(fgets(ftpprt,256,fftp)!=NULL){i++;if(i>0) printf(“%s,ftpprt);}pclose(fftp);}}

標(biāo)簽: Unix系統(tǒng)
主站蜘蛛池模板: 欧美日韩一区二区三区在线视频 | 女黄人东京手机福利视频 | 在线观看免费国产成人软件 | 中文三 级 黄 色 片 | 国内久久精品视频 | 国产孕妇孕交一级毛片 | 日韩三级在线播放 | 成人在线一区二区三区 | 国产午夜精品理论片久久影视 | 日本一级毛片免费 | 美女网站视频黄色 | 九九久久精品视频 | 精品国产免费观看久久久 | 波多野结衣在线播放 | 国产一级毛片夜一级毛片 | 97国产成人精品免费视频 | 日韩区| 国产精品二区三区 | 国产精品久久久久毛片真精品 | 99久久国产综合精品成人影院 | 成年人看的黄色片 | 国产成人精品视频 | 女人张开腿 让男人桶视频 女人张开腿等男人桶免费视频 | 久久国产午夜精品理论片34页 | 国产精品在线观看 | 三级a黄 | 自拍理论片 | 久草视频在线免费 | 欧美18毛片免费看 | 日韩视频中文字幕 | 男女视频免费观看 | 中文字幕视频在线观看 | 久久久综合网 | 国产成人高清亚洲一区91 | 欧美视频一区二区专区 | 亚洲一区2区三区4区5区 | 婷婷亚洲久悠悠色在线播放 | 91精品国产综合久久欧美 | 怡红院老首页主页入口 | 日韩欧美视频一区二区在线观看 | 午夜在线观看cao |