网站服务器安全设置之Linux系统安全部署

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 针对于Linux系统的服务器安全设置常用的方法以及服务器的安全优化都进行详细的重点介绍给新手入门Linux系统的安全设置,安全无小事,作为一个专职的系统管理员,打造一个安全的linux系统是管理员的一个基本素质,以下15项讲的就是Sinesafe为客户部署的这些安全设置以及优化的方法,如果想要深入专业的安全设置部署建议咨询专业做安全的公司,国内推荐Sinesafe,绿盟,启明星辰等等。

针对于Linux系统的服务器安全设置常用的方法以及服务器的安全优化都进行详细的重点介绍给新手入门Linux系统的安全设置,安全无小事,作为一个专职的系统管理员,打造一个安全的linux系统是管理员的一个基本素质,以下15项讲的就是Sinesafe为客户部署的这些安全设置以及优化的方法,如果想要深入专业的安全设置部署建议咨询专业做安全的公司,国内推荐Sinesafe,绿盟,启明星辰等等。

一、注释掉系统不需要的用户和用户组

注意:不建议直接删除,当你需要某个用户时,自己重新添加会很麻烦。

cp /etc/passwd /etc/passwdbak #修改之前先备份

vi /etc/passwd #编辑用户,在前面加上#注释掉此行

#adm:x:3:4:adm:/var/adm:/sbin/nologin

#lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

#sync:x:5:0:sync:/sbin:/bin/sync

#shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown

#halt:x:7:0:halt:/sbin:/sbin/halt

#uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin

#operator:x:11:0:operator:/root:/sbin/nologin

#games:x:12:100:games:/usr/games:/sbin/nologin

#gopher:x:13:30:gopher:/var/gopher:/sbin/nologin

#ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin #注释掉ftp匿名账号

cp /etc/group /etc/groupbak #修改之前先备份

vi /etc/group #编辑用户组,在前面加上#注释掉此行

#adm:x:4:root,adm,daemon

#lp:x:7:daemon,lp

#uucp:x:14:uucp

#games:x:20:

#dip:x:40:

二、关闭系统不需要的服务

service acpid stop chkconfig acpid off #停止服务,取消开机启动 #电源进阶设定,常用在 Laptop 上

service autofs stop chkconfig autofs off #停用自动挂载档桉系统与週边装置

service bluetooth stop chkconfig bluetooth off #停用Bluetooth蓝芽

service cpuspeed stop chkconfig cpuspeed off #停用控制CPU速度主要用来省电

service cups stop chkconfig cups off #停用 Common UNIX Printing System 使系统支援印表机

service ip6tables stop chkconfig ip6tables off #禁止IPv6

###########################################################################

如果要恢复某一个服务,可以执行下面操作

service acpid start chkconfig acpid on

三、禁止非root用户执行/etc/rc.d/init.d/下的系统命令

