(精品)第十章 守护进程与计算机网络安全.ppt
《(精品)第十章 守护进程与计算机网络安全.ppt》由会员分享,可在线阅读,更多相关《(精品)第十章 守护进程与计算机网络安全.ppt(27页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、守护进程(1)n一般服务程序所遵循的通用模式一般服务程序所遵循的通用模式n创建一个套接口(socket)n绑定端口和地址(bind)n使套接口处于监听状态,监视客户的连接请求(listen)n接受客户的请求(accept)n守护进程守护进程n守护进程是一种在后台运行的进程,独立于所有终端n网络服务器一般都采用这种方式运行,如Web服务器、FTP服务器、邮件服务器等。守护进程(2)n守护进程的特点守护进程的特点n当系统初始化时,它们被一次性启动。n它们启动后一直运行着,直至系统关闭。n大部分时间等待某一事件的发生,事件发生时它们便处理这些事件。n往往调用其他进程处理各种请求。守护进程(3)n守护
2、进程的几种启动方式守护进程的几种启动方式n系统初启时,由初始化文件/etc/rc启动(如某些服务进程),这样启动的守护进程具有超级用户权限n由crontab周期性地启动(/etc/cron.allow与/etc/cron.deny)n由命令at在某一指定的时间运行(只执行一次)(/etc/at.allow与/etc/at.deny)n从终端上启动,这种方式的守护进程与终端相连,编写程序时,要处理好与终端、与同一终端相关的其他进程之间的关系守护进程(4)nxinetd守护进程守护进程在redhat linux7.0中,用xinetd来启动一些守护进程nUNIX系统以client/server方式
3、提供多种服务,如ftpd、telnetd、httpd等服务(以d结尾,意为daemon),这些进程事先启动服务进程,以便随时处理来自本地或远程的服务请求.但这些服务进程始终运行着,占用太多的系统资源,而且可能有些服务进程很少使用.n从文件/etc/services查找服务所使用的端口号,并bind()echo 7/tcp ftp 21/tcp telnet 23/tcp守护进程(5)n几点几点说明说明n/sbin/chkconfig-list查看启动进程nchkconfig-level 启动或停止服务,如:#chkconfig-level 2 crond off n还可直接用:/etc/rc.
4、d/init.d/httpd stop|start|restartn关于运行级:0、5关机;1、s或S单用户;2、3或4多用户;6重新启动n用户自己编写守护进程时,不必使用socket()、bind()、listen()、accept()等系统调用,而是根据/etc/xinetd.conf登记的目录中的文件完成相应的工作守护进程(6)nxinetd守护进程守护进程实例实例:守护程序 inetdserv.cpp客户程序 inetdcli.cpp配置文件 inetdserv(root用户建立)守护进程(7)ninetdserv守护进程实现步骤守护进程实现步骤n配置文件为/etc/xinetd.co
5、nf,其最后一行“includedir/etc/xinetd.d”,说明了xinetd的配置文件在/etc/xinetd.d/目录中n已经编译好守护程序inetdserv(见inetdserv.cpp)拷贝到/tmp目录下n以root的身份在/etc/xinetd.d/目录中编辑配置文件inetdserv(见下页)n修改文件/etc/services,添加一行:inetdserv 9099/tcpn/etc/rc.d/init.d/xinetd restart守护进程(8)#default:on#description:The proftpd server serves proftpd ses
6、sions;service inetdserv disable=no port=9099 socket_type=stream protocol=tcp user=root server=/tmp/inetdserv wait=no 守护进程(9)n客户请求客户请求n./inetdcli 202.113.29.19注意:将/etc/xinetd.d中daytime服务启动$telnet 202.113.29.19 13$telnet 202.113.29.19 9099守护进程(10)n几个时间函数的用法几个时间函数的用法#include ntime():获得当前时间戳nlocaltime()
7、:将time_t类型的日期/时间转换为ASCII码nstrftime():格式化日期/时间%a 缩写星期名%A星期全名%b 缩写月份名%B月份全名%C两位数字世纪(year/100)%Y 四位数字年%d 日(0131)%D mm/dd/yy或dd/mm/yy(少用)%H 小时(0023)%M 分(0059)%S 秒网络安全程序设计(1)在编写客户/服务器程序时,应考虑程序的安全性问题,即程序抵御外来威胁的能力,外来的威胁可能来自Internet或本地局域网络的某个用户n套接口编程中网络安全的实现套接口编程中网络安全的实现n信任状:适用于本地用户n通过客户网络地址识别用户:简单n通过主机和域名标
8、识用户的方法适于以下访问通过主机和域名标识用户的方法适于以下访问n授予对指定主机的访问权限n授予对指定域内主机的访问权限n拒绝外界访问指定主机n拒绝外界访问指定域内的主机n拒绝外界访问与特定名称不匹配的IP网络安全程序设计(2)n通过主机名或域名识别客户通过主机名或域名识别客户TCP服务程序中服务程序中 struct sockaddr_in adr_clnt;int len_inet,c,s;len_inet=sizeof(adr_clnt);c=accept(s,(struct sockaddr*)&adr_clnt,&len_inet);UDP服务程序中服务程序中 struct socka
9、ddr_in adr_clnt;int len_inet,s,z;char dgram512;len_inet=sizeof(adr_clnt);z=recvfrom(s,dgram,sizeof(dgram),0,(sockaddr*)&adr_clnt,&len_inet);网络安全程序设计(3)n获取客户地址后,便可获取主机名获取客户地址后,便可获取主机名 struct sockaddr_in adr_clnt;struct hostent*hp;hp=gethostbyaddr(char*)&adr_clnt,sizeof(adr_clnt.sin_addr),adr_clnt.sin
10、_family);if(!hp)fprintf(logf,”error:%sn”,hstrerror(h_errno);else fprintf(logf,”%sn”,hp-h_name);n得到主机名后,可以授予或拒绝客户对本机资源的访问权限得到主机名后,可以授予或拒绝客户对本机资源的访问权限网络安全程序设计(4)n通过IP地址识别客户虽然用主机名和域名标识客户方便,但服务器获取IP地址后,需使用gethostbyaddr()将IP地址分解成主机名,但攻击者通过设置私有域名服务器,骗过IP地址的检查,故直接用IP地址识别客户为好n将IP地址和主机名记录到LOG文件中缺点:n若用户的IP地址改
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 精品第十章 守护进程与计算机网络安全 精品 第十 守护 进程 计算机 网络安全
限制150内