我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Linux服务器安全小技巧有哪些

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Linux服务器安全小技巧有哪些

这篇文章主要介绍了Linux服务器安全小技巧有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

1. 物理系统的安全性

配置BIOS,禁用从CD/DVD、外部设备、软驱启动。下一步,启用BIOS密码,同时启用GRUB的密码保护,这样可以限制对系统的物理访问。

2. 磁盘分区

使用不同的分区很重要,对于可能得灾难,这可以保证更高的数据安全性。通过划分不同的分区,数据可以进行分组并隔离开来。当意外发生时,只有出问题 的分区的数据才会被破坏,其他分区的数据可以保留下来。你最好有以下的分区,并且第三方程序最好安装在单独的文件系统/opt下。

/

/boot

/usr

/var

/home

/tmp

/opt

3. 最小包安装,最少漏洞

你真的需要安装所有的服务么?建议不要安装无用的包,避免由这些包带来的漏洞。这将最小化风险,因为一个服务的漏洞可能会危害到其他的服务。找到并去除或者停止不用的服务,把系统漏洞减少到最小。使用‘chkconfig’命令列出运行级别3的运行所有服务。

# /sbin/chkconfig --list |grep '3:on'

当你发现一个不需要的服务在运行时,使用下面的命令停止这个服务。

# chkconfig serviceName off

使用RPM包管理器,例如YUM或者apt-get 工具来列出所有安装的包,并且利用下的命令来卸载他们。

# yum -y remove package-name

# sudo apt-get remove package-name

4. 检查网络监听端口

在网络命令‘netstat’的帮助下,你将能够看到所有开启的端口,以及相关的程序。使用我上面提到的‘chkconfig’命令关闭系统中不想要的网络服务。

# netstat -tulpn

5. 使用 SSH(Secure Shell)

Telnet 和 rlogin 协议只能用于纯文本,不能使用加密的格式,这或将导致安全漏洞的产生。SSH 是一种在客户端与服务器端通讯时使用加密技术的安全协议。

除非必要,永远都不要直接登录 root 账户。使用 “sudo” 执行命令。sudo 由 /etc/sudoers 文件制定,同时也可以使用 “visudo”工具编辑,它将通过 VI 编辑器打开配置文件。

同时,建议将默认的 SSH 22 端口号改为其他更高的端口号。打开主要的 SSH 配置文件并做如下修改,以限制用户访问。

# vi /etc/ssh/sshd_config

关闭 root 用户登录

PermitRootLogin no

特定用户通过

AllowUsers username

使用第二版 SSH 协议

Protocol 2

6. 保证系统是最新的

得一直保证系统包含了最新版本的补丁、安全修复和可用内核。

# yum updates

# yum check-update

7. 锁定 Cron任务

Cron有它自己内建的特性,这特性允许定义哪些人能哪些人不能跑任务。这是通过两个文件/etc/cron.allow 和 /etc /cron.deny 控制的。要锁定在用Cron的用户时可以简单的将其名字写到corn.deny里,而要允许用户跑cron时将其名字加到 cron.allow即可。如果你要禁止所有用户使用corn,那么可以将“ALL”作为一行加到cron.deny里。

# echo ALL >>/etc/cron.deny

8. 禁止USB探测

很多情况下我们想去限制用户使用USB,来保障系统安全和数据的泄露。建立一个文件‘/etc/modprobe.d/no-usb’并且利用下面的命令来禁止探测USB存储。

install usb-storage /bin/true

9.打开SELinux

SELinux(安全增强linux)是linux内核提供的一个强制的访问控制安全机制。禁用SELinux意味着系统丢掉了安全机制。要去除SELinux之前仔细考虑下,如果你的系统需要发布到网络,并且要在公网访问,你就要更加注意一下。

SELinux 提供了三个基本的操作模式,他们是:

强制执行:这是默认是模式,用来启用和强制执行SELinux安全措略。

