如何让Linux系统更加安全? Linux是一个领先的操作系统,世界上运算最快的10台超级计算机运行的都是Linux操作系统。Linux操作系统软件包不仅包括完整的Linux操作系统,而且还包括了文本编辑器、高级语言编译器等应用软件。 那么,Linux服务器安全技巧有哪些?
1、物理系统的安全性
配置BIOS,禁用从CD/DVD、外部设备、软驱启动。下一步,启用BIOS密码,同时启用GRUB的密码保护,这样可以限制对系统的物理访问。
通过设置GRUB密码来保护Linux服务器
2、磁盘分区
使用不同的分区很重要,对于可能得灾难,这可以保证更高的数据安全性。通过划分不同的分区,数据可以进行分组并隔离开来。当意外发生时,只有出问题的分区的数据才会被破坏,其他分区的数据可以保留下来。你最好有以下的分区,并且第三方程序最好安装在单独的文件系统/opt下。
/
/boot
/usr
/var
/home
/tmp
/opt
3、最小包安装,最少漏洞
你真的需要安装所有的服务么?建议不要安装无用的包,避免由这些包带来的漏洞。这将最小化风险,因为一个服务的漏洞可能会危害到其他的服务。找到并去除或者停止不用的服务,把系统漏洞减少到最小。使用‘chkconfig‘命令列出运行级别3的运行所有服务。
# /sbin/chkconfig --list |grep '3n'当你发现一个不需要的服务在运行时,使用下面的命令停止这个服务。
# chkconfig serviceName off使用RPM包管理器,例如YUM或者apt-get 工具来列出所有安装的包,并且利用下的命令来卸载他们。
# yum -y remove package-name# sudo apt-get remove package-name5 chkconfig Command Examples
20 Practical Examples of RPM Commands
20 Linux YUM Commands for Linux Package Management
25 APT-GET and APT-CACHE Commands to Manage Package Management
4、检查网络监听端口
在网络命令 ‘netstat‘ 的帮助下,你将能够看到所有开启的端口,以及相关的程序。使用我上面提到的 ‘chkconfig‘ 命令关闭系统中不想要的网络服务。
# netstat -tulpnLinux 网络管理中的20条 Netstat 命令
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 2SSH 服务器安全维护五条最佳实践
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.deny11 个linux Cron调度实例
8、禁止USB探测
很多情况下我们想去限制用户使用USB,来保障系统安全和数据的泄露。建立一个文件‘/etc/modprobe.d/no-usb‘并且利用下面的命令来禁止探测USB存储。
install usb-storage /bin/true