Linux服务器加固

一、信息安全防护的目标

*保密性,Confidentiality

*完整性,Integrity

可用性,Usability

可控制性,Controlability

不可否认性,Non-repudiation

二、安全防护环节

物理安全各种设备/主机、机房环境

系统安全主机或设备的操作系统

应用安全各种网络服务、应用程序

网络安全对网络访问的控制、防火墙规则

数据安全信息的备份与恢复、加密解密

管理安全各种保障性的规范、流程、方法

网络&系统漏洞检测工具

X-Scan  、 Fluxay流光….

Nessus  OpenVAS

三、LINUX系统加固

1、阻止普通用户关机

[[email protected] ~]# cd /etc/security/console.apps/

[[email protected] console.apps]# mkdir -m 700locked

[[email protected] console.apps]# mv halt reboot powerofflocked/

2、设置bob用户密码过期时间:

[[email protected] locked]# useradd bob

[[email protected] locked]# echo 123456 |passwd  --stdin bob    //给bob用户设置密码

[[email protected] ~]# chage -m 1 -M 90 -W 5 -I 3 -E 2014-03-15 bob

//密码最少使用时间为1 天,密码最多使用时间为90天,密码过期警告时间为5天,密码失效后3天锁定帐户,2014年3月15日 bob用户过期

[[email protected] ~]#chage  -l bob   //查看bob用户密码有效期信息

3、强制alice用户下次登录必须立即修改密码

[[email protected] ~]# chage -d 0 alice     //设置下次alice用户登录时必须改密码

[[email protected] ~]#chage -E2014-05-01 alice  //设置alice用户 2014年5月1日该账户过期


4、帐号锁定操作。每步到底做了什么?

/etc/shadow    //密码存放

方法1:

[[email protected] ~]# passwd  -l  alice   //锁定用户,用户将不能登录

[[email protected] ~]# passwd  -S  alice  //大S查看锁定

[[email protected] ~]# passwd  -u alice   //解锁

注意: -f 强制解锁,并更改新密码

方法2:

[[email protected] ~]# usermod  -L alice  锁定

[[email protected] ~]#  usermod -U  alice 解锁

5强制定期修改密码

配置文件/etc/login.defs     对新建的用户有效

每新建一个用户都具有以下的配置

主要控制属性

PASS_MAX_DAYS  90    //密码最长使用时间改为90天

PASS_MIN_DAYS  1    //密码最少使用时间改为1天

PASS_MIN_LEN   5    //密码的最短长度5

PASS_WARN_AGE  5    //密码快到期的警告时间5天

6、设置最大历史命令条目数

# history     //查看历史命令

# vim /root/.bash_history  //历史命令默认存放在账户家目录.bash_history里,默认存1000条

# vim /etc/profile

HISTSIZE=1000     //在这可修改默认存储历史命令数,一般不修改或改低,记录历史命令容易泄露命令和操作

7SUID

 SUID:如果一个命令文件设置了SUID,而且其他用户具有x权限,那么当其他用户在执行命令时,它在执行期间就具备了属主的权限。

(1)分别以root和bob用户执行 ls /root有什么结果;改变ls的权限 chmod  4755 /bin/ls,再      用bob执行ls /root有什么结果?为什么

答:bob没权限打开/root  ,改变ls权限后,bob用户可以打开/root

# ll /bin/ls

-rwxr-xr-x.1 root root 117024 10月17 2013 /bin/ls

# chmod 4755 /bin/ls

# ll /bin/ls

-rwsr-xr-x. 1 root root 117024 10月 17 2013 /bin/ls

(2)执行chmod  755 /usr/bin/passwd后,bob修改自己的密码,还能修改么?(不能)为什么

(3)执行chmod  4755 /bin/touch后,bob创建一个文件,查看文件的属主是谁,为什么会有这样的结果?

答:属主是root  ,属组是bob 。

8/etc/fstab中的defaults是挂载选项,它包含哪些选项。如果把一个目录挂载为只读文件系统

