程序员人生 网站导航

Linux服务器安全配置

栏目:服务器时间:2016-06-22 08:39:06
尽人皆知,网络安全是1个非常重要的课题,而服务器是网络安全中最关键的环节。Linux被认为是1个比较安全的Internet服务器,作为1种开放源代码操作系统,1旦Linux系统中发现有安全漏洞,Internet上来自世界各地的志愿者会积极修补它。但是,系统管理员常常不能及时地得到信息并进行更正,这就给黑客以可乘之机。相对这些系统本身的安全漏洞,更多的安全问题是由不当的配置酿成的,可以通过适当的配置来避免。服务器上运行的服务越多,不当的配置出现的机会也就越多,出现安全问题的可能性就越大。对此,下面将介绍1些增强Linux/Unix服务器系统安全性的知识。

  1、系统安全记录文件
 操作系统内部的记录文件是检测是不是有网络入侵的重要线索。如果您的系统是直接连到Internet,您发现有很多人对您的系统做Telnet/FTP登录尝试,可以运行\"#more /var/log/secure | grep refused\"来检查系统所遭到的攻击,以便采取相应的对策,如使用SSH来替换Telnet/rlogin等。

  2、启动和登录安全性
  1.BIOS安全
  设置BIOS密码且修改引导次序制止从软盘启动系统。
  2.用户口令
 用户口令是Linux安全的1个基本出发点,很多人使用的用户口令过于简单,这等于给侵入者敞开了大门,虽然从理论上说,只要有足够的时间和资源可以利用,就没有不能破解的用户口令,但选获得当的口令是难于破解的。较好的用户口令是那些只有他自己容易记得并理解的1串字符,并且绝对不要在任何地方写出来。
  3.默许账号
 应当制止所有默许的被操作系统本身启动的并且没必要要的账号,当您第1次安装系统时就应当这么做,Linux提供了很多默许账号,而账号越多,系统就越容易遭到攻击。
  可以用下面的命令删除账号。
  # userdel用户名
  或用以下的命令删除组用户账号。
  # groupdel username
  4.口令文件
  chattr命令给下面的文件加上不可更改属性,从而避免非授权用户取得权限。
  # chattr +i /etc/passwd
  # chattr +i /etc/shadow
  # chattr +i /etc/group
  # chattr +i /etc/gshadow
  5.制止Ctrl+Alt+Delete重新启动机器命令
  修改/etc/inittab文件,将\"ca::ctrlaltdel:/sbin/shutdown -t3 -r now\"1行注释掉。然后重新设置/etc/rc.d/init.d/目录下所有文件的许可权限,运行以下命令:
  # chmod -R 700 /etc/rc.d/init.d/*
  这样便唯一root可以读、写或履行上述所有脚本文件。
  6.限制su命令
 如果您不想任何人能够su作为root,可以编辑/etc/pam.d/su文件,增加以下两行:
  auth sufficient /lib/security/pam_rootok.so debug
  auth required /lib/security/pam_wheel.so group=isd
 这时候,仅isd组的用户可以su作为root。尔后,如果您希望用户admin能够su作为root,可以运行以下命令:
  # usermod -G10 admin
  7.删减登录信息
 默许情况下,登录提示信息包括Linux发行版、内核版本名和服务器主机名等。对1台安全性要求较高的机器来讲这样泄漏了过量的信息。可以编辑/etc/rc.d/rc.local将输出系统信息的以下行注释掉。
  # 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/issue.net
  # echo >> /etc/issue
  然后,进行以下操作:
  # rm -f /etc/issue
  # rm -f /etc/issue.net
  # touch /etc/issue
  # touch /etc/issue.net

  3、限制网络访问
  1.NFS访问
 如果你使用NFS网络文件系统服务,应当确保您的/etc/exports具有最严格的访问权限设置,也就是意味着不要使用任何通配符、不允许root写权限并且只能安装为只读文件系统。编辑文件/etc/exports并加入以下两行。
  /dir/to/export host1.mydomain.com(ro,root_squash)
  /dir/to/export host2.mydomain.com(ro,root_squash)
  /dir/to/export 是您想输出的目录,host.mydomain.com是登录这个目录的机器名,ro意味着mount成只读系统,root_squash制止root写入该目录。为了使改动生效,运行以下命令。
  # /usr/sbin/exportfs -a
  2.Inetd设置
 首先要确认/etc/inetd.conf的所有者是root,且文件权限设置为600。设置完成后,可使用\"stat\"命令进行检查。
  # chmod 600 /etc/inetd.conf
  然后,编辑/etc/inetd.conf制止以下服务。
  ftp telnet shell login exec talk ntalk imap pop⑵ pop⑶ finger auth
 如果您安装了ssh/scp,也能够制止掉Telnet/FTP。为了使改变生效,运行以下命令:
  #killall -HUP inetd
 默许情况下,多数Linux系统允许所有的要求,而用TCP_WRAPPERS增强系统安全性是举手之劳,您可以修改/etc/hosts.deny和/etc/hosts.allow来增加访问限制。例如,将/etc/hosts.deny设为\"ALL: ALL\"可以默许谢绝所有访问。然后在/etc/hosts.allow文件中添加允许的访问。例如,\"sshd: 192.168.1.10/255.255.255.0 gate.openarch.com\"表示允许IP地址192.168.1.10和主机名gate.openarch.com允许通过SSH连接。
  配置完成后,可以用tcpdchk检查:
  # tcpdchk
  tcpchk是TCP_Wrapper配置检查工具,它检查您的tcp wrapper配置并报告所有发现的潜伏/存在的问题。
  3.登录终端设置
  /etc/securetty文件指定了允许root登录的tty装备,由/bin/login程序读取,其格式是1个被允许的名字列表,您可以编辑/etc/securetty且注释掉以下的行。
  #tty1
  # tty2
  # tty3
  # tty4
  # tty5
  # tty6
  这时候,root仅可在tty1终端登录。
  4.避免显示系统和版本信息。
 如果您希望远程登录用户看不到系统和版本信息,可以通过1下操作改变/etc/inetd.conf文件:
  telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd -h
  加-h表示telnet不显示系统信息,而仅仅显示\"login:\"

  4、避免攻击
  1.禁止ping 如果没人能ping通您的系统,安全性自然增加了。为此,可以在/etc/rc.d/rc.local文件中增加以下1行:
  echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
  2.避免IP欺骗
  编辑host.conf文件并增加以下几行来避免IP欺骗攻击。
  order bind,hosts
  multi off
  nospoof on
  3.避免DoS攻击
 对系统所有的用户设置资源限制可以避免DoS类型攻击。如最大进程数和内存使用数量等。例如,可以在/etc/security/limits.conf中添加以下几行:
  * hard core 0
  * hard rss 5000
  * hard nproc 20
  然后必须编辑/etc/pam.d/login文件检查下面1行是不是存在。
  session required /lib/security/pam_limits.so

 上面的命令制止调试文件,限制进程数为50并且限制内存使用为5MB。


