linux rw rr权限,Linux系统安全须要注意的一些问题

写在前面:当你部署一台服务器,第一步不该该是部署应用,安全是才是首要任务php

若是某一天当你登陆服务器发现/bin/bash –i,python -c 'import pty; pty.spawn("/bin/sh")' 等命令在服务器上出现的时候,那么恭喜你,服务器被入侵了html

可是入侵者都是很聪明的,首先会执行如下命令python

而后是经过跳板访问mysql

创建ttyshelllinux

而后清除访问记录nginx

等等。。。一系列的操做web

而后你就能看到服务器上会留下以上的蛛丝马迹,那么咱们如何防止呢?sql

一、系统用户优化

用户是Linux中安全加固的第一关,若是系统中自己就存在有安全隐患的用户,那么再安全策略也没法起到加固的效果shell

若是除了root还有其余的超级用户,那就要很是当心了apache

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,daemon

1.3 限制可以su为root的用户

这样,只有wheel组的用户能够su到root

1.4 检查shadow中空口令账号

对空口令帐号进行锁定,或要求增长密码

1.5 系统关键目录权限控制

根据安全须要,配置某些关键目录其所需的最小权限,password文件、shadow文件、group文件权限。

/etc/passwd 全部用户均可读,root用户可写 –rw-r—r—

/etc/shadow 只有root可读 –r——–

/etc/group 必须全部用户均可读,root用户可写 –rw-r—r—

二、系统服务优化

通常状况下,系统可能会自动的运行一些没必要要的服务,咱们可使用下面的命令查看当前默认开启运行的系统服务:

若是咱们只是提供web服务,那么对于sendmail、nfs、postfix、ftp等不须要的服务就能够关闭了

对于关键的服务,咱们须要保证它们的运行,好比:iptables、sshd、syslog、httpd、nginx、mysql、php-fpm等。

三、ssh访问策略

ssh的访问都是咱们平常工做中几乎惟一的控制系统的手段。因此ssh的安全性很是重要,通常来讲较高的ssh安全策略秉承如下几个原则。

禁止root用户ssh登陆。

禁止口令的方式验证。

只容许一个用户拥有sudo的完整权限。

除非是堡垒机,系统中不容许存放私钥文件。

使用一个随机端口来代替22端口。

编辑 /etc/sudoers,加入一条:

这里的例子表示:将test赋予彻底的sudo权限,并在sudo提权时不须要验证密码。

如今咱们来看ssh的访问效果:

全部用户不能使用密码验证登陆。

root用户不可直接登陆的,即便拥有root密码,惟一得到root的方法是使用test用户提权。

test用户只可使用证书登陆。

ssh再也不使用默认的22端口

四、系统内部安全配置

4.一、保护引导过程

4.二、内核修改

/etc/sysctl.conf 改成如下内容

/etc/security/limits.conf 改成如下内容

解释

4.3 密码口令策略修改

4.4 历史命令保留和经常使用服务端口修改

4.五、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_phpOn —> 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.六、防火墙IPtables设置

下面是linux一些经常使用的服务所须要的规则。(根据实际状况更改)

(1) iptables 防止CC攻击的规则

安装 kernel-smp-modules-connlimit 、recent 内核模块

modprobe ipt_connlimit 若是没有这个文件须要新建以下文件

控制单个IP的最大并发链接数

(2)iptables 限制主机登陆的规则

4.七、防止暴力登陆

ftp,ssh暴力登陆,脚本实现。

4.八、监控全部终端用户操做

记录全部登陆用户终端操做命令记录

4.9 日志审计

统一远程日志服务器配置,当前系统应配置远程日志功能,将须要重点关注的日志内容传输到日志服务器进行备份。

修改配置文件 /etc/rsyslog.conf

加上这一行:authpriv.* @x.x.x.x

从新启动syslog服务,执行下列命令:services syslogd restart

4.十、更改危险文件(命令)权限

只有root用户能使用一下命令

4.十一、杀毒软件

下载 http://www.clamav.net/lang/en/download/sources/

直接下载:http://downloads.sourceforge.net/clamav/clamav-0.98.1.tar.gz

4.12 、rootkit病毒检测

Rkhunter 下载:http://jaist.dl.sourceforge.net/project/rkhunter/rkhunter/1.4.2/rkhunter-1.4.2.tar.gz

chkrootkit 下载:ftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit.tar.gz

4.1三、inotify 监控系统文件

监控命令

Inotify监控比较大的目录的时候会报错,须要修改/proc/sys/fs/inotify/max_user_watches的值

建议写入sysctl.conf:fs.inotify.max_user_watches=8192000

五、系统应用安全配置

5.一、中间件 安全配置

(1) apache安全配置

(2) nginx安全配置

5.二、php 安全配置

参考文章

http://m.jb51.net/hack/55784.html

https://blog.slogra.com/post-684.html

http://blog.chinaunix.net/uid-25723371-id-4542221.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值