SolarisTM for ISPsTM 为 ISP 提供了一种 核心基础结构,包括一套 平台扩展 和 服务。本章将讨论为安装 Solaris for ISPs 扩展和服务而配置您的网络主机的指导原则。这些配置信息对于成功的安装是必不可少的。务请仔细阅读。
在安装 Solaris for ISPs 之前,您 必须 设计您的网络。本节讨论 Solaris for ISPs 网络主机设置的两个通过测试的示例。您可以使用最适合您的环境的网络主机设置示例。
本节描述了一个 基本的 和一个 扩展的 示例网络设置,以及对设置的硬件配置的要求和建议。
我们并未假定在我们的示例网络设置中存在防火墙。如果您正在使用某种 Internet 防火墙产品来控制来往于 Solaris for ISPs 主机的网络通讯流,您应该检查其安全策略以确保支持相应的通讯类型。 本文档 不 提供与 Internet 防火墙有关的建议。
本图说明一种基本示例设置。
三台高端工作站。
主与次 DNS 服务器。
主机 必须 位于连接到 Internet 的某个网络上。
您可以使用网络上的任何服务器作为客户主机。
您在此客户主机上需要一个 Web 浏览器用于 Sun Internet Administrator 和 Sun Internet Services Monitor 客户软件。
三台服务器分别称为 Host A、Host B 和 Host C。 例如,主机服务器可以配置如下:
Host A: 配置此服务器作为服务主机。安装 SWS、 Sun Internet FTP Server,然后将该主机配置为一个主要 DNS 服务器。
Host B: 配置此服务器作为控制台主机。安装 Sun Internet Administrator、 Sun Directory Services 和 Sun Internet Services Monitor。
Host C: 配置此服务器作为服务主机。安装 Sun Internet News Server,然后将该主机配置为辅助 DNS 服务器。
本示例设置中讨论的 DNS 服务器配置仅供参考。您无须在作为 DNS 服务器的某个主机上安装 Solaris for ISPs 扩展和服务。大部分扩展和服务只要求能够定期执行名称查找即可。
本图阐明某个扩充示例网络设置。
四台高端工作站
主要和辅助 DNS 服务器
主机必须在连接到 Internet 的某个网络上。
您可以使用网络上的任何服务器作为客户主机。
在该客户主机上需要一个 Web 浏览器,用于 Sun Internet Administrator 和 Sun Internet Services Monitor 客户软件。
四台服务器分别称为 Host A、Host B、Host C 和 Host D。例如,主机服务器可以配置如下:
Host A: 配置此服务器作为服务主机。安装 SWS、Sun Internet FTP Server,然后将该主机配置为主要 DNS 服务器。
Host B: 配置此服务器作为控制台主机。安装 Sun Internet Services Monitor,然后将该主机配置为辅助 DNS 服务器。
Host C: 配置此服务器作为服务主机。安装 Sun Internet News Server。
Host D: 配置此服务器作为控制台主机。在此主机上安装 Sun Internet Administrator 和 Sun Directory Services。
本示例设置中显示的 DNS 服务器配置仅供参考。您无须在作为 DNS 服务器的某个主机上安装 Solaris for ISPs 扩展和服务。大部分扩展和服务只要求能够定期执行名称查找即可。
设计完网络主机设置之后,准备主机以安装 Solaris for ISPs。参阅 "Solaris for ISPs 平台扩展" 以便按照设计来准备主机。
任何带有 Internet 访问的网络都有一些安全风险。另外,某些 Solaris for ISPs 特性将引进其它风险。对于每种情况均可采取若干安全手段来保护您的网络。下面的章节将讨论一些系统管理方面良好的工作方法和 Solaris for ISPs 的特性,它们将使您得以保护网络免遭这些风险。
将网络与 Internet 上其它网络相连接,会使您的网络遭受潜在的服务中断、未经授权的入侵以及相当大的破坏。本节将讨论这些您必须知道的通常的网络安全风险。保护网络免遭这些风险的措施在 "怎样加强安全性" 中讨论。
“拒绝服务”攻击 (Denial of Service Attacks): 这些攻击禁止系统向顾客提供服务,使顾客不能得到某个服务。例如,攻击可能使用大而无用的流量充斥网络,导致无法向顾客提供服务。最通常的情况是这种攻击可能毁坏系统或者只是让系统在向顾客提供服务时慢的出奇。
缓冲区超运剥削 (Buffer Overrun Exploits): 其中包括利用软件的弱点将任意数据添加进某个程序中,从而在它以根的身份运行时,有可能赋予剥削者对您的系统的根访问权。这也可能导致某种“拒绝服务”攻击。
窃听和重放攻击 (Snooping and Replay Attacks): 窃听攻击涉及某个对网络上的两台机器之间的通讯流进行侦听的入侵者。通讯流可能包含使用 telnet、rlogin 或 ftp 时来回传递的未加密的口令。这有可能造成某个未经授权的个人非法进入您的网络或看到机密数据。
IP 欺骗 (IP Spoofing): 基于 IP 欺骗的攻击涉及对计算机未经授权的访问。通过侦听您的网络通讯流,入侵者找到受信任主机的一个 IP 地址,然后发送消息时指示该消息来自受信任主机。
内部泄密 (Internal Exposure): 绝大多数网络非法进入皆起因于某个心怀恶意或对现状不满的现任或前任雇员滥用对信息的访问权或非法闯入您的网络。
本节讨论 Solaris for ISPs 中使得软件对某些安全风险不设防的一些特性。有关免遭这些风险的保护措施,请参阅 "怎样加强安全性"。
管理产品: 用于单个服务(如 ftp 或 news)的 Solaris for ISPs 管理产品,为访问特权操作提供了新的途径。入侵者通过掌握、猜测或破译管理员的口令,有可能利用这些服务的管理员接口通过网络变更服务的特性。然而,与 Solaris for ISPs 捆绑着的 SunscreenTM SKIP 鉴别进来的通讯流,并确保出去的数据在途中不被他人查看。
远程命令执行机制: Sun Internet Administrator 通过其管理员控制台的远程执行机制提供对所有命令行管理命令的访问。入侵者也许会冲破这一机制获得对这些命令的访问权。然而,可以由根加以限制,使得只有已登记的系统管理员才具备对这些命令的访问权。
Sun Directory Services: 这一 Solaris for ISPs 软件可用于存储和管理其它 Solaris for ISPs 扩展和服务的口令和信息。入侵者有可能侵入并利用对这些特权信息的访问权。然而,Sun Directory Services 中的绝大多数口令是加密的。Sun Directory Services 中未加密的口令则要求根访问权。
要想保护您的系统免遭未授权用户的访问、毁坏或变更信息,同时让授权用户照常使用网络:
经常变更口令并鼓励使用不易猜测的口令。如果使用本地文件进行口令管理,Solaris for ISPs 软件将强制所有口令定期变更。
使用公共密钥密码体系在 IP 级对受信任主机之间的所有通讯流加密。与 Solaris for ISPs 捆绑着的 SKIP 鉴别进来的 IP 通讯流,并确保出去的数据在途中不被他人改变或查看。
使用能够标识受信任主机并封锁欺骗性 IP 地址的路由器。
解决脆弱性并提高您的软件的抗入侵能力。
禁止那些给您的网络带来安全风险的不需要的服务。Solaris for ISPs 主机配置软件,作为初始安装进程的一部分,可以禁止某些 'r' 命令,从而保证对口令的保护并限制未授权的个人对主机的访问。
只向雇员提供对工作需要的数据或信息的访问。
实施诸如网络监视和防火墙之类的安全机制。
本节讨论您在主机配置过程中必须考虑和处理的一些 Solaris for ISPs 缺省特性。本节的主题包括:
对 Solaris 的变更-Solaris for ISPs 修改的系统文件。
记录文件管理-Solaris for ISPs 的驻留守护程序。
用户定义的正文-创建后安装正文。
缺省管理 Web 服务器的设置-恢复 AWS 缺省设置。
本节讨论可在主机配置过程中对 Solaris 服务进行的 一次性变更以及可重新配置的变更。若您接受缺省安装设置,这些变更将在安装了 Solaris for ISPs 的主机上进行。
您必须复审(若有必要也可修改)在主机配置期间对基础 Solaris 的这些变更。这些变更可能不会合并进未来版本的 Solaris for ISPs。
Solaris for ISPs 包含一个基础配置单元,它只运行一次,用以保证口令的安全性以及保护文件属主的文件权限。它进行一组缺省变更,作为初始安装进程的一部分。此单元的功能类似于如下位置的正文: ftp://ftp.wins.uva.nl:/pub/solaris/fix-modes.tar.gz。要撤消这些变更,请转向 "回复变更"。
本节将研究在基础软件包中只自动执行一次的初始安装步骤。您在安装 Solaris for ISPs 之前必须注意这一节。
正文将被执行。然而,这些变更仅当引起冲突的对文件的变更尚未被您设置时才会发生。
它将 umask 077 添加到 /.cshrc 和 /.profile。这使得对在交互式根外壳下创建的文件的缺省文件权限只能被根读写。
它将根添加到 /etc/ftpusers 从而禁止根 FTP 到主机的能力。
它将 noshell 设置为 sys、uucp、nuucp 和 listen 帐户的缺省外壳以便记录未经授权的登录企图。这使得在系统上检测入侵变得更容易。
它在 /etc/default/passwd 中设置 MAXWEEKS=12 。若使用本地文件来管理口令,这将强制所有口令定期变更。
它创建 S35umask,使由系统守护程序创建的文件的缺省文件权限为只能被文件属主写入。
它通过在文件 /etc/rc2.d/S69inet 中添加行 ndd-set/dev/ipip_respond_to_echo_broadcast 0,从而禁止某个“拒绝服务”攻击。
它将 /etc/syslog.conf 替换为一个新版本,以便确保更颗粒化的记录和检测入侵。此新版本根据设备和记录级别两者来隔离消息,然后将高级别的消息发送到中央记录服务器。
它执行 bsmconv 并配置 /etc/security 以记录管理动作和登录及注销。这将启用 C2 审查,可以捕获 syslog 所遗漏的事件。
本单元做出的所有变更都记录到 /var/sadm/install/contents。这将支持将来安装修补程序。
使用缺省配置安装 Solaris for ISPs 平台扩展和服务,将覆盖安装它们的主机上的缺省服务特性。这个过程创建了一个更加安全的服务器,因为它禁止了对于在系统上安装的 Solaris for ISPs 软件来说并非必要的 Solaris 网络实用程序。
在配置主机过程中,您必须复审,并且若有必要还可能要修改缺省配置。
若您接受缺省安装设置,即意味着这些 Solaris 服务将被禁止,除非另有说明。虽然并不要求禁止这些服务,可我们建议禁止这些服务以 避免潜在的安全漏洞以及保护资源。要变更这些服务的值,inetd.conf 将被修改,除非另有说明。要回复这些变更,请转向 "回复变更"
我们建议禁止下列服务以确保对口令的保护和限制未经授权的个人对主机的访问。
若您接受缺省设置,您将不再能够使用这些被禁止的 "r" 命令访问主机。
rexecd: 禁止该服务以终止对通过 rexec(3N) 执行远程命令功能的支持,该功能以明文形式传递口令。
rlogind: 禁止该服务以确保口令的安全,因为它在远程记录时依靠 .rhosts 和 hosts.equiv 进行无口令鉴别。
rshd: 禁止该服务以保护口令,因为它在执行远程命令时依靠 .rhosts 和 hosts.equiv 进行无口令鉴别。
若您接受缺省设置,下列服务将启用。您必须复审并有可能要修改设置。
telnetd: 若您接受缺省安装设置,注意该服务会被启用,因为它启用远程登录机制。
ftpd: 若您接受缺省安装设置,注意该服务会被启用,因为它提供对远程网络站点之间以不安全性最低的方式传送文件的支持。若您选择 Sun Internet FTP Server 进行安装,该服务将被禁止。
若您需要 telnet 和 FTP 服务的安全性,请将您的网络设置成文件传送请求只在网络内部进行。
我们建议禁止下列服务,以防止未经授权的用户访问信息。禁止这些服务将会增强系统的安全性,并通过阻止主机对这些网络请求做出响应而限制对系统信息的访问。
fingerd: 禁止该服务以使某个基于网络的 finger 请求无法接触信息。
netstat: 禁止该服务以确保各种与网络有关的数据结构的内容不被远程调用 netstat 所暴露。
rstatd: 禁止该服务以防止对系统统计信息的访问。
rusersd: 禁止该服务以保护有关已登录用户的信息。
systat: 禁止该服务以中止对在主机上远程运行 ps 的支持。
routing: 禁止该服务以确保主机未当作路由器来操作。若被禁止,则创建文件 /etc/notrouter。
sendmail: 禁止该服务以防止“拒绝服务”攻击以及禁止对接收和发送 邮件的支持。 S88sendmail 被修改。
sprayd: 禁止该服务以中止对测试网络和记录由 spray 发送的包的支持。
我们建议禁止下列 CDE 和 OpenWindows 服务,除非您的环境需要它们。禁止这些服务将增强系统的性能。
cmsd: 禁止该服务,因为仅当 CDE 日历位于主机上时才需要它。
dtspcd: 禁止该服务以中止对 CDE 会话的支持。
kcms_server: 禁止该服务以中止对远程访问 OpenWindows KCMS 简要表的支持。
ttdbserverd: 禁止该服务以中止对适当的 CDE 操作所要求的 Tooltalk 数据库服务器的支持。
我们建议禁止下列网络 (inetd) 服务,除非您的环境要求它们。禁止这些服务将会释放资源并增强系统性能。若您需要下面列出的任何网络实用程序,请修改缺省配置。
chargen: 禁止该服务以中止对测试 inetd 和生成字符的支持。
discard: 禁止该服务以中止丢弃来自正在测试的 inetd 的全部输入。
echo: 禁止该服务以中止对来自正在测试的 inetd 的所有输入回显 (echo back) 的支持。
fs.auto: 禁止该服务以禁用字体服务器。
若您接受缺省设置,下列服务将被启用。您必须复审,还有可能要修改设置。
time: 若您接受缺省安装设置,注意该服务将被启用,因为它阻止某人远程查询系统的时间。它返回机器可读的时间。
cachefsd: 若您接受缺省安装设置,注意该服务将被启用。这是 cacheFS 守护程序。
我们建议禁止下列服务,除非它对于您的环境必不可少。禁止这些服务将增强系统的性能。如果您需要下面列出的任何服务,请修改缺省配置。
automountd: 禁止该服务,因为它仅仅支持自动装配而非普通 NFS 装配。要变更其值,S74autofs 将被修改。
comsat: 禁止该服务以中止在主机上新邮件的 biff(1) 通知。
daytime: 禁止该服务以中止对返回当前时间的支持。
rquotad: 禁止该服务以确保主机未被当作支持其文件系统上的磁盘限额的 NFS 服务器来操作。
sadmind: 禁止该服务以中止对用 Solstice AdminSuite 来执行分布式系统管理操作的支持。
talkd: 禁止该服务以中止对运行交互式谈话程序的支持。
tnamed: 禁止该服务以中止对 DARPA 名称服务器协议的支持。
lpd: 禁止该服务以确保主机未被当作 BSD 打印服务器来操作。这并不禁止系统 V 打印服务器。
uucpd: 禁止该服务并中止支持将以源文件自变量命名的文件复制到以目标文件自变量命名的文件。
walld: 禁止该服务并中止对由 wall 发送消息的支持。
Xaserver: 禁止该服务并中止对基于 X 的音频的支持。
您也可以在主机配置过程中参考联机帮助,以获得有关启用或禁用 Solaris 服务方面的帮助。
在主机配置期间所做的变更,目的是加强和调节系统的安全性和性能,可能不会合并进下一版本的 Solaris for ISPs。本节将讨论为了回复在主机配置期间对基础 Solaris 所做的变更,您可以采取的步骤。
登录到您打算在其中回复变更的计算机,并提供自己的根访问权。确定您要回复的变更,然后按照圆点列表中的指导进行:
为安全和优化性能起见,基础 Solaris 服务被加以调节,这是从主机配置图形用户接口 (GUI) 进行的。这些变更是可重新配置的,您可以使用主机配置 GUI 来重设其值。参考 Solaris for ISPs 安装指南 和主机配置联机帮助来重设 Solaris 服务值。
在安装后创建的 /etc/rc2.d 中的两个附加的引导文件 S35umask 和 S68echo,当 Solaris for ISPs Platform 组件被卸载时自动去除。
您必须手动回复对系统配置所做的某些 一次性设置。要回复固化的变更:
输入: # /opt/SUNWfixm/bin/fixmodes -u 以回复一次性设置。
输入: # bsmunconv 以便从 C2 审查模式切换到 C1 模式。这将关闭为捕获 syslog 遗漏的事件而打开的审查。
将当前版本的 /.cshrc、/.profile、/.zshenv、/etc/ftpusers、/etc/default/passwd、/etc/syslog.conf 与 file.pre-hcfconfig 版本的文件相对比。当前文件包含固化的变更和在执行固化之后可能已做的任何其它编辑。确定主机配置软件所做的变更,然后使用文本编辑器回复这些变更。
没有确定在主机配置当时或以后所做的变更之前,请勿 file.pre-hcfconfig 复制到当前版本的 file。
本节描述执行记录文件管理的驻留守护程序 hclfmd。这一驻留守护程序以根的身份运行。它在引导时启动并执行下列功能:
它对 /etc/syslog.conf 中的记录文件列表进行语法分析,以获知哪些文件路径不是开始于 /dev(与系统设备相关联的文件),同时每天执行清理、日志和循环传递。
对于由 syslogd 写的每个记录文件,它执行下列功能:
重命名已有的记录文件并创建一份新的每日记录。
向 syslog 守护程序发送重新启动信号 (-HUP),以便创建新的每日记录。
通过每星期压缩每日记录文件生成每周归档,并把它存储为 name.YYYYMMDD-YYYYMMDD.tar.z。
放弃一个月以上旧的每周归档。
从 /etc/security/audit_control 获取审查记录的位置,并每天执行清理、日志和循环传递。
为每个本地装配的审查目录执行下列功能:
执行 audit -n 以创建一个新的每日记录。即用信号通知审查目录关闭当前的审查文件并在当前审查目录中打开一个新的审查文件。
通过每周压缩每天的记录文件生成一个周记录文件,并将它存储为 audit.YYYYMMDD-YYYYMMDD.tar.z。
放弃一个月以上旧的每周归档。
每 10 分钟执行一次入侵检查。
本节讨论那些特定的安装和(或)配置更新,您可能提供它们以在安装 Solaris for ISPs 之后执行。这些参数可按照外壳正文来写。例如,您写的命令可能类似于: echo "foo" >> /etc/ftpusers
可以在配置主机时登记到您创建的这个正文的路径(Post-Configuration Command 屏幕)以便安装 Solaris for ISPs。另一种方法是,您可以将这些命令连在一起。由您提供的这一后配置命令将在批安装期间被 Solaris for ISPs 后安装正文所执行。
创建此正文是可选择的。
您在正文中可以将其安排为在安装之后执行的某些后安装系统设置示例在下面做了阐明。例如:
写一段程序以验证和确认对系统设置的变更。
写一段程序以在安装后通告或打印磁盘空间可用情况。
写一段程序以便为失败的授权条目重新配置来自 syslog 的通告消息。参阅 "记录文件管理"。
写一段程序以配置其它独立软件。
在 /etc/hosts 中输入某些 DNS 服务器的 IP 地址。
设置 /etc/resolv.conf。
修改 /etc/nsswitch.conf。
本节讨论的 DNS 服务器配置仅供参考。您无须重新配置已有的 DNS 服务器。请参阅某个相关的文档以便重新配置您的 DNS 服务器,从而为正规的名称查找支持 Solaris for ISPs 扩展和服务请求。
Sun Internet Administrator 使用 Web 服务器从用户接口执行管理功能。该 Web 服务器被称为“管理 Web 服务器”(Administration Web Server, AWS)。若有必要,您可以重新配置管理 Web 服务器以适合您的环境。请参阅联机帮助来重新配置管理 Web 服务器。为了确保您不会失去缺省配置,本节将讨论缺省管理 Web 服务器配置文件的位置以及恢复缺省设置的方法。
管理 Web 服务器的缺省配置文件位于 /etc/opt/SUNWixamc/awsconf/default/* 和 /var/opt/SUNWixamc/awsconf。重新配置管理 Web 服务器时,只有 /var/opt/SUNWixamc/awsconf 文件的配置是必须要变更的。
要恢复缺省设置,将 /etc/opt/SUNWixamc/awsconf/default/* 复制到 /var/opt/SUNWixamc/awsconf。
为了 Sun Internet Administrator 控制台有效地工作,请勿变更 aws.conf、site.conf、map.conf、realms.conf 和 access.acl 中的缺省设置。