9、文件加锁、解锁

EXT3  EXT4的文件属性控制

chattr   +/-  i/a

+     //增加权限

-     //减权限

   //不可变,不可任何人更改,只可读

a    //仅可追加

把/etc/hosts变成绝对只读文件

chattr +i  /etc/hosts    // 把/etc/hosts 变成绝对只读文件,任何人包括root也无权限写入更改

lsattr /etc/hosts   // 查看/etc/hosts 权限

把/etc/hosts变成只能追加内容的文件

chattr +a  /etc/hosts    // 仅可追加改动,不可直接更改

echo -e “192.168.10.2\yy.tarena.com\yy” >> /etc/hosts   //仅可追加改动

# chattr +i /etc/passwd   //锁定passwd文件,就不能再添加用户了


引导和登录控制

10、允许启用哪些tty终端

配置文件/etc/sysconfig/init

ACTIVE_CONSOLES=/dev/tty[1-6]   //默认1-6, 可以改成1-3  2-5  等等

立即禁止普通用户登录

touch  /etc/nologin    // 在/etc下创建一个nologin空文件就OK,就能禁止普通用户登录

rm -rf  /etc/nologin    //删掉nologin空文件,普通用户就可以登录了

只允许root从指定的几个终端登录

配置文件/etc/securetty    //不想root从那个终端登录,就删掉那个终端

11、防止系统版本信息泄漏

vim /etc/issue    //物理访问服务器的时候,防止系统版本泄露,可以把里面内容改掉

vim /etc/issue.net    // 用Telnet 网络连接时,把显示系统版本信息更改掉   防泄露

12、禁止Ctrl+Alt+Del重启

[[email protected] ~]# vim/etc/init/control-alt-delete.conf 1

# start on control-alt-delete

exec /sbin/shutdown -r now .. ..

13、grub加密码   (  限制在启动时改grub参数进入单用户模式   )

[[email protected] ~]# grub-md5-crypt     //给grub引导加md5加密密码

Password:

Retype password:

$1$tt3gH1$8nZtL70J/Gv/dAaUm/1      //用md5给grub引导生成的加密密码,然后把这个密码写在/boot/grub/grub.conf 配置文件里

[[email protected] ~]# vim/boot/grub/grub.conf

default=0    //系统启动顺序0代表最先启动,要是双系统或多系统,0的系统会成为默认启动

timeout=20    //要是多个系统情况下,在20秒内用户没有干扰,那么默认启动0那个系统

password--md5  $1$tt3gH1$8nZtL70J/Gv/dAaUm/1   //给grub引导加密码,放在title 上面那么也等于给单用户模式加了密码,放在title 下面是单独给该系统加密

splashimage=(hd0,0)/grub/splash.xpm.gz       //背景图片,不用管

hiddenmenu

title Red Hat Enterprise Linux (2.6.32-358.el6.x86_64)

root (hd0,0)                        //内核文件所在分区

kernel /vmlinuz-2.6.32-358.el6.x86_64  ro.. ..// kernel指定内核,ro代表以只读方式启动

initrd /initramfs-2.6.32-358.el6.x86_64.img   //初始化内存盘在什么位置

title windows 7            //双系统给win 7写的启动顺序

rootnoverify (hd0,2)

makeactive

chainloader +1

14用户切换与提权

su   创建非登陆shell (只切换用户,不切换环境变量)

su - 创建登陆shell    (切换用户,同时切换环境变量)

14.1sudo    授权普通用户命令

管理员需要让tom和alice管理用户的创建、删除、修改、设置密码操作。但是又不能把root密码告诉他们。

里面直接加入:

# visudo    //用 vi 打开sudo ,好处是会做语法检查,提示错误

User_Alias USERADMINS = tom, alice

Cmnd_Alias USEROP = /usr/sbin/useradd,/usr/sbin/userdel, /usr/sbin/usermod, /usr/bin/passwd....

USERADMINS      ALL=(ALL)       USEROP