许可模式:这种模式下SELinux不会强制执行安全措略,只有警告和日志记录。这种模式在SELinux相关问题的故障排除时候非常有用。

关闭模式:SELinux被关闭。

你可以使用命令行‘system-config-selinux’, ‘getenforce’ 或 ‘sestatus’来浏览当前的SEliux的状态。

# sestatus

如果是关闭模式,通过下面的命令开启SELinux

# setenforce enforcing

你也可以通过配置文件‘/etc/selinux/config’来进行SELinux的开关操作。

10. 移除KDE或GNOME桌面

没必要在专用的LAMP服务器上运行X Window桌面比如KDE和GNOME。可以移掉或关闭它们,以提高系统安全性和性能。打开/etc/inittab然后将run level改成3就可以关闭这些桌面。如果你将它彻底的从系统中移走,可以用下面这个命令:

# yum groupremove "X Window System"

11. 关闭IPv6

如果不用IPv6协议,那就应该关闭掉它,因为大部分的应用和策略都不会用到IPv6,而且当前它不是服务器必需的。可以在网络配置文件中加入如下几行来关掉它。

# vi /etc/sysconfig/network

NETWORKING_IPV6=no

IPV6INIT=no

12. 限制用户使用旧密码

如果你不希望用户继续使用老密码,这一条很有用。老的密码文件位于/etc/security/opasswd。你可以使用 PAM 模块实现。

RHEL / CentOS / Fedora 中打开‘/etc/pam.d/system-auth’文件。

# vi /etc/pam.d/system-auth

Ubuntu/Debian/Linux Mint 中打开‘/etc/pam.d/common-password’文件。

# vi /etc/pam.d/common-password

在‘auth’块中添加下面一行。

auth sufficient pam_unix.so likeauth nullok

在‘password’块添加下面一行,禁止用户重新使用其过去最后用过的 5个密码。

password sufficient pam_unix.so nullok use_authtok md5 shadow remember=5

服务器只记录最后的 5 个密码。如果你试图使用曾用的最后 5个老密码中的任意一个,你将看到如下的错误提示。

Password has been already used. Choose another.

13. 如何检查用户密码过期?

在 Linux 中,用户的密码以加密的形式保存在‘/etc/shadow’文件中。要检查用户的密码是否过期,你需要使用‘chage’命令。它将显示密码的最后修改日期及密码期限的细节信息。这些细节就是系统决定用户是否必须修改其密码的依据。

要查看任一存在用户的老化信息,如 过期日 和 时长,使用如下命令。

#chage -l username

要修改任一用户的密码老化,使用如下命令。

#chage -M 60 username

#chage -M 60 -m 7 -W 7 userName

参数

-M 设置天数最大数字

-m 设定天数最小数字

-W 设定想要的天数

14. 手动锁定或解锁用户账号

锁定和解锁功能是非常有用的,你可以锁定一个账号一周或一个月,而不是将这个账号从系统中剔除。可以用下面这个命令锁定一个特定用户。

# passwd -l accountName

提示:这个被锁定的用户仅对root用户仍然可见。这个锁定是通过将加密过的密码替换成(!)来实现的。如果有个想用这个账号来进入系统,他会得到类似下面这个错误的提示。

# su - accountName

This account is currently not available.

解锁一个被锁定的账号时,用下面这个命令。这命令会将被替换成(!)的密码改回来。

# passwd -u accountName

15. 增强密码

有相当数量的用户使用很弱智的密码,他们的密码都可以通过字典攻击或者暴力攻击攻破。‘pam_cracklib’模块存于在PAM 中,它可以强制用户设置复杂的密码。通过编辑器打开下面的文件。

# vi /etc/pam.d/system-auth

在文件中增加一行,使用认证参数(lcredit, ucredit, dcredit 或者 ocredit 对应小写字母、大写字母,数字和其他字符)