8.禁止任何人su作为root

如果你不想任何人能够su作为root,你能编辑/etc/pam.d/su加下面的行:

查看文本打印
  1. #vi /etc/pam.d/su  
  2. auth sufficient /lib/security/$ISA/pam_rootok.so debug  
  3. auth required /lib/security/$ISA/pam_wheel.so group=website  
  4. 意味着仅仅website组的用户可以su作为root.  

10.修改ssh服务的sshd 端口

ssh默许会监听在22端口,你可以修改至6022端口以避过常规的扫描。
注意:修改端口毛病可能会致使你下次连不到服务器,可以先同时开着22和6022两个端口,然后再关掉22端口;
重启sshd不会弹掉你当前的连接,可以另外开1个客户端来测试服务;

查看文本打印
  1. #vi /etc/ssh/sshd_config  
  2. #增加修改  
  3. #Port 22 #关闭22端口  
  4. Port 6022 #增加6022端口  
  5. #重启sshd服务  
  6. service sshd restart  
  7. 检查1下sshd的监听端口对不对  
  8. netstat -lnp|grep ssh  
  9. #iptables开放sshd的6022端口  
  10. vi /etc/sysconfig/iptables  
  11. #如果使用redhat默许规则则增加  
  12. -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 6022 -j ACCEPT  
  13. #或  
  14. iptables -A INPUT -p tcp --dport 6022 -j ACCEPT  
  15. iptables -A OUTPUT -p udp --sport 6022 -j ACCEPT  

