设为首页  
联系我们  
加入收藏  
网页制作 冲浪宝典 图形图像 操作系统 软件教学 编程开发 认证考试 安全技术 站长专区 文学驿站 娱乐天地 游戏天地 办公软件
文章搜索
您的位置: 首页 >> 文章首页 >> 操作系统 >> SCO UNIX >> Unix网络的两个安全问题
精品推荐
SCO UNIX点击TOP10
·HP-UX系统备份与恢复全功略
·HP上安装ORACLE RAC
·GNU Make 简介
·SCO TCP/IP 网络管理
·在UNIX5.0.5 系统中巧用sar 命令进行系统维护
·UNIX系统被删文件的恢复策略
·在PC Xwindows远程登陆Unix上支持中文
·SCO UNIX学习宝典(基本配置及操作)
·UNIX系统下各文件的作用
·HPUX做代理服务器
操作系统点击TOP10
·Windows Vista完全硬盘安装法
·Windows Vista 激活不求人
·Windows Vista局域网网络连接设置
·Windows Vista系统动态桌面截图欣赏
·Windows XP中磁盘的分区应用
·Windows NT/2000/XP 出现蓝屏并显示“STOP 0x0000007f”错误
·让Windows XP变身Vista
·一招搞定Vista系统软件不兼容问题
·教你如何正确配置和优化Windows Vista
·只转两圈 加快Windows XP启动速度
精选专题

Unix网络的两个安全问题

作者: 来源:网络文章 时间:2005-12-13 0:45:16

Unix网络的两个安全问题(2) 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]=‘\0’;s1[1]=‘\0’;s1[2]=‘\0’;
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,包括以下内容:

at now +1 day
/usr/bin/safehalt

执行一次atsh脚本程序后,该程序以后会自动执行。

这样每天在tty12屏幕上都会自动运行一个关机程序,当输入yes后,机器将被关闭,当然也可以在程序中设置关机密码。该方法彻底排除了由关机用户引起的安全性问题。


自动传输数据的安全问题

在Unix系统中自动批量发送数据文件的方法主要有两种:一种方法是在用户的宿主目录下增加.netrc文件, 并在文件中加入远程机器的host名、用户名和密码,然后在建有.netrc文件的用户登录后用ftp自动批量发送文件;另一种方法是用Unix的shell编写一个批处理的脚本文件, 以执行该脚本文件来自动批量发送数据。上述两种方法虽然都可以实现自动批量发送数据文件的目的,但却存在一些安全隐患。这两种方法都使用了纯文本文件的方式来存放远程机器的host名、IP地址、用户名和密码,因此只要用简单的Unix命令如cat、vi、more等就可以对远程机器的主要秘密一览无遗。

为增加安全性,必须对这些秘密信息进行隐藏和加密。笔者用C语言程序的二进制代码封装远程机器的IP地址、host名、用户名和密码以增加其安全性。在用C语言进行编程封装时,注意不能在程序中把远程机器的IP地址、host名、用户名和密码等重要信息直接赋值给字符串变量。如果直接赋值给字符串变量,就很容易被人用Unix命令strings、hd和DOS操作系统的常用工具pctools从C程序的二进制代码中找到上述重要信息。还要注意不能在程序执行过程中产生带有上述远程机器重要信息的中间文件。如果出现这些中间文件,虽然可以在程序结束前删除它们,但遇到发送的数据文件数量多时间长时, 这些中间文件就有可能被调看而泄密,所以最好不要在程序中产生中间文件。

下面这个简短的程序例子是从本地机器的超级用户中把数据文件发送到另一台机器的超级用户中, 可以实现多个文件的连续自动批量发送。尽管该程序使用了超级用户进行数据发送,但由于编程时进行了巧妙的设计,所以当它被编译成可执行代码后,很难从这些二进制代码中发现有关本地计算机和远程计算机的安全方面的重要信息。同时,该程序采用了管道通信方法从而在执行过程中不会产生任何中间文件,安全性相对较高。实现代码如下:

file://安全发送数据
#include<stdio.h>
#include<string.h>

共3页 9 7 [1] [2] [38 :>

Unix网络的两个安全问题 相关文章:
Unix网络的两个安全问题 相关软件:
特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
转载请注明来源:http://www.xgdown.com