|
通过服务管理工具(SMF)实现系统保护(四)
测试属性更改是否生效。首先,启用服务。然后以普通用户的身份发送一个文件。最后验证记录文件是否被更新。 A # svcadm enable svc:/network/ftp:default A # svcs ftp STATE STIME FMRI online 07:07:07 svc:/network/ftp:default 以普通用户的身份,将一个文件放入FTP存储库中。 B $ ftp A Connected to A. 220 A FTP server ready. Name (A:testftp): 331 Password required for testftp. Password: 230 User testftp logged in. Remote system type is UNIX. Using binary mode to transfer files. ftp> mput design.tar mput design.tar? y 200 PORT command successful. 150 Opening BINARY mode data connection for design.tar. 226 Transfer complete. ^D ftp> 221-You have transferred 0 bytes in 0 files. 221-Total traffic for this session was 361 bytes in 0 transfers. 221-Thank you for using the FTP service on A. 221 Goodbye. B $ 以超级用户身份,检查xferlog文件中的记录。该记录表明用户将design.tar文件从B机发送到A机的操作不成功。 A # cat /var/log/xferlog Sat Jan 20 07:18:10 2009 1 B.mydomain.com 0 /home/test/design.tar b _ i r test ftp 0 * c 3.3.4 配置Apache2 Web服务 Apache2 Web服务程序是Solaris操作系统的一部分。Web服务器通常是互击者的目标。我们可使用RBAC来减少服务器的漏洞。其他Solaris功能,如区域,在创建网络服务的时候也能发挥作用。 可执行以下步骤来配置使用RBAC的服务: 1. 列出服务属性。 2. 创建一个权限文件或一个角色,或者是用于服务的授权许可。 3. 为服务添加权限或删除权限。 4. 验证服务属性是否更改成功。 5. 启用服务。 6. 验证属性更改是否生效。 SUNWapch2r和SUNWapch2u数据包提供了Apache2 Web服务器程序。Apache2服务的默认状态时禁用。 # svcs apache2 disabled 11:11:10 svc:/network/http:apache2 默认状态下,服务是通过root帐户启动。但是Apache2服务的http.conf文件创建了一个无交互后台程序webservd来运行该服务。当你用默认文件配置服务时,该服务会在root帐户下启动,切换到webservd帐户,通过所有权限运行。 执行下列操作可减少Apache2服务器的权限,并用webservd启动该服务。 ·删除服务不需要的基本权限,proc_session, proc_info和file_link_any。 ·添加服务使用特权端口时所需要的网络优先权, net_privaddr。 ·不要更改限定设置。 ·将用户和组设置为webservd。那么在SMF清单中设置完用户和组后,服务以webservd启动而不是以root帐户启动。 # svccfg -s apache2 ... apache2> setprop start/user = astring: webservd ... apache2> setprop start/group = astring: webservd ... apache2> setprop start/privileges = astring: basic,!proc_session,!proc_info,!file_link_any,net_privaddr ... apache2> end # svcadm -v refresh apache2 Action refresh set for svc:/network/http:apache2. 欲验证该配置是否已经被成功设置,可检验服务的启动属性。 # svcprop -v -p start apache2 start/exec astring /lib/svc/method/http-apache2\ start start/user astring webservd start/group astring webservd start/privileges astring basic,!proc_session,!proc_info,!file_link_any,net_privaddr start/limit_privileges astring :default start/use_profile boolean false 注意,如果你创建的权限文件包含在服务的特权中,那么你可以输入权限文件的名称,并将其作为use_profile属性的值,这样可免去设置特权的麻烦。 现在,我们可以启用服务。验证服务是否在webservd帐户下开启,且是否具备受限特权。 # svcadm -v enable -s apache2 svc:/network/http:apache2 enabled. # svcs apache2 STATE STIME FMRI online 12:02:21 svc:/network/http:apache2 # ps -aef | grep apache | grep -v grep webservd 5568 5559 0 12:02:22 ? 0:00 /usr/apache2/bin/httpd -k start ... # ppriv -S 5559 5559: /usr/apache2/bin/httpd -k start flags = E: net_privaddr,proc_exec,proc_fork I: net_privaddr,proc_exec,proc_fork P: net_privaddr,proc_exec,proc_fork L: limit
|
|||||||||||||||
|
|
| 最新文章 |
| 图片主题 | ||||
| |
||||
| 热门文章 |
| 推荐文章 | ||||
| |
||||
| 相关文章 |
| 便民服务 | ||||||||||||||||||||||||||||||||
| |
||||||||||||||||||||||||||||||||