[[email protected] ~]# su - tom

[[email protected] ~]$ sudo useradd zhangsan   //命令前加sudo就能调用

[[email protected] ~]$  sudo  -l         //tom可通过sudo -l查看自己能使用那些命令

解释: 

User_Alias(为固定格式)   USERADMINS(自己起的别名) = tom,alice  (这两个用户属于USERADMINS )

Cmnd_Alias(为固定格式)   USEROP(自己起得别名)=后边的命令都属于 USEROP这个别名,(用which查询命令的绝对路径)

USERADMINS(这里边的用户)  ALL=(ALL)   USEROP(可以执行这里变命令)USERADMINS的人可以执行USEROP的命令

注意:

98  root    ALL=(ALL)         ALL

99  tom     ALL=(ALL)       ALL  //tom用户可以在所有机器上以管理员的身份执行

所有命令,只要在前面加个sudo并输入tom密码就可以了,可是这样不安全,不建议这样设置 因为管理员能干的事情tom都能干了

15、初始化操作系统

# touch  /.unconfigured    //在/下建立.unconfigured 然后重启,会初始化系统一些参数配置

# reboot

查看运行级别

# who -r

运行级别 52014-03-22 18:01

开启或关闭服务级别

ntsysv - -level  35   //开启或关闭35级别

ntsysv - -level  235   //开启或关闭235级别

设置绝对只读            //任何人都没有写权限

chattr  +i  /etc/shadow   //任何人都没有写权限,不能改变该文件

chattr -i  /etc/shadow    //撤销只读

lsattr /etc/shadow   查看该目录权限

chattr +a  /etc/shadow    //仅可追加写入    不能直接更改

unix2dos  dos2unix      //两个命令的 文本换行命令

其它:

1工作环境中(为了安全起见)                 

重启时最好用:showdown -r now

删除用户时不要加-r: userdel  user01

2将上个命令替换为另一个命令                    

如:                                                                         

# ls /etc/sysconfig/network-scripts/ifcfg-eth0         

# ^ls^vim     相当于 #vim /etc/sysconfig/network-scripts/ifcfg-eth0              

3)vim 里:大写C→从光标处,删除到行尾,并且进入编辑模式

维护服务器时,最好用一个普通用户登录,因为root用户权限太大,防止误操作

时间: 2024-10-13 01:15:51

Linux服务器加固的相关文章

华为公有云linux服务器上ssh登录的安全加固

linux服务器主要是通过ssh进行登录,但是在华为公有云上,如何保证登录安全性呢?本次以centos7为例,对ssh登录进行安全加固 修改默认端口 在linux上,修改ssh登录的默认端口,比如修改到5000 vim /etc/ssh/sshd_config 在第17行,将注释#删掉,修改为port 5000' 增加iptables开放端口5000 配置iptables #iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport

Linux服务器安全加固方案

增加Linux服务器安全方法,建议如下操作 1.修改ssh端口,并禁止root远程登陆!2.在服务器上面安装denyhost防ssh暴力破解!3.服务器采用key登陆,不允许密码登陆服务器!4.在生产环境搭建一台openvpn,通过vpn连接登录服务器!5.关闭不必要的系统服务,降低服务器安全隐患!6.在服务器上面iptables对固定ip开放ssh端口!7.编写python脚本来监控服务器上面所有用户及连接服务器IP,如发现问题自动短信报警! 注:以上方法是我在生产环境采用的方案,希望能帮助你

Linux服务器安全策略配置-SSH与动态MOTD(一)

Linux登录提示(静态/动态MOTD) 在用户输入口令或使用密钥成功登录后,让服务器自动为我们执行几个简单的操作,如打印提示信息,打印异常信息,执行一个脚本,或者发送邮件等.能够预先提示信息给登录者,让我们在登录机器采取任何操作之前,可以快速的了解这台机器的重要信息.看起来是不是很有意思呢? 也许我们会想,这对于服务器的安全加固并没有直接的影响,而且每次刚刚登录就执行一系列命令.脚本(如收集服务器资源使用情况的信息),似乎也有点多余.因此,如果是在生产环境的Linux服务器并且需要配置登录提示