/lib/security/$ISA/pam_cracklib.so retry=3 minlen=8 lcredit=-1 ucredit=-2 dcredit=-2 ocredit=-1

16. 启用Iptable(防火墙)

高度推荐启用linux防火墙来禁止非法程序访问。使用iptable的规则来过滤入站、出站和转发的包。我们可以针对来源和目的地址进行特定udp/tcp端口的准许和拒绝访问。

17. 禁止Ctrl+Alt+Delete重启

在大多数的linux发行版中,按下‘CTRL-ALT-DELETE’将会让你的系统重启。只说生产服务器上这是不是一个很好的做法,这可能导致误操作。

这个配置是在‘/etc/inittab’文件,如果你打开这个文件,你可以看到下面类似的段落。默认的行已经被注释掉了。我们必须注释掉他。这个特定按键会让系统重启。

# Trap CTRL-ALT-DELETE

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

18. 检查空密码帐号

任何空密码的账户意味这可以让Web上任何无授权的用户访问,这是linux服务器的一个安全威胁。所以,确定所有的用户拥有一个复杂的密码并且

不存在特权用户。空密码帐号是安全风险,可以被轻易的攻克。可以利用下面的命令来检查是否有空密码账户存在。

# cat /etc/shadow | awk -F: '($2==""){print $1}'

19. 登录前显示SSH提示

在ssh认证时候,使用一个法律和安全警示是很好的建议。

20. 监视用户行为

如果你有很多的用户,去收集每一个用户的行为和和他们的进程消耗的信息非常重要。可以随后和一些性能优化和安全问题处理时进行用户分析。

但是如果监视和搜集用户行为信息呢 ?

有两个很有用的工具‘psacct’和‘acct’可以用来监视系统中用户的行为和进程。这些工具在系统后台执行并且不断记录系统中每一个用户的行为和各个服务比如 Apache、MySQL、SSH、FTP等的资源消耗。

21. 定期查看日志

将日志移动到专用的日志服务器里,这可避免入侵者轻易的改动本地日志。下面是常见linux的默认日志文件及其用处:

/var/log/message – 记录系统日志或当前活动日志。

/var/log/auth.log – 身份认证日志。

/var/log/kern.log – 内核日志。

/var/log/cron.log – Crond 日志 (cron 任务).

/var/log/maillog – 邮件服务器日志。

/var/log/boot.log – 系统启动日志。

/var/log/mysqld.log – MySQL数据库服务器日志。

/var/log/secure – 认证日志。

/var/log/utmp or /var/log/wtmp :登录日志。

/var/log/yum.log: Yum 日志。

22. 重要文件备份

在生产环境里,为了灾难恢复,有必要将重要文件备份并保存在安全的远程磁带保险库、远程站点或异地硬盘。

23. NIC 绑定

有两种类型的NIC绑定模式,需要在绑定接口用得到。

mode=0 – 循环赛模式

mode=1 – 激活和备份模式

NIC绑定可以帮助我们避免单点失败。在NIC绑定中,我们把两个或者更多的网卡绑定到一起,提供一个虚拟的接口,这个接口设置ip地址,并且和其他服务器会话。这样在一个NIC卡down掉或者由于其他原因不能使用的时候,我们的网络将能保持可用。

24. 保持 /boot 只读

linux内核和他的相关的文件都保存在/boot目下,默认情况下是可以读写的。把它设为了只读可以减少一些由于非法修改重要boot文件而导致的风险。

# vi /etc/fstab

在文件最后增加下面的行,并且保存

LABEL=/boot /boot ext2 defaults,ro 1 2

如果你今后需要升级内核的话,你需要修回到读写模式。

25.不鸟ICMP和Broadcast请求

在/etc/sysctl.conf中添加下面几行,屏蔽掉ping和broadcast请求。

Ignore ICMP request:

net.ipv4.icmp_echo_ignore_all = 1

Ignore Broadcast request:

net.ipv4.icmp_echo_ignore_broadcasts = 1

