Linux系统安全 web安全细节设置

[系统方面]

操作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:系统内核优化

方法:http://blog.chinaunix.net/uid-21505614-id-2181210.html 虚拟机有些做不了

操作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文件中

http://www.sudu.cn/info/html/edu/20080407/263264.html

操作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

原创文章,作者:kepupublish,如若转载,请注明出处:https://blog.ytso.com/57394.html

(0)
上一篇 2021年8月9日
下一篇 2021年8月9日

相关推荐

发表回复

登录后才能评论