Linux系统安全需要注意的一些问题
2017-02-26 13:52
405 查看
http://www.cnblogs.com/chenpingzhao/p/6443354.html
写在前面:当你部署一台服务器,第一步不应该是部署应用,安全是才是首要任务如果某一天当你登录服务器发现 /bin/bash –i,python
-c 'import pty; pty.spawn("/bin/sh")' 等命令在服务器上出现的时候,那么恭喜你,服务器被入侵了
但是入侵者都是很聪明的,首先会执行以下命令
然后你就能看到服务器上会留下以上的蛛丝马迹,那么我们如何防止呢?
1、系统用户优化
用户是Linux中安全加固的第一关,如果系统中本身就存在有安全隐患的用户,那么再安全策略也无法起到加固的效果1.1 将系统自带的用户和用户组删除掉
删除的用户,如adm,lp,sync,shutdown,halt,news,uucp,operator,games,gopher删除的组,如adm,lp,news,uucp,games,dip,pppusers,popusers,slipusers
1.2 或者锁定不需要登录的用户
如:xfs,news,nscd,dbus,vcsa,games,nobody,avahi,haldaemon,gopher,ftp,mailnull,pcap,mail,shutdown,halt,uucp,operator,sync,adm,lp,bin,sys,nuucp,hpdb,www,daemon1.3 限制能够su为root的用户
1.4 检查shadow中空口令帐号
1.5 系统关键目录权限控制
根据安全需要,配置某些关键目录其所需的最小权限,password文件、shadow文件、group文件权限。/etc/passwd 所有用户都可读,root用户可写 –rw-r—r—
2、系统服务优化
一般情况下,系统可能会自动的运行一些不必要的服务,我们可以使用下面的命令查看当前默认开启运行的系统服务:对于关键的服务,我们需要保证它们的运行,比如:iptables、sshd、syslog、httpd、nginx、mysql、php-fpm等。
3、ssh访问策略
ssh的访问都是我们日常工作中几乎唯一的控制系统的手段。所以ssh的安全性非常重要,一般来说较高的ssh安全策略秉承以下几个原则。禁止root用户ssh登录。
禁止口令的方式验证。
只允许一个用户拥有sudo的完整权限。
除非是堡垒机,系统中不允许存放私钥文件。
使用一个随机端口来代替22端口。
编辑 /etc/sudoers,加入一条:
所有用户不能使用密码验证登录。
root用户不可直接登录的,即使拥有root密码,唯一获得root的方法是使用test用户提权。
test用户只可以使用证书登录。
ssh不再使用默认的22端口
4、系统内部安全配置
4.1、保护引导过程
4.2、内核修改
/etc/sysctl.conf 改为以下内容4.3 密码口令策略修改
4.4 历史命令保留和常用服务端口修改
4.5、Banner伪装
可以扰乱入侵者这对服务器信息的判断a、Vsftpd banner 伪装
修改vsftpd.conf
ftpd_banner=Welcome to Microsoft FTP service.
b、Apache banner 伪装
修改/usr/local/apache/conf/httpd.conf文件,可以隐藏一些apache信息,如果要屏蔽掉所有信息,需要修改源码文件重新编译
httpd-2.2.25/include/ap_release.h
httpd-2.2.25/os/unix/os.h
c、Nginx banner 伪装
在nginx.conf 的 http 块里面添加 server_tokens off;
若要彻底屏蔽,需要修改源码,重新安装
src/core/nginx.h
d、 PHP banner修改
php.ini 修改expose_php On —> expose_php = Off
Php彩蛋,PHP源码/ext/standard/info.h
e、 TTL值修改
echo net.ipv4.ip_default_ttl = 128 >> /etc/sysctl.conf
/sbin/sysctl –p
f、利用iptables,将本机的TCP 3389端口转移到其它开有3389端口的计算机上,给Linux系统伪装出一个提供服务的TCP 3389端口
4.6、防火墙IPtables设置
下面是linux一些常用的服务所需要的规则。(根据实际情况更改)安装 kernel-smp-modules-connlimit 、recent 内核模块
modprobe ipt_connlimit
如果没有这个文件需要新建如下文件
4.7、防止暴力登录
ftp,ssh暴力登录,脚本实现。4.8、监控所有终端用户操作
记录所有登录用户终端操作命令记录4.9 日志审计
统一远程日志服务器配置,当前系统应配置远程日志功能,将需要重点关注的日志内容传输到日志服务器进行备份。修改配置文件 /etc/rsyslog.conf
加上这一行:authpriv.* @x.x.x.x
重新启动syslog服务,执行下列命令:services syslogd restart
4.10、更改危险文件(命令)权限
只有root用户能使用一下命令4.11、杀毒软件
下载 http://www.clamav.net/lang/en/download/sources/ 直接下载:http://downloads.sourceforge.net/clamav/clamav-0.98.1.tar.gz4.12 、rootkit病毒检测
Rkhunter 下载:http://jaist.dl.sourceforge.net/project/rkhunter/rkhunter/1.4.2/rkhunter-1.4.2.tar.gzchkrootkit 下载:ftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit.tar.gz
4.13、inotify 监控系统文件
监控命令建议写入sysctl.conf:fs.inotify.max_user_watches=8192000
5、系统应用安全配置
5.1、中间件 安全配置
(1) apache安全配置5.2、php 安全配置
参考文章
http://m.jb51.net/hack/55784.html https://blog.slogra.com/post-684.html http://blog.chinaunix.net/uid-25723371-id-4542221.html作者:踏雪无痕
出处:http://www.cnblogs.com/chenpingzhao/
相关文章推荐
- Linux系统安全需要注意的一些问题
- 使用Linux raw socket时需要注意的一些问题
- ARM+LINUX移植攻略(十三)一些需要注意的问题
- LINUX、centos 系统安装需要注意的问题
- 安装Windows和Linux双系统需要注意的一些问题
- 关于系统安装一些需要注意的问题
- 电路系统设计制作过程和需要注意的一些问题
- 电路系统设计制作过程和需要注意的一些问题
- 使用Linux raw socket时需要注意的一些问题
- 与j2me签名相关的需要注意的一些问题
- c++中 关于字符串的一些需要注意的问题
- 在使用微软提供的安全模版(安全策略)时需要注意的安全问题
- jQuery调用WCF需要注意的一些问题
- Linux系统利用SSH远程控制安全问题
- 程序员创业初次做生意需要注意的一些问题
- 漂亮MM拍照时需要注意的一些问题(火力增强版)
- 终端用户需要注意的五大安全问题
- 鸟哥的 Linux 私房菜29-- 一些 Linux 系统的基础问题
- .NET中静态变量的使用需要注意线程安全问题
- Linux下关于安全的一些小技巧大问题(图文)