[系统方面]
操作1:注释掉不用的用户
方法:编辑/etc/passwd文件,把adm,Ip,sync,shutdown,half,news,uucp,operator,games注释掉。
操作2:注释掉不用的用户组
方法:编辑/etc/group文件,把adm,ip,news,uucp,games,dip,ppusers注释掉。
操作3:删除登录信息
方法:将/etc/issue /etc/issue.net 这些文件名字后缀加上bak或者删除。
操作4:修改Ssh端口
方法:编辑/etc/ssh/sshd_config 把#Port 22前注释去掉,加上Port 22222 重启ssh服务,使用22222端口ssh成功后,把Port 22删除。
操作5:取消Root登录
方法:编辑/etc/ssh/sshd_config,把PermitRootLogin yes前面注释去掉,并修改成no,然后重启sshd服务,并且创建一个用户用来ssh切换到root用户。
操作6:设置特定组可以Su到Root
方法:编辑 /etc/pam.d/su文件,找到这行auth required pam_wheel.so use_uid 把前面的注释去掉,同时把授权的用户添加到wheel组就行了 usermod -a -G wheel username。
操作7:启用Iptables防火墙
方法:根据具体要求来具体设置,基本对一些端口进行开启和关闭。
操作8:只允许对Root对/Etc/Init.D/下服务进行操作
方法:chmod 700 -R /etc/init.d/。
操作9:使用Yum Update更新系统时不升级内核,只更新软件包
方法:编辑yum的配置文件/etc/yum.conf 在[main]的最后添加exclude=kernel*。
操作10:修改History命令记录
方法:编辑/etc/profile文件,把HISTSIZE=100改为HISTSIZE=50。
操作12:禁止非Root用户修改重要
方法:chmod 700 /etc/passwd /etc/group /etc/shadow /etc/services
操作13:Selinux修改
方法:修改/etc/selinux/config 修改成SELINUX=disabled
操作14:修改Hostname
方法:编辑/etc/sysconfig/network ,把HOSTNAME=你想要的名字然后保存 执行hostname=你想要的名字 然后注销就生效了
操作15:关闭Ipv6
方法:编辑/etc/modprobe.d/dist.conf,在结尾添加alias net-pf-10 off alias ipv6 off这两行
操作16:服务器禁Ping
方法:在终端下输入sysctl -w net.ipv4.icmp_echo_ignore_all=1 若要开Ping 把1改成0就行了
操作17:系统内核优化
操作18:转发重要或者错误日志给我们自己邮箱
方法:编辑/etc/aliases 在mailer-daemon:postmaster postmaster: root下面加入root:你的邮箱
操作19:抵御SYN
方法:
1.增加syn队列长度:sysctl -w net.ipv4.tcp_max_syn_backlog=2048
2.打开syn cookie功能:sysctl -w net.ipv4.tcp_syncookies=1 3.降低重试次数:sysctl -w net.ipv4.tcp_synack_retries=3 sysctl -w net.ipv4.tcp_syn_retries=3 为了操持重启 时保持上述配置,将文件写入到/etc/rc.d/rc.local文件中
操作20:增加Dns
方法:编辑/etc/resolv.conf,增加nameserver dns地址
操作21:不允许从不同的控制台进行Root登陆
方法:编辑/etc/securetty,把禁止登录的tty设备前加#号进行注释。
操作22:注销时自动删除命令记录
方法:编辑/etc/skel/.bash_logout,增加rm -rf $HOME/.bash_history这一行,如果要针对特定用户,可以在该用户主目录下修改/$HOME/.bash_logout,也增加上面那行就行
操作23:设置允许Ssh远程的IP
方法:在iptables加规则 iptables -A INPUT -i eth0 -p tcp 22 -s 网段/ip -j ACCEPT。
[Web方面]
操作24:关闭Apache默认的目录浏览
方法:编辑httpd.conf文件,而且对每一个"Directory"指令,清除"Indexs".
操作25:清除Apache头信息中的服务器信息
方法:编辑httpd.conf文件,在配置文件加上两行,ServerTokens ProductOnly Server Signature Off
操作26:禁用一些涉及到到Php安全函数
方法:在php.ini文件中禁用相关函数passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,get_cfg_var
操作27:清除默认注释
方法:把httpd.conf中的默认注释删除,方便阅读
操作28:禁止用户加载.Htaccess文件
方法:编辑httpd.conf文件,把AllowOverride配置成NO
操作29:NFS防护
方法:
1.使用Iptables防火墙对连接nfs server进行设置 iptables -A INPUT -i eth0 -p tcp -s 网段/ip --dport 111 -j accept iptables -A INPUT -i eth0 -p udp -s 网段/ip --dport 111 -j accept
2.修改默认的nfs端口
3.合理的设定/etc/exports中共享出去的目录,最好能使用anonuid,anongid以使mount到nfs server的client仅仅有最小的权限,最好不要使用root_squash