如何建立安全的ProFTPD应用经验谈
2007-06-12 00:00:00 来源:WEB开发网可以把xinetd看做一个管理启动服务的管理服务器,它决定把一个客户请求交给那个程序处理,然后启动相应的守护进程。xinetd模式工作原理见图1。
图1 xinetd模式网络服务
和stand-alone工作模式相比,系统不想要每一个网络服务进程都监听其服务端口。运行单个xinetd就可以同时监听所有服务端口,这样就降低了系统开销,保护系统资源。但是对于访问量大、经常出现并发访问时,xinetd想要频繁启动对应的网络服务进程,反而会导致系统性能下降。察看系统为Linux服务提供那种模式方法在Linux命令行可以使用pstree命令可以看到两种不同方式启动的网络服务。
xinetd提供类似于inetd+tcp_wrapper的功能,但是更加强大和安全。能有效的防止拒绝服务攻击(Denial of Services):
1、限制同时运行的进程数。
通过设置instances选项设定同时运行的并发进程数:
instances=20
当服务器被请求连接的进程数达到20个时,xinetd将停止接受多出部分的连接请求。直到请求连接数低于设定值为止。
2.限制一个IP地址的最大连接数:
通过限制一个主机的最大连接数,从而防止某个主机独占某个服务。
per_source=5
这里每个IP地址可以连接单个IP地址的连接数是5个。
3.限制负载。
xinetd还可以使用限制负载的方法防范拒绝服务攻击。用一个浮点数作为负载系数,当负载达到这个数目的时候,该服务将暂停处理后续的连接:
max_load = 2.8
上面的例子中当一项系统负载达到2.8时,所有服务将暂时中止,直到系统负载下降到设定值以下。说明要使用这个选项,编译时要加入--with-loadavg ,xinetd将而已处理max-load配置选项。从而在系统负载过重时关闭某些服务进程,来实现某些拒绝服务攻击。
更多精彩
赞助商链接