重启iptables 服务

查看文本打印
  1. service iptables restart  
  2. #测试两个端口是不是都能连上,连上后再将22端口删除  
详细参考:
Linux操作系统下SSH默许22端口修改方法

 经过以上的设置,你的Linux服务器已可以对绝大多数已知的安全问题和网络攻击具有免疫能力,但1名优秀的系统管理员依然要时刻注意网络安全动态,随时对已暴露出的和潜伏安全漏洞进行修补。

11.关闭系统不使用的服务:

cd /etc/init.d #进入到系统init进程启动目录
在这里有两个方法,可以关闭init目录下的服务,

1、将init目录下的文件名mv成*.old类的文件名,即修改文件名,作用就是在系统启动的时候找不到这个服务的启动文件。

2、使用chkconfig系统命令来关闭系统启动等级的服务。

注:在使用以下任何1种方法时,请先检查需要关闭的服务是不是是本服务器特别需要启动支持的服务,以防关闭正常使用的服务。

使用chkcofig命令来关闭不使用的系统服务 (level前面为2个减号)要想在修改启动脚本前了解有多少服务正在运行,输入:

查看文本打印
  1. ps aux | wc -l  

然后修改启动脚本后,重启系统,再次输入上面的命令,便可计算出减少了多少项服务。越少服务在运行,安全性就越好。另外运行以下命令可以了解还有多少服务在运行:

查看文本打印
  1. netstat -na --ip  

批量方式先停止服务

for i in acpid anacron apmd atd auditd autofs avahi-daemon avahi-dnsconfd bluetooth cpuspeed cups dhcpd firstboot gpm haldaemon hidd ip6tables ipsec isdn kudzu lpd mcstrans messagebus microcode_ctl netfs nfs nfslock nscd pcscd portmap readahead_early restorecond rpcgssd rpcidmapd rstatd sendmai
l setroubleshoot snmpd sysstat xfs xinetd yppasswdd ypserv yum-updatesd ;do service $i stop;done

关闭启动服务

for i in acpid anacron apmd atd auditd autofs avahi-daemon avahi-dnsconfd bluetooth cpuspeed cups dhcpd firstboot gpm haldaemon hidd ip6tables ipsec isdn kudzu lpd mcstrans messagebus microcode_ctl netfs nfs nfslock nscd pcscd portmap readahead_early restorecond rpcgssd rpcidmapd rstatd sendmai
l setroubleshoot snmpd sysstat xfs xinetd yppasswdd ypserv yum-updatesd ;do chkconfig $i off;done

以下为手动方式及解释,履行批量方式后不需再履行了

查看文本打印
  1. chkconfig --level 345 apmd off ##笔记本需要  
  2. chkconfig --level 345 netfs off ## nfs客户端  
  3. chkconfig --level 345 yppasswdd off ## NIS服务器,此服务漏洞很多  
  4. chkconfig --level 345 ypserv off ## NIS服务器,此服务漏洞很多  
  5. chkconfig --level 345 dhcpd off ## dhcp服务  
  6. chkconfig --level 345 portmap off ##运行rpc(111端口)服务必须  
  7. chkconfig --level 345 lpd off ##打印服务  
  8. chkconfig --level 345 nfs off ## NFS服务器,漏洞极多  
  9. chkconfig --level 345 sendmail off ##邮件服务, 漏洞极多  
  10. chkconfig --level 345 snmpd off ## SNMP,远程用户能从中取得许多系统信息  
  11. chkconfig --level 345 rstatd off ##避免运行r服务,远程用户可以从中获得很多信息  
  12. chkconfig --level 345 atd off ##和cron很相似的定时运行程序的服务  
  13. 注:以上chkcofig 命令中的35是系统启动的类型,以下为数字代表意思  
  14. 0:开机(请不要切换到此等级)  
  15. 1:单人使用者模式的文字界面  
  16. 2:多人使用者模式的文字界面,不具有网络档案系统(NFS)功能  
  17. 3:多人使用者模式的文字界面,具有网络档案系统(NFS)功能  
  18. 4:某些发行版的linux使用此等级进入x windows system  
  19. 5:某些发行版的linux使用此等级进入x windows system  
  20. 6:重新启动  

