独自幸福快乐冰释前嫌骑士两将矛盾化解年恩怨就此了却依依不舍孤独
高平历史网 2020-06-16 16:09:00
16. 资源限制 对你的系统上所有的用户设置资源限制可以防止DoS类型攻击(denial of service attacks) 如最大进程数,内存数量等。例如,对所有用户的限制象下面这样: /etc/security/n加: * hard core 0 * hard rss 5000 * hard nproc 20 你也必须/etc/pam.d/login文件加/检查这一行的存在。 session required /lib/security/pam_ 上面的命令禁止core files“core 0”,限制进程数为“nproc 50“,且限制内存使用 为5M“rss 5000”。 17. The /etc/nf file a) Add: restricted 加这一行到每一个引导映像下面,就这表明如果你引导时用(linux single),则需要一个password. b) Add: password=some_password 当与restricted联合用,且正常引导时,需要用户输入密码,你也要确保nf 文件不能被不属于root的用户可读,也免看到密码明文。下面是例子: /etc/nf加: ==== boot=/dev/sda map=/boot/map install=/boot/boot.b prompt timeout=50 Default=linux restricted ?add this line. password=some_password ?add this line. image=/boot/vmlinuz-2.2. label=linux initrd=/boot/g root=/dev/sda6 read-only [root@deep]# chmod 600 /etc/nf (不再能被其他用户可读). [root@deep]# /sbin/lilo -v (更新lilo配置). [root@deep]# chattr +i /etc/nf(阻止该文件被修改) 18. 禁止 Control-Alt-Delete 重启动机器命令 [root@deep]# vi /etc/inittab ca::ctrlaltdel:/sbin/shutdown -t3 -r now To #ca::ctrlaltdel:/sbin/shutdown -t3 -r now [root@deep]# /sbin/init q 19. 重新设置/etc/rc.d/init.d/目录下所有文件的许可权限 [root@deep]# chmod -R 700 /etc/rc.d/init.d/* 仅仅root可以读,写,执行上述所有script file. 20. The /etc/rc.d/cal file 默认地,当你login到linux server时,它告诉你linux版本名,内核版本名和服务器 主机名。它给了你太多的信息,如果你就希望得到提示login: , /etc/rc.d/cal放#在下面的行前面: -- # This will overwrite /etc/issue at every boot. So, make any changes you # want to make to /etc/issue here or you will lose them when you reboot. #echo "" ; /etc/issue #echo "$R" ;; /etc/issue #echo "Kernel $(uname -r) on $a $(uname -m)" ;; /etc/issue # #cp -f /etc/issue /etc/ #echo ;; /etc/issue -- 然后,做下面的事情: [root@deep]# rm -f /etc/issue [root@deep]# rm -f /etc/ [root@deep]# touch /etc/issue [root@deep]# touch /etc/ 21. 被root拥有的程序的位。 移走那些被root拥有程序的s位标志,当然有些程序需要这个,用命令‘chmod a-s’完成这个主要研究职员西瑟?瑞普(Heather Rupp)表示。 注:前面带(*)号的那些程序一般不需要拥有s位标志。 [root@deep]# find / -type f \( -perm -04000 -o -perm -02000 \) \-exec ls –lg {} \; -rwsr-xr-x 1 root root 33120 Mar 21 1999 /usr/bin/at *-rwsr-xr-x 1 root root 30560 Apr 15 20:03 /usr/bin/chage *-rwsr-xr-x 1 root root 29492 Apr 15 20:03 /usr/bin/gpasswd -rwsr-xr-x 1 root root 3208 Mar 22 1999 /usr/bin/disable-paste -rwxr-sr-x 1 root man 32320 Apr 9 1999 /usr/bin/man -r-s--x--x 1 root root 10704 Apr 14 17:21 /usr/bin/passwd -rws--x--x 2 root root 517916 Apr 6 1999 /usr/bin/suidperl -rws--x--x 2 root root 517916 Apr 6 1999 /usr/bin/sperl5.00503 -rwxr-sr-x 1 root mail 11432 Apr 6 1999 /usr/bin/lockfile -rwsr-sr-x 1 root mail 64468 Apr 6 1999 /usr/bin/procmail -rwsr-xr-x 1 root root 21848 Aug 27 11:06 /usr/bin/crontab -rwxr-sr-x 1 root slocate 15032 Apr 19 14:55 /usr/bin/slocate *-r-xr-sr-x 1 root tty 6212 Apr 17 11:29 /usr/bin/wall *-rws--x--x 1 root root 14088 Apr 17 12:57 /usr/bin/chfn *-rws--x--x 1 root root 13800 Apr 17 12:57 /usr/bin/chsh *-rws--x--x 1 root root 5576 Apr 17 12:57 /usr/bin/newgrp *-rwxr-sr-x 1 root tty 8392 Apr 17 12:57 /usr/bin/write -rwsr-x--- 1 root squid 14076 Oct 7 14:48 /usr/lib/squid/pinger -rwxr-sr-x 1 root utmp 15587 Jun 9 09:30 /usr/sbin/utempter *-rwsr-xr-x 1 root root 5736 Apr 19 15:39 /usr/sbin/usernetctl *-rwsr-xr-x 1 root bin 16488 Jul 6 09:35 /usr/sbin/traceroute -rwsr-sr-x 1 root root 299364 Apr 19 16:38 /usr/sbin/sendmail -rwsr-xr-x 1 root root 34131 Apr 16 18:49 /usr/libexec/pt_chown -rwsr-xr-x 1 root root 13208 Apr 13 14:58 /bin/su *-rwsr-xr-x 1 root root 52788 Apr 17 15:16 /bin/mount *-rwsr-xr-x 1 root root 26508 Apr 17 20:26 /bin/umount *-rwsr-xr-x 1 root root 17652 Jul 6 09:33 /bin/ping -rwsr-xr-x 1 root root 20164 Apr 17 12:57 /bin/login *-rwxr-sr-x 1 root root 3860 Apr 19 15:39 /sbin/netreport -r-sr-xr-x 1 root root 46472 Apr 17 16:26 /sbin/pwdb_chkpwd [root@deep]# chmod a-s /usr/bin/chage [root@deep]# chmod a-s /usr/bin/gpasswd [root@deep]# chmod a-s /usr/bin/wall [root@deep]# chmod a-s /usr/bin/chfn [root@deep]# chmod a-s /usr/bin/chsh [root@deep]# chmod a-s /usr/bin/newgrp [root@deep]# chmod a-s /usr/bin/write [root@deep]# chmod a-s /usr/sbin/usernetctl [root@deep]# chmod a-s /usr/sbin/traceroute [root@deep]# chmod a-s /bin/mount [root@deep]# chmod a-s /bin/umount [root@deep]# chmod a-s /bin/ping [root@deep]# chmod a-s /sbin/netreport 你可以用下面的命令查找所有带s位标志的程序: [root@deep]# find / -type f \( -perm -04000 -o -perm -02000 \) \-exec ls -lg {} \; ; suid-sgid-results 把结果输出到文件suid-sgid-results中。 为了查找所有可写的文件和目录,用下面的命令: [root@deep]# find / -type f \( -perm -2 -o -perm -20 \) -exec ls -lg {} \; ; ww-files-results [root@deep]# find / -type d \( -perm -2 -o -perm -20 \) -exec ls -ldg {} \; ; ww-directories-results 用下面的命令查找没有拥有者的文件: [root@deep]# find / -nouser -o -nogroup ; unowed-results 用下面的命令查找所有的.rhosts文件: [root@deep]# find /home -name .rhosts ; rhost-results 建议替换的常见络服务应用程序 WuFTPD WuFTD从1994年就开始就不断地出现安全漏洞,黑客很容易就可以获得远程root访问(Remote Root Access)的权限,而且很多安全漏洞甚至不需要在FTP服务器上有一个有效的帐号。最近,WuFTP也是频频出现安全漏洞。 它的最好的替代程序是ProFTPD。ProFTPD很容易配置,在多数情况下速度也比较快,而且它的源代码也比较干净(缓冲溢出的错误比较少)。有许多重要的站点使用ProFTPD。就是一个很好的例子(这个站点共有3,000个开放源代码的项目,其负荷并不小啊!)。一些Linux的发行商在它们的主FTP站点上使用的也是ProFTPD,只有两个主要Linux的发行商(SuSE和Caldera)使用WuFTPD。 ProFTPD的另一个优点就是既可以从inetd运行又可以作为单独的daemon运行。这样就可以很容易解决inetd带来的一些问题,如:拒绝服务的攻击(denial of service attack),等等。系统越简单,就越容易保证系统的安全。WuFTPD要么重新审核一遍全部的源代码(非常困难),要么完全重写一遍代码,否则WuFTPD必然要被ProFTPD代替。 Telnet Telnet是非常非常不安全的,它用明文来传送密码。它的安全的替代程序是OpenSSH。 OpenSSH在Linux上已经非常成熟和稳定了,而且在Windows平台上也有很多免费的客户端软件。Linux的发行商应该采用OpenBSD的策略:安装OpenSSH并把它设置为默认的,安装Telnet但是不把它设置成默认的。对于不在美国的Linux发行商,很容易就可以在Linux的发行版中加上OpenSSH。美国的Linux发行商就要想一些别的办法了(例如:Red Hat在德国的FTP服务器上()就有最新的OpenSSH的rpm软件包)。 Telnet是无可救药的程序。要保证系统的安全必须用OpenSSH这样的软件来替代它。 Sendmail 最近这些年,Sendmail的安全性已经提高很多了(以前它通常是黑客重点攻击的程序)。然而,Sendmail还是有一个很严重的问题。一旦出现了安全漏洞(例如:最近出现的Linux内核错误),Sendmail就是被黑客重点攻击的程序,因为Sendmail是以root权限运行而且代码很庞大容易出问题。 几乎所有的Linux发行商都把Sendmail作为默认的配置,只有少数几个把Postfix或Qmail作为可选的软件包。但是,很少有Linux的发行商在自己的邮件服务器上使用Sendmail。SuSE和Red Hat都使用基于Qmail的系统。 Sendmail并不一定会被别的程序完全替代。但是它的两个替代程序Qmail和Postfix都比它安全、速度快,而且特别是Postfix比它容易配置和维护。 su su是用来改变当前用户的ID,转换成别的用户。你可以以普通用户登录,当需要以root身份做一些事的时候,只要执行“su”命令,然后输入root的密码。su本身是没有问题的,但是它会让人养成不好的习惯。如果一个系统有多个管理员,必须都给他们root的口令。 su的一个替代程序是sudo。Red Hat 6.2中包含这个软件。sudo允许你设置哪个用户哪个组可以以root身份执行哪些程序除不掌握核心技术带来的成本问题外。你还可以根据用户登录的位置对他们加以限制(如果有人“破”了一个用户的口令,并用这个帐号从远程计算机登录,你可以限制他使用sudo)。Debian也有一个类似的程序叫super,与sudo比较各有优缺点。 让用户养成良好的习惯。使用root帐号并让多个人知道root的密码并不是一个好的习惯。这就是被入侵的原因,因为它有多个系统管理员他们都有root的特权。一个乱成一团的系统是很容易被入侵的。 named 大部分Linux的发行商都解决了这个问题。named以前是以root运行的,因此当named出现新的漏洞的时候,很容易就可以入侵一些很重要的计算机并获得root权限。现在只要用命令行的一些参数就能让named以非root的用户运行。而且,现在绝大多数Linux的发行商都让named以普通用户的权限运行。命令格式通常为:named -u ; -g ; INN 在INN的文档中已经明确地指出:“禁止这项功能(verifycancels),这项功能是没有用的而且将被除掉”。大约在一个月前,一个黑客发布了当“verifycancels”生效的时候入侵INN的方法。Red Hat是把“verifycancels”设为有效的。任何setuid/setgid的程序或络服务程序都要正确地安装并且进行检查以保证尽量没有安全漏洞。 安全守则 1. 废除系统所有默认的帐号和密码。 2. 在用户合法性得到验证前不要显示公司题头、帮助以及其它信息。 3. 废除“黑客”可以攻击系统的络服务。 4. 使用6到8位的字母数字式密码。 5. 限制用户尝试登录到系统的次数。 6. 记录违反安全性的情况并对安全记录进行复查。 7. 对于重要信息,上传输前要先进行加密。 8. 重视专家提出的建议,安装他们推荐的系统“补丁”。 9. 限制不需密码即可访问的主机文件。 10.修改络配置文件,以便将来自外部的TCP连接限制到最少数量的端口。不允许诸如tftp,sunrpc,printer,rlogin或rexec之类的协议。 11.用upas代替sendmail。sendmail有太多已知漏洞,很难修补完全。 12.去掉对操作并非至关重要又极少使用的程序。 13.使用chmod将所有系统目录变更为711模式。这样,攻击者们将无法看到它们当中有什么东西,而用户仍可执行。 14.只要可能,就将磁盘安装为只读模式。其实,仅有少数目录需读写状态。 15.将系统软件升级为最新版本。老版本可能已被研究并被成功攻击,最新版本一般包括了这些问题的补救。
玉溪白癜风医院有哪些小儿四磨汤夜尿增多的治疗- 最新亚军赔率出炉:太阳升第2追平绿军+逼近勇士,热火第4灰熊第6
- 女人们“唇型”一般分这5种,3种好看,2种丑,不妨自测一下自己
- 西安旅游职业中专研议陕西省高水平示范性中等职业学校名
- 袁泉女儿正面照曝光,深眼窝似妈妈翻版,才9岁就是高冷气质缪斯
- 天德钰快充协议芯片产品线成熟 能够满足客户多种不同需求
- 恋就是让一个笨手笨脚的小女孩有人照顾 有人惦记 如果让她哭 你算什么男子汉 你算大笨蛋 艾特ta热门
- 堪比好莱坞大片,看老黄如何运用三十六计,破2022高考数学分析的堡垒
- 儿歌多多魔力公主西西 公主换装记 宝宝来帮公主换漂亮的衣服 儿歌多多 星河知识计划 智慧生活星 抖音
- 一个有财多金,一个年轻俊朗,两男共享一位妻子,却22年不曾发现
- 戏仿手臂该怎么画?戏仿手臂简单画法
- 法兴:美联储已经越过了“硬着陆”分界线,加息幅度则会有多高?
- 浙江大手笔可用!签约小外援,补强教练组,刘维伟辞职惊醒管理层