日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

Unix網(wǎng)絡(luò)的兩個(gè)安全問(wèn)題( 二 )


{
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();
}最后編制一個(gè)Unix的shell腳本atsh,包括以下內(nèi)容:at now +1 day
/usr/bin/safehalt執(zhí)行一次atsh腳本程序后,該程序以后會(huì)自動(dòng)執(zhí)行 。這樣每天在tty12屏幕上都會(huì)自動(dòng)運(yùn)行一個(gè)關(guān)機(jī)程序,當(dāng)輸入yes后,機(jī)器將被關(guān)閉,當(dāng)然也可以在程序中設(shè)置關(guān)機(jī)密碼 。該方法徹底排除了由關(guān)機(jī)用戶引起的安全性問(wèn)題 。
自動(dòng)傳輸數(shù)據(jù)的安全問(wèn)題在Unix系統(tǒng)中自動(dòng)批量發(fā)送數(shù)據(jù)文件的方法主要有兩種:一種方法是在用戶的宿主目錄下增加.netrc文件, 并在文件中加入遠(yuǎn)程機(jī)器的host名、用戶名和密碼,然后在建有.netrc文件的用戶登錄后用ftp自動(dòng)批量發(fā)送文件;另一種方法是用Unix的shell編寫(xiě)一個(gè)批處理的腳本文件, 以執(zhí)行該腳本文件來(lái)自動(dòng)批量發(fā)送數(shù)據(jù) 。上述兩種方法雖然都可以實(shí)現(xiàn)自動(dòng)批量發(fā)送數(shù)據(jù)文件的目的,但卻存在一些安全隱患 。這兩種方法都使用了純文本文件的方式來(lái)存放遠(yuǎn)程機(jī)器的host名、IP地址、用戶名和密碼,因此只要用簡(jiǎn)單的Unix命令如cat、vi、more等就可以對(duì)遠(yuǎn)程機(jī)器的主要秘密一覽無(wú)遺 。為增加安全性,必須對(duì)這些秘密信息進(jìn)行隱藏和加密 。筆者用C語(yǔ)言程序的二進(jìn)制代碼封裝遠(yuǎn)程機(jī)器的IP地址、host名、用戶名和密碼以增加其安全性 。在用C語(yǔ)言進(jìn)行編程封裝時(shí),注意不能在程序中把遠(yuǎn)程機(jī)器的IP地址、host名、用戶名和密碼等重要信息直接賦值給字符串變量 。如果直接賦值給字符串變量,就很容易被人用Unix命令strings、hd和Dos操作系統(tǒng)的常用工具pctools從C程序的二進(jìn)制代碼中找到上述重要信息 。還要注意不能在程序執(zhí)行過(guò)程中產(chǎn)生帶有上述遠(yuǎn)程機(jī)器重要信息的中間文件 。如果出現(xiàn)這些中間文件,雖然可以在程序結(jié)束前刪除它們,但遇到發(fā)送的數(shù)據(jù)文件數(shù)量多時(shí)間長(zhǎng)時(shí), 這些中間文件就有可能被調(diào)看而泄密,所以最好不要在程序中產(chǎn)生中間文件 。下面這個(gè)簡(jiǎn)短的程序例子是從本地機(jī)器的超級(jí)用戶中把數(shù)據(jù)文件發(fā)送到另一臺(tái)機(jī)器的超級(jí)用戶中, 可以實(shí)現(xiàn)多個(gè)文件的連續(xù)自動(dòng)批量發(fā)送 。盡管該程序使用了超級(jí)用戶進(jìn)行數(shù)據(jù)發(fā)送,但由于編程時(shí)進(jìn)行了巧妙的設(shè)計(jì),所以當(dāng)它被編譯成可執(zhí)行代碼后,很難從這些二進(jìn)制代碼中發(fā)現(xiàn)有關(guān)本地計(jì)算機(jī)和遠(yuǎn)程計(jì)算機(jī)的安全方面的重要信息 。同時(shí),該程序采用了管道通信方法從而在執(zhí)行過(guò)程中不會(huì)產(chǎn)生任何中間文件,安全性相對(duì)較高 。實(shí)現(xiàn)代碼如下:file://安全發(fā)送數(shù)據(jù)
#include
#include
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ù):n”);
for(i=1;i{
sprintf(runl,“l(fā) %s”,argv[i]);
system(runl);
}
sprintf(ftpcmd,“%s%s -n -i %.2f.%.2f <
sprintf(ftpcmd,“%s%s %c%c%c%c %s n”,ftpcmd,us,u1,u2,u3,u4,pw);
sprintf(ftpcmd,“%scd /usr/tmp n”,ftpcmd);
for(i=1;i{
sprintf(ftpcmd,“%sput %s n”,ftpcmd,argv[i]);

推薦閱讀