如果不指定--level 单用on和off开关,系统默许只对运行级3,4,5有效

查看文本打印
  1. chkconfig cups off #打印机  
  2. chkconfig bluetooth off # 蓝牙  
  3. chkconfig hidd off # 蓝牙  
  4. chkconfig ip6tables off # ipv6  
  5. chkconfig ipsec off # vpn  
  6. chkconfig auditd off #用户空间监控程序  
  7. chkconfig autofs off #光盘软盘硬盘等自动加载服务  
  8. chkconfig avahi-daemon off #主要用于Zero Configuration Networking ,1般没甚么用建议关闭  
  9. chkconfig avahi-dnsconfd off #主要用于Zero Configuration Networking ,同上,建议关闭  
  10. chkconfig cpuspeed off #动态调剂CPU频率的进程,在服务器系统中这个进程建议关闭  
  11. chkconfig isdn off #isdn  
  12. chkconfig kudzu off #硬件自动监测服务  
  13. chkconfig nfslock off #NFS文档锁定功能。文档同享支持,无需的能够关了  
  14. chkconfig nscd off #负责密码和组的查询,在有NIS服务时需要  
  15. chkconfig pcscd off #智能卡支持,,如果没有可以关了  
  16. chkconfig yum-updatesd off #yum更新  
  17. chkconfig acpid off  
  18. chkconfig autofs off  
  19. chkconfig firstboot off  
  20. chkconfig mcstrans off #selinux  
  21. chkconfig microcode_ctl off  
  22. chkconfig rpcgssd off  
  23. chkconfig rpcidmapd off  
  24. chkconfig setroubleshoot off  
  25. chkconfig xfs off  
  26. chkconfig xinetd off  
  27. chkconfig messagebus off  
  28. chkconfig gpm off #鼠标  
  29. chkconfig restorecond off #selinux  
  30. chkconfig haldaemon off  
  31. chkconfig sysstat off  
  32. chkconfig readahead_early off  
  33. chkconfig anacron off  

需要保存的服务

查看文本打印
  1. crond , irqbalance , microcode_ctl ,network , sshd ,syslog  

由于有些服务已运行,所以设置完后需重启