运行下面这一行加载修改或更新:

#sysctl -p

感谢你能够认真阅读完这篇文章,希望小编分享的“Linux服务器安全小技巧有哪些”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网行业资讯频道,更多相关知识等着你来学习!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Linux服务器安全小技巧有哪些

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Linux服务器安全小技巧有哪些

这篇文章主要介绍了Linux服务器安全小技巧有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1. 物理系统的安全性配置BIOS,禁用从CD/DVD、外部设备、软驱启动。下
2023-06-13

Linux服务器安全小技巧

Linux服务器安全小技巧,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。如果你的Linux服务器被非受权用户接触到(如服务器放在公用机房内、公用办公室内),那么
2023-06-13

有哪些确保云服务器安全的小技巧?

云服务器早已被大多数企业主们认可,是因为云服务器可以给他们企业的发展带来更大广泛的优势。可以提供无与伦比的灵活性,提升投资收益率。在节约人力财力的同时,可以使IT团队专注于更多的关键业务项目。但云服务器也会存有安全隐患,由于公共服务器是部署
2023-06-04

服务器安全防御的技巧有哪些

服务器安全防御的技巧有:1、定期检查并修复系统和程序的漏洞,避免漏洞被黑客利用攻击;2、对重要端口进行设置,如3389、21、80等端口,能降低服务器被攻击的几率;3、安装服务器安全防御软件,能有效预防恶意攻击,保证服务器运行效率。具体内容
2023-02-08

centos服务器的安全技巧有哪些你

centos服务器的安全技巧有哪些你,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。有一些常识是每个系统管理员都应该烂熟于心的,所以下面的几点在本文将不会提及:务必保证系统是 最
2023-06-05

linux下高级SSH安全技巧有哪些

本篇文章给大家分享的是有关linux下高级SSH安全技巧有哪些,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。SSH服务器配置文件是/etc/ssh/sshd_conf。在你对它
2023-06-13

云服务器安全技术有哪些

云服务器安全技术本文概述了云服务器安全技术,包括基础安全措施(身份认证、补丁管理、防火墙),数据保护(加密、备份、访问控制),网络安全(IPS/IDS、VPN、安全组),应用安全(WAF、输入验证、安全编码实践),云平台安全(安全组、VPC、KMS)以及合规性和治理(审计、安全策略、人员培训)。它还强调了持续安全监控和改进的重要性,包括日志记录、事件响应和持续评估。
云服务器安全技术有哪些
2024-04-09

有哪些使用Linux Shell的小技巧

本篇内容介绍了“有哪些使用Linux Shell的小技巧”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!检查远程端口是否对bash开放:代码如
2023-06-09

云服务器安全技术有哪些

云服务器安全技术包括以下几个方面:1. 虚拟化技术:云服务器通常采用虚拟化技术,将物理服务器划分为多个虚拟服务器,可以隔离不同的用户和应用程序,提高安全性。2. 隔离和隐私保护:云服务器提供隔离机制,确保不同用户之间的数据和应用程序相互隔离
2023-09-21

使用Docker容器的安全技巧有哪些

这篇文章将为大家详细讲解有关使用Docker容器的安全技巧有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。首先,让我们看看限制容器的访问权限。访问管理-限制权限启动容器时,Docker将创建一组命名空
2023-06-17

PHP安全编码的技巧有哪些

这篇文章主要介绍了PHP安全编码的技巧有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇PHP安全编码的技巧有哪些文章都会有所收获,下面我们一起来看看吧。PHP 安全编码总结笔记SQL注入: 代码中的 HTT
2023-07-05

有趣的Linux命令行小技巧有哪些

这篇文章主要为大家展示了“有趣的Linux命令行小技巧有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“有趣的Linux命令行小技巧有哪些”这篇文章吧。1、 在 Linux 中锁定或隐藏文件或
2023-06-16

编程热搜

目录