25个Linux服务器安全小贴士,总有一条用得上!

大家都认为 Linux 默认是安全的,我大体是认可的 (这是个有争议的话题).Linux默认确实有内置的安全模型.你需要打开它并且对其进行定制,这样才能得到更安全的系统.Linux更难管理,不过相应也更灵活,有更多的配置选项. 对于系统管理员,让产品的系统更安全,免于骇客和黑客的攻击,一直是一项挑战.这是我们关于"如何让Linux系统更安全" 或者 "加固Linux系统"之类话题的第一篇文章.本文将介绍 25个有用的技巧和窍门 ,帮助你让Linux系统更加安全.希望

Linux服务器运维安全策略经验分享

http://jxtm.jzu.cn/?p=3692 大家好,我是南非蚂蚁,今天跟大家分享的主题是:线上Linux服务器运维安全策略经验.安全是IT行业一个老生常谈的话题了,从之前的“棱镜门”事件中折射出了很多安全问题,处理好信息安全问题已变得刻不容缓.因此做为运维人员,就必须了解一些安全运维准则,同时,要保护自己所负责的业务,首先要站在攻击者的角度思考问题,修补任何潜在的威胁和漏洞.今天,我为大家讲的,主要分五部分展开:账户和登录安全账户安全是系统安全的第一道屏障,也是系统安全的核心,保障登录

Linux服务器基本安全配置总结

我们在搭建Linux服务器的时候有很多事情需要注意,其中一个安全的配置表是一个服务器的搭建者和维护者最需要掌握的东西.在本文中你会看到一份完整的Linux服务器安全搭建手册假如你想要搭建一个Linux服务器,并且希望可以长期维护的话,就需要考虑安全性能与速度等众多因素.一份正确的linux基本安全配置手册就显得格外重要. 在日常运维工作中,对加固服务器的安全设置是一个机器重要的环境.比较推荐的做法是: 1)严格限制ssh登陆(参考:Linux系统下的ssh使用(依据个人经验总结)): 修改ssh

[转帖]安全强化你的 Linux 服务器的七个步骤

安全强化你的 Linux 服务器的七个步骤 https://linux.cn/article-11444-1.html 作者: Patrick H. Mullins 译者: LCTT Xingyu.Wang | 2019-10-11 09:41   收藏: 1 通过七个简单的步骤来加固你的 Linux 服务器. 这篇入门文章将向你介绍基本的 Linux 服务器安全知识.虽然主要针对 Debian/Ubuntu,但是你可以将此处介绍的所有内容应用于其他 Linux 发行版.我也鼓励你研究这份材料,

IT 安全概念&Linux 安全加固实施方案

1)学习 Linux 技术,主要的工作保证企业门户网站.业务系统.数据库安全.高效.稳定的运行,安全技能对运维人员的要求越来越高,一旦业务系统.数据库被heike攻破,所有数据被暴露在heike眼皮下: 2) 运维安全.IT 安全应该从哪些方面去考虑呢?如何才能做好运维安全呢? ? 硬件层面 IDC 机房.门禁.静电.消防设施.UPS 供电.机房温度.硬盘状态.电缆.网线.空凋: ? 软件层面 软件版本.程序代码.BUG 漏洞.程序权限.用户名.密码.数据库服务.后台植入: ? 系统层面 系统稳

搭建基于Nagios的监控系统——之监控远程Linux服务器

上一篇介绍了如何安装Nagios Core,这一篇跟大家分享一下如何将一台远程的Linux服务器加入纳入监控范围. 第一部分:在远程Linux上安装Nagios Plugins和NRPE   第一步:下载Nagios Plugins和NREP扩展的安装程序   [plain] view plain copy cd Downloads wget http://nagios-plugins.org/download/nagios-plugins-2.0.tar.gz 访问 http://www.na