科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件设置基本系统-FreeBSD 技术文摘

设置基本系统-FreeBSD 技术文摘

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

FreeBSD系统是一种安全性非常好的通用操作系统,在Internet上很少发生FreeBSD系统被攻击的报告,事实上最近一端时间内CERT的安全报告中几乎没有发生在FreeBSD系统上的安全报告。

来源:早雪网 2008年5月20日

关键字: 操作系统 技巧 FreeBSD

  • 评论
  • 分享微博
  • 分享邮件
    PAM是一种新的、更为灵活的认证机制,以前的FreeBSD版本并不支持这种方式。PAM虽然更为灵活,但对于一般目的,缺省的支持s/key和标准认证方式的设置就能满足需要了,一般不必改动配置文件。然而有些时候,譬如 ISP,通常使用RADUIS服务器来保存用户的认证数据,此时使用RADUIS进行认证就能带来非常大的益处。因为 PAM涉及系统认证,因而对安全性非常重要,不能轻易加入一个非信任的认证模块,因为除了模块本身的问题之外,认证模块中很容易加入后门。建议经常检查 /etc/pam.conf,/etc/pam.d/目录,以及/usr/lib/*pam* 文件是否被非法改动,以保证系统安全。
       
    * 网络服务与应用程序安全 

  由于提供服务与保障系统安全性是有冲突的,提供的服务越多,就会存在越多的潜在的危险性。因此为了增加系统安全,就要尽量减少系统提供的服务。

  提供网络服务的守护进程主要有两种启动方式,一种为从系统启动文件中启动,另一种为通过inetd超级守护进程启动应用程序。
 
    * 系统rc文件 

  通常的系统启动文件启动的守护进程有sendmail、syslogd、lpd等,要改变系统启动的服务进程,需要更改的文件包括 /etc/rc.conf、/etc/rc.local,以及/usr/local/etc/rc.d 与/usr/X11R6/etc/rc.d目录下的以.sh结尾的启动文件(这两个启动脚本目录是由rc.conf 中的local_startup定义,因此也有可能被设置为了其他的值)。除非特殊情况,其他的rc文件不应该被改动,如果其他的rc文件被非法更改,很可能是入侵行为。

  特别需要注意/etc/default/rc.conf,/etc/rc.conf.local文件,因为这些文件也能用于设置启动服务,而不被管理员所注意,因此可能是入侵者用于放置后门程序的位置。

  为了减少守护进程,就需要将rc.conf中相关选项设置为NO,例如要屏蔽sendmail,就可以设置 sendmail_enable=”NO”。此外,缺省的rc.local文件中没有内容,因此在这里也不应该有降低系统安全的设置, /usr/local/etc/rc.d/和/usr/X11R6/etc/rc.d/目录下的执行脚本为安装其他软件包时所安装的,对于不希望提供的网络服务,应该将执行脚本更改为以其他后缀结尾的文件,只有以 .sh结尾的执行脚本才会在启动时自动执行。

  一个安全的FreeBSD系统,应该具有干净的rc.local文件,/usr/local/etc/rc.d 与/usr/X11R6/etc/rc.d目录,以及尽量减少基本启动进程的rc.conf文件。

  守护进程直接放在rc文件中启动,将具备root的权限,危险性较大。如果能使用用户的身份可以执行守护进程的相应操作,就应该使用用户的身份执行它。这可以通过使用su命令启动服务进程的方式,代替直接启动服务进程的命令。

su user services_process
 
    * inetd服务器

  然而,Unix系统中绝大多数服务进程还是通过超级服务器进程inetd来启动的。它的设置文件为/etc/inetd.conf ,以下为这个文件的一部分。

##$Id: inetd.conf,v 1.30 1998/09/30 16:12:40 wosch Exp $## Internet server configuration database##@(#)inetd.conf5.4 (Berkeley) 6/30/90#ftpstreamtcpnowaitroot/usr/libexec/ftpdftpd -ltelnetstreamtcpnowaitroot/usr/libexec/telnetdtelnetdshellstreamtcpnowaitroot/usr/libexec
/rshdrshdloginstreamtcpnowaitroot/usr/libexec/rlogindrlogindfingerstreamtcpnowait/3/10 nobody /usr/libexec/fingerdfingerd -s#execstreamtcpnowaitroot/usr/libexec/rexecdrexecd#uucpdstreamtcpnowaitroot/usr/libexec
/uucpduucpd#nntpstreamtcpnowaitusenet/usr/libexec/nntpdnntpdcomsatdgramudpwaitroot/usr
/libexec/comsatcomsatntalkdgramudpwaitroot/usr/libexec/ntalkdntalkd

  这个文件中的每一行对应一个服务程序。为了增强系统安全,建议除了必要的服务,如telnetd、ftpd之外,其他比如rshd、rlogind等r 命令服务程序,fingerd等守护进程都应该加以注释。telnet和ftp 也应该与S/key等认证方式相结合,来保证口令的安全性。除非需要,不要提供匿名ftp服务。

  当使用rlogin,rsh等r命令的时候,/etc/hosts.equiv文件和用户个人目录下的.rhosts 文件中的设置将对系统安全有严重的影响。

  如果要求更安全的系统,甚至可以屏蔽inetd,不使用inetd来提供任何服务,通过其他安全途径来完成远程访问FreeBSD。要屏蔽inetd,需要在rc.conf中改变inetd_enable变量的值为NO。即使使用inetd的时候,最好让inetd记录相关日志,这需要使用参数-l启动 inetd,在rc.conf中可以设置inetd_flags为”-l”。

  当需要启动某个守护进程的时候,inetd.conf中的第五列参数对安全性有重要影响,这个参数设置启动这个进程的用户标识,应该尽量不要使用root用户,以减少具备root身份的进程。

  为了避免服务程序出现问题,还要经常更新软件的版本,或应用补丁程序,以堵上可能出现的漏洞,因此有些服务程序的老版本存在已经发现的安全问题,如果不及时弥补,入侵者就能利用这些漏洞达到入侵系统的目的。虽然每个FreeBSD 版本使用的都是最新版本的服务软件,但服务器软件是不断升级的,因此就需要及时升级服务器软件。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章