chmod -R 700 /etc/rc.d/init.d/*

chmod -R 777 /etc/rc.d/init.d/* #恢复默认设置

四、给下面的文件加上不可更改属性,从而防止非授权用户获得权限

chattr +i /etc/passwd

chattr +i /etc/shadow

chattr +i /etc/group

chattr +i /etc/gshadow

chattr +i /etc/services #给系统服务端口列表文件加锁,防止未经许可的删除或添加服务

lsattr /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/services #显示文件的属性

注意:执行以上权限修改之后,就无法添加删除用户了。

如果再要添加删除用户,需要先取消上面的设置,等用户添加删除完成之后,再执行上面的操作

chattr -i /etc/passwd #取消权限锁定设置

chattr -i /etc/shadow

chattr -i /etc/group

chattr -i /etc/gshadow

chattr -i /etc/services #取消系统服务端口列表文件加锁

现在可以进行添加删除用户了,操作完之后再锁定目录文件

五、限制不同文件的权限

chattr +a .bash_history #避免删除.bash_history或者重定向到/dev/null

chattr +i .bash_history

chmod 700 /usr/bin 恢复 chmod 555 /usr/bin

chmod 700 /bin/ping 恢复 chmod 4755 /bin/ping

chmod 700 /usr/bin/vim 恢复 chmod 755 /usr/bin/vim

chmod 700 /bin/netstat 恢复 chmod 755 /bin/netstat

chmod 700 /usr/bin/tail 恢复 chmod 755 /usr/bin/tail

chmod 700 /usr/bin/less 恢复 chmod 755 /usr/bin/less

chmod 700 /usr/bin/head 恢复 chmod 755 /usr/bin/head

chmod 700 /bin/cat 恢复 chmod 755 /bin/cat

chmod 700 /bin/uname 恢复 chmod 755 /bin/uname

chmod 500 /bin/ps 恢复 chmod 755 /bin/ps

六、禁止使用Ctrl+Alt+Del快捷键重启服务器

cp /etc/inittab /etc/inittabbak

vi /etc/inittab #注释掉下面这一行

#ca::ctrlaltdel:/sbin/shutdown -t3 -r now

七、使用yum update更新系统时不升级内核,只更新软件包

由于系统与硬件的兼容性问题,有可能升级内核后导致服务器不能正常启动,这是非常可怕的,没有特别的需要,建议不要随意升级内核。

cp /etc/yum.conf /etc/yum.confbak

1、修改yum的配置文件 vi /etc/yum.conf 在[main]的最后添加 exclude=kernel*

2、直接在yum的命令后面加上如下的参数:

yum --exclude=kernel* update

查看系统版本 cat /etc/issue

查看内核版本 uname -a

八、关闭Centos自动更新

chkconfig --list yum-updatesd #显示当前系统状态

yum-updatesd 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭

service yum-updatesd stop #关闭 开启参数为start

停止 yum-updatesd: [确定]

service yum-updatesd status #查看是否关闭

yum-updatesd 已停

chkconfig --level 35 yum-updatesd off #禁止开启启动(系统模式为3、5)

chkconfig yum-updatesd off #禁止开启启动(所有启动模式全部禁止)

chkconfig --list yum-updatesd #显示当前系统状态

yum-updatesd 0:关闭 1:关闭 2:启用 3:关闭 4:启用 5:关闭 6:关闭

九、关闭多余的虚拟控制台

我们知道从控制台切换到 X 窗口,一般采用 Alt-F7 ,为什么呢?因为系统默认定义了 6 个虚拟控制台,

所以 X 就成了第7个。实际上,很多人一般不会需要这么多虚拟控制台的,修改/etc/inittab ,注释掉那些你不需要的。

cp /etc/inittab /etc/inittabbak

vi /etc/inittab

# Run gettys in standard runlevels

1:2345:respawn:/sbin/mingetty tty1

#2:2345:respawn:/sbin/mingetty tty2

#3:2345:respawn:/sbin/mingetty tty3

#4:2345:respawn:/sbin/mingetty tty4

#5:2345:respawn:/sbin/mingetty tty5

#6:2345:respawn:/sbin/mingetty tty6

十、删除MySQL历史记录

用户登陆数据库后执行的SQL命令也会被MySQL记录在用户目录的.mysql_history文件里。

如果数据库用户用SQL语句修改了数据库密码,也会因.mysql_history文件而泄漏。

所以我们在shell登陆及备份的时候不要在-p后直接加密码,而是在提示后再输入数据库密码。

另外这两个文件我们也应该不让它记录我们的操作,以防万一。

cd

cp .bash_history .bash_historybak #备份

cp .mysql_history .mysql_historybak

rm .bash_history .mysql_history

ln -s /dev/null .bash_history

ln -s /dev/null .mysql_history

十一、修改history命令记录

cp /etc/profile /etc/profilebak

vi /etc/profile

找到 HISTSIZE=1000 改为 HISTSIZE=50

十二、隐藏服务器系统信息

在缺省情况下,当你登陆到linux系统,它会告诉你该linux发行版的名称、版本、内核版本、服务器的名称。

为了不让这些默认的信息泄露出来,我们要进行下面的操作,让它只显示一个"login:"提示符。

删除/etc/issue和/etc/issue.net这两个文件,或者把这2个文件改名,效果是一样的。

mv /etc/issue /etc/issuebak

mv /etc/issue.net /etc/issue.netbak

十三、优化Linux内核参数

cp /etc/sysctl.conf /etc/sysctl.confbak

vi /etc/sysctl.conf #在文件末尾添加以下内容

net.ipv4.ip_forward = 1 #修改为1

net.core.somaxconn = 262144

net.core.netdev_max_backlog = 262144

net.core.wmem_default = 8388608

net.core.rmem_default = 8388608

net.core.rmem_max = 16777216

net.core.wmem_max = 16777216

net.ipv4.netfilter.ip_conntrack_max = 131072

net.ipv4.netfilter.ip_conntrack_tcp_timeout_established = 180

net.ipv4.route.gc_timeout = 20

net.ipv4.ip_conntrack_max = 819200

net.ipv4.ip_local_port_range = 10024 65535

net.ipv4.tcp_retries2 = 5

net.ipv4.tcp_fin_timeout = 30

net.ipv4.tcp_syn_retries = 1

net.ipv4.tcp_synack_retries = 1

net.ipv4.tcp_timestamps = 0

net.ipv4.tcp_tw_recycle = 1

net.ipv4.tcp_tw_len = 1

net.ipv4.tcp_tw_reuse = 1

net.ipv4.tcp_keepalive_time = 120

net.ipv4.tcp_keepalive_probes = 3

net.ipv4.tcp_keepalive_intvl = 15

net.ipv4.tcp_max_tw_buckets = 36000

net.ipv4.tcp_max_orphans = 3276800

net.ipv4.tcp_max_syn_backlog = 262144

net.ipv4.tcp_wmem = 8192 131072 16777216

net.ipv4.tcp_rmem = 32768 131072 16777216

net.ipv4.tcp_mem = 94500000 915000000 927000000

/sbin/sysctl -p #使配置立即生效

十四、CentOS 系统优化

cp /etc/profile /etc/profilebak2

vi /etc/profile #在文件末尾添加以下内容

ulimit -c unlimited

ulimit -s unlimited

ulimit -SHn 65535

ulimit -S -c 0

export LC_ALL=C

source /etc/profile #使配置立即生效

ulimit -a #显示当前的各种用户进程限制

十五、服务器禁止ping

cp /etc/rc.d/rc.local /etc/rc.d/rc.localbak

vi /etc/rc.d/rc.local #在文件末尾增加下面这一行

echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

参数0表示允许 1表示禁止

专注于安全领域 解决网站安全 解决网站被黑 网站被挂马 网站被篡改 网站安全、服务器安全提供商-www.sinesafe.com --专门解决其他人解决不了的网站安全问题.
相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
22天前
|
存储 缓存 监控
Linux缓存管理:如何安全地清理系统缓存
在Linux系统中,内存管理至关重要。本文详细介绍了如何安全地清理系统缓存,特别是通过使用`/proc/sys/vm/drop_caches`接口。内容包括清理缓存的原因、步骤、注意事项和最佳实践,帮助你在必要时优化系统性能。
165 78
|
6天前
|
弹性计算 安全 搜索推荐
阿里云国际站注册教程:阿里云服务器安全设置
阿里云国际站注册教程:阿里云服务器安全设置 在云计算领域,阿里云是一个备受推崇的品牌,因其强大的技术支持和优质的服务而受到众多用户的青睐。本文将为您介绍阿里云国际站的注册过程,并重点讲解如何进行阿里云服务器的安全设置。
|
6天前
|
弹性计算 运维 Ubuntu
使用阿里云服务器自动搭建WordPress网站流程,超简单by系统运维管理OOS
本教程介绍如何使用阿里云服务器(ECS)和系统运维管理OOS自动搭建WordPress网站,支持Ubuntu、CentOS及Alibaba Cloud Linux等操作系统。前提条件包括ECS实例处于运行中、有公网IP且安全组已开启80端口。安装步骤简单:进入ECS快速购买控制台选择预装WordPress,确认下单后通过管理控制台查看实例详情并开放安全组端口。最后,通过实例公网IP访问,出现WordPress登录页即表示安装成功。
|
20天前
|
负载均衡 Ubuntu 应用服务中间件
nginx修改网站默认根目录及发布(linux、centos、ubuntu)openEuler软件源repo站点
通过合理配置 Nginx,我们可以高效地管理和发布软件源,为用户提供稳定可靠的服务。
80 13
|
2月前
|
安全 Linux 应用服务中间件
从零开始启动、配置、保护你的云服务器并搭建一个简单的网站
本文详细介绍了如何准备原料、搭建基础环境、进行安全防护、建设网站、管理证书以及开启BBR优化网络性能。主要内容包括获取健康云服务器、配置SSH登录、创建非root用户、启用密钥认证、安装Nginx、申请TLS证书、配置HTTPS自动跳转及优化网络性能等步骤。通过本文,读者可以掌握从零开始搭建个人网站的全过程。
52 1
从零开始启动、配置、保护你的云服务器并搭建一个简单的网站
|
1月前
|
开发框架 .NET PHP
网站应用项目如何选择阿里云服务器实例规格+内存+CPU+带宽+操作系统等配置
对于使用阿里云服务器的搭建网站的用户来说,面对众多可选的实例规格和配置选项,我们应该如何做出最佳选择,以最大化业务效益并控制成本,成为大家比较关注的问题,如果实例、内存、CPU、带宽等配置选择不合适,可能会影响到自己业务在云服务器上的计算性能及后期运营状况,本文将详细解析企业在搭建网站应用项目时选购阿里云服务器应考虑的一些因素,以供参考。
|
2月前
|
缓存 Ubuntu Linux
Linux环境下测试服务器的DDR5内存性能
通过使用 `memtester`和 `sysbench`等工具,可以有效地测试Linux环境下服务器的DDR5内存性能。这些工具不仅可以评估内存的读写速度,还可以检测内存中的潜在问题,帮助确保系统的稳定性和性能。通过合理配置和使用这些工具,系统管理员可以深入了解服务器内存的性能状况,为系统优化提供数据支持。
50 4
|
2月前
|
运维 监控 Linux
服务器管理面板大盘点: 8款开源面板助你轻松管理Linux服务器
在数字化时代,服务器作为数据存储和计算的核心设备,其管理效率与安全性直接关系到业务的稳定性和可持续发展。随着技术的不断进步,开源社区涌现出众多服务器管理面板,这些工具以其强大的功能、灵活的配置和友好的用户界面,极大地简化了Linux服务器的管理工作。本文将详细介绍8款开源的服务器管理面板,包括Websoft9、宝塔、cPanel、1Panel等,旨在帮助运维人员更好地选择和使用这些工具,提升服务器管理效率。
|
1月前
|
存储 Oracle 安全
服务器数据恢复—LINUX系统删除/格式化的数据恢复流程
Linux操作系统是世界上流行的操作系统之一,被广泛用于服务器、个人电脑、移动设备和嵌入式系统。Linux系统下数据被误删除或者误格式化的问题非常普遍。下面北亚企安数据恢复工程师简单聊一下基于linux的文件系统(EXT2/EXT3/EXT4/Reiserfs/Xfs) 下删除或者格式化的数据恢复流程和可行性。
|
2月前
|
安全 Linux API
Linux服务器安全
人们常误认为服务器因存于数据中心且数据持续使用而无需加密。然而,当驱动器需维修或处理时,加密显得尤为重要,以防止数据泄露。Linux虽有dm-crypt和LUKS等内置加密技术,但在集中管理、根卷加密及合规性等方面仍存不足。企业应选择具备强大验证、简单加密擦除及集中管理等功能的解决方案,以弥补这些缺口。
33 0
下一篇
开通oss服务