查看文本打印
  1. chkconfig  
  2. /*  

语法:chkconfig [--add][--del][--list][系统服务] 或 chkconfig [--level <等级代号>][系统服务][on/off/reset]

补充说明:这是Red Hat公司遵守GPL规则所开发的程序,它可查询操作系统在每个履行等级中会履行哪些系统服务,其中包括各类常驻服务。

参数:

查看文本打印
  1. --add  增加所指定的系统服务,让chkconfig指令得以管理它,并同时在系统启动的叙述文件内增加相干数据。  
  2. --del  删除所指定的系统服务,不再由chkconfig指令管理,并同时在系统启动的叙述文件内删除相干数据。  
  3. --level<等级代号>  指定读系统服务要在哪个履行等级中开启或关毕  
  4. /  

12.禁止系统响应任何从外部/内部来的ping要求

既然没有人能ping通你的机器并收到响应,你可以大大增强你的站点的安全性。你可以加下面的1行命令到/etc/rc.d/rc.local,以使每次启动后自动运行。

查看文本打印
  1. echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all  
  2. #这个可以不做哈  

13.修改“/etc/host.conf”文件

查看文本打印
  1. “/etc/host.conf”说明了如何解析地址。编辑“/etc/host.conf”文件(vi /etc/host.conf),加入下面这行:  
  2. # Lookup names via DNS first then fall back to /etc/hosts.  
  3. order hosts,bind  
  4. # We have machines with multiple IP addresses.  
  5. multi on  
  6. # Check for IP address spoofing.  
  7. nospoof on  

第1项设置首先通过DNS解析IP地址,然后通过hosts文件解析。第2项设置检测是不是“/etc/hosts”文件中的主机是不是具有多个IP地址(比如有多个以太口网卡)。第3项设置说明要注意对本机未经许可的电子欺骗。

14.不允许从不同的控制台进行root登陆

"/etc/securetty"文件允许你定义root用户可以从那个TTY装备登陆。你可以编辑"/etc/securetty"文件,再不需要登陆的TTY装备前添加“#”标志,来制止从该TTY装备进行root登陆。

在/etc/inittab文件中有以下1段话:

查看文本打印
  1. # Run gettys in standard runlevels  
  2. 1:2345:respawn:/sbin/mingetty tty1  
  3. 2:2345:respawn:/sbin/mingetty tty2  
  4. #3:2345:respawn:/sbin/mingetty tty3  
  5. #4:2345:respawn:/sbin/mingetty tty4  
  6. #5:2345:respawn:/sbin/mingetty tty5  
  7. #6:2345:respawn:/sbin/mingetty tty6  

系统默许的可使用6个控制台,即Alt+F1,Alt+F2...,这里在3,4,5,6前面加上“#”,注释该句话,这样现在只有两个控制台可供使用,最好保存两个。然后重新启动init进程,改动便可生效!

15.制止Control-Alt-Delete键盘关闭命令

查看文本打印
  1. "/etc/inittab" 文件中注释掉下面这行(使用#):  
  2. ca::ctrlaltdel:/sbin/shutdown -t3 -r now  
  3. 改成:  
  4. #ca::ctrlaltdel:/sbin/shutdown -t3 -r now  
  5. 为了使这项改动起作用,输入下面这个命令:  
  6. # /sbin/init q  

16.用chattr命令给下面的文件加上不可更改属性。

查看文本打印
  1. [root@c1gstudio]# chattr +i /etc/passwd  
  2. [root@c1gstudio]# chattr +i /etc/shadow  
  3. [root@c1gstudio]# chattr +i /etc/group  
  4. [root@c1gstudio]# chattr +i /etc/gshadow  

【注:chattr是改变文件属性的命令,参数i代表不得任意更动文件或目录,此处的i为不可修改位(immutable)。查看方法:lsattr /etc/passwd,撤消为chattr –i /etc/group】

补充说明:这项指令可改变寄存在ext2文件系统上的文件或目录属性,这些属性共有以下8种模式:

查看文本打印
  1. a:让文件或目录仅供附加用处。  
  2. b:不更新文件或目录的最后存取时间。  
  3. c:将文件或目录紧缩后寄存。  
  4. d:将文件或目录排除在倾倒操作以外。  
  5. i:不得任意更动文件或目录。  
  6. s:保密性删除文件或目录。  
  7. S:即时更新文件或目录。  
  8. u:预防之外删除。  

参数:

查看文本打印
  1. -R 递归处理,将指定目录下的所有文件及子目录1并处理。  
  2. -v<版本编号> 设置文件或目录版本。  
  3. -V 显示指令履行进程。  
  4. +<属性> 开启文件或目录的该项属性。  
  5. -<属性> 关闭文件或目录的该项属性。  
  6. =<属性> 指定文件或目录的该项属性。  

17.给系统服务端口列表文件加锁

主要作用:避免未经许可的删除或添加服务

查看文本打印
  1. chattr +i /etc/services  
  2. 【查看方法:lsattr /etc/ services,撤消为chattr –i /etc/ services】  

18.系统文件权限修改

Linux文件系统的安全主要是通过设置文件的权限来实现的。每个Linux的文件或目录,都有3组属性,分别定义文件或目录的所有者,用户组和其他人的使用权限(只读、可写、可履行、允许SUID、允许SGID等)。特别注意,权限为SUID和SGID的可履行文件,在程序运行进程中,会给进程赋予所有者的权限,如果被黑客发现并利用就会给系统造成危害。

(1)修改init目录文件履行权限:

查看文本打印
  1. chmod -R 700 /etc/init.d/* (递归处理,owner具有rwx,group无,others无)  

(2)修改部份系统文件的SUID和SGID的权限:

查看文本打印
  1. chmod a-s /usr/bin/chage  
  2. chmod a-s /usr/bin/gpasswd  
  3. chmod a-s /usr/bin/wall  
  4. chmod a-s /usr/bin/chfn  
  5. chmod a-s /usr/bin/chsh  
  6. chmod a-s /usr/bin/newgrp  
  7. chmod a-s /usr/bin/write  
  8. chmod a-s /usr/sbin/usernetctl  
  9. chmod a-s /usr/sbin/traceroute  
  10. chmod a-s /bin/mount  
  11. chmod a-s /bin/umount  
  12. chmod a-s /sbin/netreport  

(3)修改系统引导文件

查看文本打印
  1. chmod 600 /etc/grub.conf  
  2. chattr +i /etc/grub.conf  
  3. 【查看方法:lsattr /etc/grub.conf,撤消为chattr –i /etc/grub.conf】  

19.增加dns

查看文本打印
  1. #vi /etc/resolv.conf  
  2. nameserver 8.8.8.8 #google dns  
  3. nameserver 8.8.4.4  

20.hostname 修改

查看文本打印
  1. #注意需先把mysql、postfix等服务停了  
  2. 1.hostname servername  
  3. 2.vi /etc/sysconfig/network  
  4. service network restart  
  5. 3.vi /etc/hosts  

21.selinux 修改

开启selinux可以增加安全性,但装软件时可能会遇到1些奇怪问题
以下是关闭方法

查看文本打印
  1. #vi /etc/selinux/config  

改成disabled

22.关闭ipv6

查看文本打印
  1. echo "alias net-pf⑴0 off" >> /etc/modprobe.conf  
  2. echo "alias ipv6 off" >> /etc/modprobe.conf  
  3. #vi /etc/sysconfig/network  
  4. NETWORKING_IPV6=no  

重启服务

查看文本打印
  1. Service ip6tables stop  
  2. Service network restart  

关闭自动启动

查看文本打印
  1. chkconfig --level 235 ip6tables off  

23.设置iptables

iptables 默许安全规则脚本

重启系统

以上大部份设置可以运行脚本来完成。linux安全设置快捷脚本

设置完成后重启系统

其它设置项

linux调剂系统时区/时间的方法

把/usr/share/zoneinfo里相应的时区与/etc/localtime做个软link.比如使用上海时区的时间:ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 如果要使用UTC计时方式,则应在/etc/sysconfig/clock文件里改UTC=TRUE 时间的设置: 使用date 命令加s参数修改,注意linux的时间格式为"月日时分年",也能够只修改时间date -s 22:30:20,如果修改的是年月日和时间,格式为"月日时分年.秒",2007-03⑴8 11:01:56则应写为"date -s 031811012007.56 硬件时间与当前时间更新: hwclock --systohc 如果硬件记时用UTC,则为 hwclock --systohc --utc

linux调剂系统时区/时间的方法

1) 找到相应的时区文件

查看文本打印
  1. /usr/share/zoneinfo/Asia/Shanghai  

用这个文件替换当前的/etc/localtime文件。
步骤: cp –i /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

选择覆盖

2) 修改/etc/sysconfig/clock文件,修改成:

查看文本打印
  1. ZONE="Asia/Shanghai"  
  2. UTC=false  
  3. ARC=false  

3)
时间设定成2005年8月30日的命令以下:

查看文本打印
  1. #date -s 08/30/2005  

将系统时间设定成下午6点40分0秒的命令以下:

查看文本打印
  1. #date -s 18:40:00  

4)同步BIOS时钟,强迫把系统时间写入CMOS,命令以下:

查看文本打印
  1. #clock -w  

安装ntpd

查看文本打印
  1. #yum install ntp  
  2. #chkconfig --levels 235 ntpd on  
  3. #ntpdate ntp.api.bz #先手动校准下  
  4. #service ntpd start  

设置语言

英文语言,中文支持

查看文本打印
  1. #vi /etc/sysconfig/i18n  
  2. LANG="en_US.UTF⑻"  
  3. SUPPORTED="zh_CN.UTF⑻:zh_CN:zh"  
  4. SYSFONT="latarcyrheb-sun16"  

tmpwatch 定时清除

假定服务器自定义了php的session和upload目录

查看文本打印
  1. #vi /etc/cron.daily/tmpwatch  
  2. 240 /tmp 前增加  
  3. -x /tmp/session -x /tmp/upload  
  4. #mkdir /tmp/session  
  5. #mkdir /tmp/upload  
  6. #chown nobody:nobody /tmp/upload  
  7. #chmod 0770 /tmp/upload  

11.关闭系统不使用的服务:

cd /etc/init.d #进入到系统init进程启动目录
在这里有两个方法,可以关闭init目录下的服务,

1、将init目录下的文件名mv成*.old类的文件名,即修改文件名,作用就是在系统启动的时候找不到这个服务的启动文件。

2、使用chkconfig系统命令来关闭系统启动等级的服务。

注:在使用以下任何1种方法时,请先检查需要关闭的服务是不是是本服务器特别需要启动支持的服务,以防关闭正常使用的服务。

使用chkcofig命令来关闭不使用的系统服务 (level前面为2个减号)要想在修改启动脚本前了解有多少服务正在运行,输入:

查看文本打印
  1. ps aux | wc -l  

然后修改启动脚本后,重启系统,再次输入上面的命令,便可计算出减少了多少项服务。越少服务在运行,安全性就越好。另外运行以下命令可以了解还有多少服务在运行:

查看文本打印
  1. netstat -na --ip  

批量方式先停止服务

for i in acpid anacron apmd atd auditd autofs avahi-daemon avahi-dnsconfd bluetooth cpuspeed cups dhcpd firstboot gpm haldaemon hidd ip6tables ipsec isdn kudzu lpd mcstrans messagebus microcode_ctl netfs nfs nfslock nscd pcscd portmap readahead_early restorecond rpcgssd rpcidmapd rstatd sendmai
l setroubleshoot snmpd sysstat xfs xinetd yppasswdd ypserv yum-updatesd ;do service $i stop;done

关闭启动服务

for i in acpid anacron apmd atd auditd autofs avahi-daemon avahi-dnsconfd bluetooth cpuspeed cups dhcpd firstboot gpm haldaemon hidd ip6tables ipsec isdn kudzu lpd mcstrans messagebus microcode_ctl netfs nfs nfslock nscd pcscd portmap readahead_early restorecond rpcgssd rpcidmapd rstatd sendmai
l setroubleshoot snmpd sysstat xfs xinetd yppasswdd ypserv yum-updatesd ;do chkconfig $i off;done

以下为手动方式及解释,履行批量方式后不需再履行了

查看文本打印
  1. chkconfig --level 345 apmd off ##笔记本需要  
  2. chkconfig --level 345 netfs off ## nfs客户端  
  3. chkconfig --level 345 yppasswdd off ## NIS服务器,此服务漏洞很多  
  4. chkconfig --level 345 ypserv off ## NIS服务器,此服务漏洞很多  
  5. chkconfig --level 345 dhcpd off ## dhcp服务  
  6. chkconfig --level 345 portmap off ##运行rpc(111端口)服务必须  
  7. chkconfig --level 345 lpd off ##打印服务  
  8. chkconfig --level 345 nfs off ## NFS服务器,漏洞极多  
  9. chkconfig --level 345 sendmail off ##邮件服务, 漏洞极多  
  10. chkconfig --level 345 snmpd off ## SNMP,远程用户能从中取得许多系统信息  
  11. chkconfig --level 345 rstatd off ##避免运行r服务,远程用户可以从中获得很多信息  
  12. chkconfig --level 345 atd off ##和cron很相似的定时运行程序的服务  
  13. 注:以上chkcofig 命令中的35是系统启动的类型,以下为数字代表意思  
  14. 0:开机(请不要切换到此等级)  
  15. 1:单人使用者模式的文字界面  
  16. 2:多人使用者模式的文字界面,不具有网络档案系统(NFS)功能  
  17. 3:多人使用者模式的文字界面,具有网络档案系统(NFS)功能  
  18. 4:某些发行版的linux使用此等级进入x windows system  
  19. 5:某些发行版的linux使用此等级进入x windows system  
  20. 6:重新启动  

如果不指定--level 单用on和off开关,系统默许只对运行级3,4,5有效

查看文本打印
  1. chkconfig cups off #打印机  
  2. chkconfig bluetooth off # 蓝牙  
  3. chkconfig hidd off # 蓝牙  
  4. chkconfig ip6tables off # ipv6  
  5. chkconfig ipsec off # vpn  
  6. chkconfig auditd off #用户空间监控程序  
  7. chkconfig autofs off #光盘软盘硬盘等自动加载服务  
  8. chkconfig avahi-daemon off #主要用于Zero Configuration Networking ,1般没甚么用建议关闭  
  9. chkconfig avahi-dnsconfd off #主要用于Zero Configuration Networking ,同上,建议关闭  
  10. chkconfig cpuspeed off #动态调剂CPU频率的进程,在服务器系统中这个进程建议关闭  
  11. chkconfig isdn off #isdn  
  12. chkconfig kudzu off #硬件自动监测服务  
  13. chkconfig nfslock off #NFS文档锁定功能。文档同享支持,无需的能够关了  
  14. chkconfig nscd off #负责密码和组的查询,在有NIS服务时需要  
  15. chkconfig pcscd off #智能卡支持,,如果没有可以关了  
  16. chkconfig yum-updatesd off #yum更新  
  17. chkconfig acpid off  
  18. chkconfig autofs off  
  19. chkconfig firstboot off  
  20. chkconfig mcstrans off #selinux  
  21. chkconfig microcode_ctl off  
  22. chkconfig rpcgssd off  
  23. chkconfig rpcidmapd off  
  24. chkconfig setroubleshoot off  
  25. chkconfig xfs off  
  26. chkconfig xinetd off  
  27. chkconfig messagebus off  
  28. chkconfig gpm off #鼠标  
  29. chkconfig restorecond off #selinux  
  30. chkconfig haldaemon off  
  31. chkconfig sysstat off  
  32. chkconfig readahead_early off  
  33. chkconfig anacron off  

需要保存的服务

查看文本打印
  1. crond , irqbalance , microcode_ctl ,network , sshd ,syslog  

由于有些服务已运行,所以设置完后需重启

查看文本打印
  1. chkconfig  
  2. /*  

语法:chkconfig [--add][--del][--list][系统服务] 或 chkconfig [--level <等级代号>][系统服务][on/off/reset]

补充说明:这是Red Hat公司遵守GPL规则所开发的程序,它可查询操作系统在每个履行等级中会履行哪些系统服务,其中包括各类常驻服务。

参数:

查看文本打印
  1. --add  增加所指定的系统服务,让chkconfig指令得以管理它,并同时在系统启动的叙述文件内增加相干数据。  
  2. --del  删除所指定的系统服务,不再由chkconfig指令管理,并同时在系统启动的叙述文件内删除相干数据。  
  3. --level<等级代号>  指定读系统服务要在哪个履行等级中开启或关毕  
  4. /  

21.selinux 修改

开启selinux可以增加安全性,但装软件时可能会遇到1些奇怪问题
以下是关闭方法

查看文本打印
  1. #vi /etc/selinux/config  

改成disabled



------分隔线----------------------------
------分隔线----------------------------

最新技术推荐