<b>DIY的Linux安全平台</b>[Linux安全]
本文“<b>DIY的Linux安全平台</b>[Linux安全]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
若何保证安全的最大化呢?量体裁衣,有的放矢,取舍得当是关键.现从以下几个方面加以详述.
掌握文件的属性和权限
密切关注文件的属性和权限设置是保证主机文件系统完好性的至关紧急的操作.
两种特别的文件拜候权限辨别是SUID(八进制为4000)和SGID(八进制为2000).设置这两种权限的文件,将使别的用户在履行它们时拥有全部者的权限.也就是说,假如一个设置为SUID的程序,即便是普通用户利用也是作为root来运行的.因此,SUID/SGID文件是安全的隐患.
SUID和SGID攻击方法的预防:
1.严峻检查系统内的文件权限.可以找出系统内利用SUID/SGID的文件,列出清单保存,做到心中有数.号令以下:
[root#] find / -type f -perm +6000 -ls | less
[root#] find / -type f -perm +6000 > Suid-Sgid.txt
2.关于一部份程序必须设置为SUID的,可以让它们自成一组,集合管理.但是绝对不答应在用户的家目录下有SUID程序存在.
3.确保重要的SUID脚本不可写.号令以下:
[root#] find / -perm -2 ! -type l -ls
4.关于并非绝对需求被设置成SUID的程序,改变它们的拜候权限大概卸载程序.如:
[root#] chmod -s [program]
5.查找系统内全部不属于任何用户和组的文件.因为这些文件很简单被操纵来得到入侵主机的权限,造成潜在的威胁.号令以下:
[root#] find / -nouser -o -nogroup
6.擅长利用lsattr和chattr这两个ext2/3的属性号令.本文将主要谈论a属性和i属性,因为这两个属性关于提高文件系统的安全性和保障文件系统的完好性有很大的好处.a属性(Append-only),系统只答应在这个文件之后追加数据,不答应任何进程覆盖或截断这个文件.假如目录具有这个属性,系统将只答应在这个目录下成立和改正文件,而不答应删除任何文件.i属性(Immutable),系统不答应对这个文件举行任何的改正.假如目录具有这个属性,那么任何进程只能改正目录之下的文件,不答应成立和删除文件.
假如主机直接表露在因特网大概位于别的危险(如别的非管理员亦可接触服务器)环境,有很多Shell账户或供应HTTP和FTP等网络服务,普通应当在安装配置完成后利用以下号令,便于保护这些重要目录:
[root#] chattr -R +i /bin /boot /etc /lib /sbin
[root#] chattr -R +i /usr/bin /usr/include /usr/lib /usr/sbin
[root#] chattr +a /var/log/messages /var/log/secure......
假如很少对账户举行增添、变更或删除操作,把/home本身设置为Immutable属性也不会造成什么问题.
在很多情形下,整个/usr目录树也应当具有不可改变属性.实际上,除了对/usr目录利用chattr -R +i /usr/号令外,还可以在/etc/fstab文件中利用ro选项,使/usr目录所在的分区以只读的方法加载.
别的,把系统日记文件设置为只能增添属性(Append-only),将使入侵者无法擦除自己的踪影,以便于执法人员取证、解析.文件系统的完好性查抄
完好性是安全系统的核心属性.管理员需求知道能否有文件被恶意窜改过.攻击者可以用很多办法破坏文件系统,比方,可以操纵错误配置得到权限,也可以改正文件植入特洛伊木马和病毒.Linux中常用以下工具举行校验查抄.
1.md5sum
md5sum 号令可以用来成立长度为128位的文件指纹信息.通过md5sum -c号令可以反向查抄文件能否被改正过.黑客进入到系统后,会用改正后的文件来代替系统上某些特定的文件,如netstat号令等.于是当利用 netstat -a号令查看系统状况时,不会显示系统攻击者存在的信息.攻击者还大概会替换全部大概泄露其存在的文件,普通来说包含:/bin/ps、/bin/netstat、/bin/login、/bin/ls、
/usr/bin/top、/usr/bin/passwd、/usr/bin/top、
/sbin/portmap、/etc/xinetd.conf、/etc/services.
这些文件都是替换的对象.由于这些文件已经被代替,那么简单地操纵ls号令是查看不出这些文件有什么漏洞的.因此你需求用md5sum工具在系统安装前期为这些文件做好指纹认证并保存,以备日后检测所用.
2.RPM安装包
假如利用的是基于RPM的安装包(Red Hat公司开辟并包含在其Linux产品之中的多功效软件安装管理器,现有多种版本的Linux利用此管理器,如Red Hat、 TurboLinux),它可以用来成立、安装、查询、查验、进级和卸载独立的软件包.一个完好的RPM包包含紧缩文件和包信息.当利用RPM安装软件时,RPM为每个被安装的文件向数据库中增添信息,包含MD5校验和、文件大小、文件范例、拥有者、组和权限情势.当RPM以-verify标志运行时,将把初始文件的值与当前安装的文件举行对比并报告差别.比方,下面是对一个被黑站点的运行后果:
# rpm -qf /bin/ps(或# rpm -qf /usr/bin/top 查看号令隶属哪个RPM包)
procps.2.0.2-2
# rpm -V procps(-V MD5查验)
SM5..UGT /bin/ps
SM5..UGT /usr/bin/top(有消息表示此文件已被改正)
由上可以看出,攻击者已经入侵到系统中,并且用自己的ps及top号令替换了本来系统中的号令,从而使管理员看不到其运行的进程.RPM的利用办法很多,具体操作办法拜见man rpm文档.
3.Tripwire
Tripwire是一个用来检测整个系统能否存在恶意代码和查验文件完好性的有效工具.它采取MD5算法生成128位的“指纹”,通过号令自动保存系统快照,再产生呼应的MD5数值以供日后对比判断.
利用Tripwire可以定义哪些文件/目录需求被查验.普通默许设置能满意大大都的要求.该工具运行在四种情势下:数据库生成情势、数据库更新情势、文件完好性查抄情势、互动式数据库更新情势.当初始化数据库生成的时刻,它生成对现有文件各种信息的数据库文件.为预防今后系统文件大概配置文件被不测地改变、替换或删除,它将每天基于原始数据库对现有文件举行对比,以发现哪些文件被更改、能否有系统入侵等不测事件发生.当然,假如系统中的配置文件或程序被更改,则需求再次生成数据库文件,保持最新的系统快照.此软件功效强盛,利用便利.具体的安装和利用,可以通过Google搜索得到.有效掌握服务器运行的后台进程
服务进程(Daemon)是Linux操作系统的核心程序,是外界与主机彼此交互的主要途径,同时也是衔接因特网的大门.正因为运行了差别的服务进程,Linux系统才可以供应差别的服务,网络才变得丰富多彩.一个称职的管理员必须掌握以下几个方法:
1. 要对自己的服务器有充足的理解,清楚每台服务器的全部后台进程,理解哪台主机运行了哪些服务,开放了哪些端口.我们可以用以下办法得到服务器的配置:# ntsysv (或 setup) (列出全部的服务清单,可以挑选安装/卸载)
# less /etc/services (列出全部服务运行的端口)
# ps -auxf > daemons.txt(举荐利用,把全部后台打印列表)
# cd /var/run/|ls -al(查看启动服务的进程号文件)
2. 对每个服务都要做好软件版本号的登记归档,密切注意各服务软件的漏洞,尽快进级或打补钉.如bind软件在8.X存在安全漏洞,应当尽快进级到9.X.
3.特别要注意的是,新手们老是认为把服务运行起来工作就已经做完了,其实这是不对的.当服务进程运行起来后,配置文件的优化处理相当重要.比方, Apache的配置文件中,KeepAlive、MaxKeepAliveRequests、KeepAliveTimeout、 StarServers、MinSpareServers、MaxSpareServers、MaxClients、 MaxRequestsPerChild对机械性能的影响都非常重要.所以,需求常去网上论坛理解最新信息和发展动态,从而更好地守住每个收支的要口.
同时还要分外注意以下几方面:
配置独立的专用服务器,增添负荷本领,降低风险
Linux 作为优异的网络操作平台,完好有本领胜任运行多个服务器.比方,它可以作为Web服务器,同时也可以充当FTP服务器和Mail服务器.这样做的好处在于可以降低投资本钱,但是不安全因素也会随之呼应增添.因此,需求在投资本钱与安全最大化之间衡量.假定电脑衔接因特网,供应多种服务,且每天都要供应大量拜候量时,倡议一“不要把全部的鸡蛋放在同一个篮子里”.把各个服务进程运行在差别的主机上,成为专用的Web服务器,FTP服务器或Mail服务器,共同分担风险.倡议二把各种服务分类管理.在FTP服务器和Mail服务器拜候量不大时,也可以把它们统一管理.
撤消全部非必要的服务,尽大概做到干净,削减后门
把Linux作为专用服务器是个明智的办法.比方,但愿Linux成为强盛的Web服务器,可以撤消系统内全部非必要的服务,只开启必要服务.这样做可以尽大概削减后门,降低隐患,并且可以公道分配系统资源,提高整机性能.以下是几个不常用的服务:
1. fingerd(finger服务器)报告指定用户的个人信息,包含用户名、真实姓名、shell、目录和接洽方法,它将使系统表露在不受欢送的情报汇集活动下,应避免启动此服务.
2. R服务(rshd、rlogin、rwhod、rexec)供应各种级别的号令,它们可以在远程主机上运行或与远程主机交互,在封闭的网络环境中登录而不再要求输入用户名和口令,相当便利.但是在大众服务器上就会表露问题,招致安全威胁.
3. X-Window从严峻的意义上说,是Linux窗口管理器的扩大,而不是重要构成部份.从目前的GNOME、KDE这两种主流图形服务器来看,体积越来越臃肿,耗存越来越大,一些基于图形界面的软件在利用上也存在不少问题.固然开辟人员不会放弃对它的完善,但关于服务器来说,它的存在代价几近没有.因此,在安装服务器时,务必考虑能否真的需求图形管理界面.
4. 别的服务,如amd、arpwatch、atd、dhcpd、innd、nntpd、talkd、lpd、named、routed、snmpd、 xfs、wuftpd、tftpd、telnet、ypbind、yppasswd、ypserv,既然是Web服务器,都可以撤消或卸载掉.
同理,假如是作为FTP服务器运行,只需FTP进程和必要的程序.
安全系数高的服务替换正在运行的服务进程
关于一些必要的服务器,如前所说的Web服务器,理论上只需求Apache的进程便可以工作了.但是假如管理员需求远程掌握放在运营中央的主机呢?大概用户需求通过FTP上传更新资料呢?Telnet、wu-ftp这些服务的安全性太低,这时,就需求启用安全级别高的服务来替换这些服务程序.以下为几个需求替换的进程:
1.用OpenSSH替换Telnet
举荐利用开放软件OpenSSH(Secure Shell),这是一个安全的登录系统,且不受加密办法的出口限制,实用于替换Telnet、rlogin、rsh、rcp、rdist.别的, OpenSSH也可以用来在两台计算机间成立一条加密信道供别的不安全软件利用.OpenSSH支持多种算法,包含BlowFish、Triple DES、IDEA、RSA.目前支持SSH的客户端软件不少,举荐利用Putty和Filezilla.关于服务器和软件的安装利用,请拜见相关文章,在此不再详述.
2.用Vsftpd替换wu-ftpd、tftpd(基本的FTP服务)、ncftpd(匿名服务)
假如想要一个优异的FTP软件,倡议利用Vsftpd.Vsftpd(Very Secure)是一个非常值得信任的FTP软件.除了与生俱来的高安全性外,在ASCⅡ传输情势下的速度是wu-ftpd的两倍,在千兆以太网的下载速度可达86Mb/s;在安定性方面,Vsftpd可以在单机(非集群)上支持4000~15000个以上的并发用户同时衔接.除此以外,还可以成立虚拟 FTP服务器,支持非系统用户的登录下载,同时也可以给差别的用户分配差别的权限,保证服务的安全最大化.目前世界上很多闻名的公司都在利用 Vsftpd,如Red Hat、GNU、GNOME、SUSE、KDE、OpenBSD等.具体安装和配置请见参考资料.
3.用Qmail替换Sendmail
Sendmail 将来仍旧是主要的SMTP服务器,网络上有关Sendmail服务器的配置资料到处可见.但事实上由于Sendmail代码的复杂性,使得很多人对其配置一知半解.大都情形下,新手们常常只要可以让Sendmail启动起来、能收发邮件就认为万事大吉了.这样的配置其实漏洞太多,难以保证安全性.所以, Qmail是个更好的挑选.当然,要想真正成立一个功效强盛、运行安定的邮件服务器,掌握其机动的配置,认真阅读How-to手册和FAQ是很有必要的.
利用tcpwrappers掌握文件
在没有设置防火墙之前,可以通过一种简单而坚固的机制——tcpwrappers来加强网络拜候掌握.tcpwrappers从两个文件中读取网络拜候掌握法则:
/etc/hosts.allow 指定受权主机
/etc/hosts.deny 指定非受权主机
配置文件的编写法则非常简单,普通是:
services_list : client_list [ : shell_command ]
1. 假如client及services满意hosts.allow里面的条目,那么拜候将被答应.
2. 假如client及services满意hosts.deny里面的条目,那么拜候将被禁止.
3. 假如以上两条都不满意,拜候将被答应.
4. 假如拜候掌握文件不存在,将被当作空法则文件处理.所以可以通过删除拜候掌握文件来关闭拜候限制.
此中services_list可以列出一个或几个服务进程名,也可以利用通配符;client_list可以是IP地址、主机名大概网络号,也可以利用通配符.
services_list有两个特别用法的标记:ALL和EXCEPT.ALL表示全部的进程,而EXCEPT表示解除某个进程.比方,ALL EXCEPT in.fingerd表示除了in.fingerd外全部的进程.
client_list可以利用以下通配符:
1. “.”号在字符串前匹配全部背脸部份和所供应字符串一样的主机名.比方:.linuxidc.net可以匹配www.linuxidc.net或mail.linuxidc.net.
2. “.”号在字符串后匹配以所供应字符串开首的地址,比方,10.44.可以匹配全部10.44.xxx.xxx的地址.
3. 可以利用n.n.n.n/m.m.m.m的格局来表示net/mask,比方,10.44.72.0/255.255.254.0匹配从10.44.72.0到10.44.73.255的地址.
4. 以“/”号开首的字符串将被看做一个文件处理,它匹配全部在这个文件中列出的主机名大概地址.
5. “@”开首的串将被当作一个NIS组的名字.
6. ALL表示全部的主机,LOCAL匹配全部机械名中不带“.”号的主机,EXCEPT表示解除某些主机.
比方,hosts.allow中有一行,ALL: .edu.cn EXCEPT example.edu.cn表示答应除了主机名叫example.edu.cn 以外的全部.edu.cn域内的机械拜候全部的服务.而在hosts.deny中,ALL EXCEPT in.fingerd:192.168.0.0/255.255.255.0则表示禁止192.168.0.1到192.168.0.254的机械拜候除了in.fingerd以外的服务.防火墙的选用和配置
前面介绍了tcpwrappers的具体利用,但是对管理员而言,只有经过Internet的磨练才能真正得到直接有效的锤炼和提高.若何辨别和抵挡 Internet上形形色色的信息呢?仅仅 tcpwrappers是不够的,关键是防火墙的选用和配置.配置高效的防火墙是管理员要掌握的非常重要并且非常有效的必修课.在此,防火墙的功效和范例就不介绍了.最主要的是防火墙的构建要量身定制,应从企业自身情况和需求特点来考虑所需求的防火墙办理筹划.差别规模、差别范例的企业,其网络保护的要求也存在明显的差别.防火墙是个重要的话题,在这里限于篇幅不大概具体解析每一种配置.入侵检测系统
对攻击者来说,端口扫描是入侵主机的必备工作,可以用端口扫描程序扫描服务器的全部端口来汇集有效的信息,如哪些端口翻开、哪些端口关闭、供应服务的程序版本、操作系统的版本等.下面介绍几种对付端口扫描的工具.
1. PortSentry
PortSentry是一个被计划成及时地发现端口扫描并对端口扫描快速作出反映的检测工具.一旦发现端口扫描,PortSentry做出的反映有:
(1)通过syslog()函数给出一个日记消息;
(2)自动地把对服务器举行端口扫描的主机加到tcp wrappers的/etc/hosts.deny文件中;
(3)本地主机会自动把全部的信息流都重定向到一个不存在的主机;
(4)本地主机用包过滤程序把全部的数据包(来自对其举行端口扫描的主机)都过滤掉.
简单地介绍一下配置和启动步骤:
(1)配置/usr/psionic/portsentry/portsentry.conf文件
/usr/psionic/portsentry/portsentry.conf是PortSentry的主要配置文件.可以设置需求监听的端口、需求禁止和监控的IP地址等.可以参看PortSentry的README.install文件以获得更多的信息.
(2)配置portsentry.ignore文件
在portsentry.ignore文件中设置但愿PortSentry忽视的主机.这个文件至少要包含localhost(127.0.0.1)和本地界面(lo)的IP.
(3)最好改变文件默许的权限:
#chmod 600 /usr/psionic/portsentry/portsentry.conf
#chmod 600 /usr/psionic/portsentry/portsentry.ignore
(4)启动PortSentry
PortSentry程序可以配置在6个差别的情势下运行,但每次启动时只能在一种情势下运行.这些情势是:
◆ portsentry -tcp(基本的端口绑定TCP情势)
◆ portsentry -udp 基本的端口绑定UDP 情势)
◆ portsentry -stcp(奥秘的TCP扫描检测)
◆ portsentry -atcp(高级TCP奥秘扫描检测)
◆ portsentry -sudp(奥秘的UDP扫描检测)
◆ portsentry -audp(高级的奥秘UDP扫描检测)
举荐利用最后两种情势检测.成立启动脚本:
# vi /etc/init.d/portsentry
/usr/local/portsentry/portsentry sudp
/usr/local/portsentry/portsentry audp
# chmod a+x ./portsentry(成立启动脚本)
# cd /etc/rc.d/rc3.d/ ; ln -s ../init.d/portsentry S60portsentry(成立软链接启动)
2. chkrootkit
另一个有效的工具是chkrootkit.chkrootkit是计划用来查抄很多广为人知的rootkit(一组包含常用木马程序的套件,以便利 cracker攻入主机时, 在受害主机上顺利地编译和安装特洛伊木马程序).在chkrootkit的网站上会公布最新的rootkit列表.
配置chkrookit非常简单:先从http://www.chkrootkit.com下载源代码,解开软件包,在文件被解开的途径里敲入make.完成后,chkrootkit就随时侯命了.下面是在机械上chkrootkit的一个输出的例子:
# ./chkrootkit
Checking `su'... not infected
Checking `ifconfig'... not infected
Checking `inetd'... not tested
Checking `inetdconf'... not found
Checking `identd'... not infected
Checking `init'... not infected
Checking `killall'... not infected
Checking `login'... not infected
Checking `ls'... not infected
Checking `lsof'... not infected
Checking `mail'... not infected
Checking `mingetty'... not infected
Checking `netstat'... not infected
Checking `named'... not infected
Checking `passwd'... not infected
[...]
由上可以看到,系统中重要的一些号令并没有被改变.chkrootkit是一个很不错的实用工具,它可以进一步让我们安心:机械目前是安全的.
3.secheck
个人举荐一个对比好的检测工具secheck,这个软件安装简单,检测范围广,记录文件条目简明,资料具体.它可以检测开放端口列表、登录用户、磁盘空间情形;查抄UID和GID为0的非root用户、弱口令用户、正在运行的系统进程、su root的用户;检测有SUID和SGID标识的号令,以及相关password、shadow、xinetd.conf、.rhosts文件的改变等.倡议配合crontab做按时查抄,号令以下(每隔一小时做一次查抄):
00 * * * * /usr/local/etc/secheck/secheck
可以从http://twtelecom.dl.sourceforge.net/secheck/secheck-0.03.tgz下载感受一下.灾难恢复
固然已经采取了很多的安全办法来保护主机安定运行,但是碰到一些不测情形,如停电、硬件弊端或地震等仍有大概发生系统崩溃事件.要想在最短时间内恢复系统,必须事前做好备份工作.
在举行备份之前,首先要挑选符合的备份战略,包含什么时刻需求备份,以及呈现弊端时举行恢复的方法.普通利用的备份方法有三种:1.完好备份
每隔一按时间就对系统举行一次全面的备份,这样在备份隔断期间呈现数据丧失等问题,可以利用上一次的备份数据恢复到上次备份时的数据情况.
2.增量备份
首先举行一次完好备份,然后每隔一个较短时间举行一次备份,但仅备份在这个期间更改的内容.这样一旦发生数据丧失,首先恢复到前一个完好备份,然后按日期一一恢复每天的备份,就可以恢复到前一天的情形.这种备份办法对比经济.
3.累计备份
这种备份办法与增量备份类似,首先每月举行一次完好备份,然后备份从上次举行完好备份后更改的全部数据文件.一旦发生数据丧失,利用一个完好备份和一个累计备份便可以恢复弊端从前的状况.累计备份只需两次恢复,因此它的恢复工作相对简单.
备份内容 工作量 恢复步骤 恢复速度 优缺陷
完好备份 全部内容 大,慢 一次操作 很快 占用空间大,恢复快
增量备份 每次改正后的单个内容 小,很快 多次操作 中 空间小,恢复麻烦
累计备份 每次改正后的全部内容 中,快 二次操作 快 空间较小,恢复快
增量备份和累计备份都能以对比经济的方法对系统举行备份.假如系统数据更新不是太频繁的话,可以选用累计备份.假如系统数据更新太快,使每个备份周期后的几次累计备份的数据量相当大,这时刻可以考虑增量备份或混用累计备份和增量备份的方法,大概缩短备份周期.下面是一个有效的备份方法供参考.
假定备份介质为支持热插拔的硬盘,挂接在/backup目录下:
# tar zcvf /backup/bp_full.tar.gz /*(先做一个完好备份)
# find / -mtime -7 -print > /tmp/filelist(找出7天内改正过的文件)
# tar -c -T /tmp/filelist -f /backup/bp_add.tar.gz(每隔7天做增量备份)
别的倡议和本领
1.用密码保护单用户情势.
# vi /etc/lilo.conf
restricted
password="I am admin"
2.改正/etc/inittab文件.
# ca::ctrlaltdel:/sbin/shutdown -t3 -r now
#表示撤消Alt+Ctrl+Delete重启机械
3.删除登录信息(不显示内核版本,主机名,发行版本号及一些后台进程的版本号),这样可以从一定程度上避免心胸叵测的探测.
# cat /dev/null > /etc/issue
# cat /dev/null > /etc/issue.net
# cat /dev/null > /etc/motd
4.设置密码属性,包含有效时间(-e)、失效时间、告诫时间(-w)等.改正缺省的密码长度.
# vi /etc/login.defs
PASS_MAX_DAYS 99999(设置密码有效期限)
PASS_MIN_DAYS 0(设置改正密码的最少时间段)
PASS_MIN_LEN 5(改正密码设置的长度)
PASS_WARN_AGE 7(改正改变密码的告警时间)
改正成:
PASS_MAX_DAYS 30 (30天后必须重新设置)
PASS_MIN_LEN 8 (密码长度不得少于8位)
5.默许账号的管理.查看/etc/passwd 文件,删除多余的账号,查抄有没有除root外UID、GID为0的别的不法用户.
6.假如正在接办的是一个新的服务器,那么对原先的配置必须有深化的理解.要删除一些旧的系统账户应注意以下问题:
(1) 删除用户与其home目录
# userdel -r good
(2) 删除用户未接纳的邮件
# rm /var/spool/mail/good
(3) 删除由此用户在后台履行的程序
# ps -aux|grep "good"
# kill PID
(4) 删除crontab 任务
# crontab -l good
# crontab -d good
7.应当撤消普通用户的掌握台拜候权限,比方shutdown、reboot、halt等号令.
# rm -f /etc/security/console.apps/*
*表示要注销的程序名,如halt、shutdown
8.改正/etc/profile文件中的“HISTFILESIZE”和“HISTSIZE”行,肯定全部用户的.bash_history文件中可以保存的旧号令条数.编辑profile文件(vi /etc/profile),把下面这行改成:
HISTFILESIZE=30
HISTSIZE=30
表示每个用户的.bash_history文件只可以保存30条旧号令.
9.编辑.bash_logout文件.
# vi /etc/skel/.bash_logou(增添下面这行)
# rm -f $HOME/.bash_history
这样,当用户每次注销时,.bash_history文件自动被删除.
以上是“<b>DIY的Linux安全平台</b>[Linux安全]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |