Linux 服务器提高安全性的技巧方法
Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。不过安全问题也是一个关键。下面介绍一下方法技巧,希望下面的这些技巧和窍门可以帮助你加强你的系统的安全
方法技巧
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"
补充:Linux基本命令
1.ls命令:
格式::ls [选项] [目录或文件]
功能:对于目录,列出该目录下的所有子目录与文件;对于文件,列出文件名以及其他信息。
常用选项:
-a :列出目录下的所有文件,包括以 . 开头的隐含文件。
-d :将目录像文件一样显示,而不是显示其他文件。
-i :输出文件的i节点的索引信息。
-k :以k字节的形式表示文件的大小。
-l :列出文件的详细信息。
-n :用数字的UID,GID代替名称。
-F : 在每个文件名后面附上一个字符以说明该文件的类型,“*”表示可执行的普通文 件;“/”表示目录;“@”表示符号链接;“l”表示FIFOS;“=”表示套接字。
2.cd命令
格式:cd [目录名称]
常用选项:
cd .. 返回上一级目录。
cd ../.. 将当前目录向上移动两级。
cd - 返回最近访问目录。
3.pwd命令
格式: pwd
功能:显示出当前工作目录的绝对路径。
相关阅读:Linux主要特性
完全兼容POSIX1.0标准
这使得可以在Linux下通过相应的模拟器运行常见的DOS、Windows的程序。这为用户从Windows转到Linux奠定了基础。许多用户在考虑使用Linux时,就想到以前在Windows下常见的程序是否能正常运行,这一点就消除了他们的疑虑。
多用户、多任务
Linux支持多用户,各个用户对于自己的文件设备有自己特殊的权利,保证了各用户之间互不影响。多任务则是现在电脑最主要的一个特点,Linux可以使多个程序同时并独立地运行。
良好的界面
Linux同时具有字符界面和图形界面。在字符界面用户可以通过键盘输入相应的指令来进行操作。它同时也提供了类似Windows图形界面的X-Window系统,用户可以使用鼠标对其进行操作。在X-Window环境中就和在Windows中相似,可以说是一个Linux版的Windows。
支持多种平台
Linux可以运行在多种硬件平台上,如具有x86、680x0、SPARC、Alpha等处理器的平台。此外Linux还是一种嵌入式操作系统,可以运行在掌上电脑、机顶盒或游戏机上。2001年1月份发布的Linux 2.4版内核已经能够完全支持Intel 64位芯片架构。同时Linux也支持多处理器技术。多个处理器同时工作,使系统性能大大提高。
Linux 服务器安全相关文章: