20个Linux服务器安全强化建议(一)

Linux服务器安全对于保护用户数据、知识产权非常重要,同时还能减少你面对黑客的时间。在工作中,通常由系统管理员对Linux的安全负责,在这篇文章中,介绍了20条对Linux系统进行强化的建议。本文所有的建议都基于CentOS、RHEL系统或者Ubuntu/Debian的发行版本。

#1、加密数据通信方式。

所有通过网络传输的数据都是可以被监听的,因此只要有可能就要使用密码、证书等方式加密你的通讯数据。

1、使用 scp、ssh、rsync或者sftp来进行文件传输。也可以使用特殊的sshfs或者fuse工具来挂载远程文件系统或者你的工作目录。

2、GnuPG 提供功能丰富的证书管理功能,允许你签名数据并进行传输。

3、Fugu 是一个图形化的SFTP文件传输工具。SFTP类似于FTP,但是与FTP不同,整个会话是加密的,也就是说不会用明文形式发送密码。另外一个选项是FileZilla,一个跨平台的客户端段,也支持FTP、FTPS 和 SFTP。

4、OpenVPN 是一个轻量级、低成本的SSL VPN。

5、Lighttpd SSL(Secure Server Layer)Https 的安装和配置。

6、Apache SSL(Secure Server Layer)Https(mod_ssl)的安装和配置。

#1.1、避免使用FTP、Telnet和Rlogin/Rsh服务

在大多数的网络配置下,用户名、密码,FTP / telnet /rsh 命令和传输的文件能够被同网段的任何人使用包嗅探软件监听。这个问题的通常解决方法是使用 OpenSSHSFTP 或者 FTPS

下面的命令可以帮助你删除服务器中没必要的服务。

# yum erase inetd xinetd ypserv tfpt-server telnet-server rsh-server

#2、最小化软件安装原则。

你确实需要服务器上安装的所有服务吗?避免安装不必要的服务就是避免漏斗。使用 RPM 包管理工具,例如 yum 或者 apt-get 、dpkg 来检查系统上安装的软件包,同时删除不必要的包。

1 # yum list installed
2 # yum list packageName
3 # yum remove packageName
4  
5 或者
6  
7 # dpkg --list
8 # dpkg --info packageName
9 # apt-get remove packageName

#3、每个系统或实例上只运行一种服务。

将不同的服务运行在单独的服务器或虚拟化实例中。例如:如果黑客攻破Apache进入到系统中,他就可以访问部署在这台服务器上的Mysql、E-Mail等其他服务,尽量不要这么做。

#4、保持Linux内核和软件的更新。

维护系统的一项重要工作就是及时的安装系统补丁。Linux提供了很多必要的工具和方法来保证系统的更新,所有安全方面的更新都应该尽快执行,与第2条一样,我们可以使用 yum、apt-get等工具来进行安全更新。

1 # yum update
2  
3 或者
4  
5 # apt-get update && apt-get upgrade

你可以在系统中配置更新提示邮件(Red hat、CentOS、Fedora),或者另外一个办法就是通过一个cron定时任务安装所有的安全更新。

#5、使用Linux安全扩展。

Linux提供了多种安全补丁,可以用来保护错误配置或者一些妥协的方案。尽可能使用 SELinux和其他Linux安全扩展来加强网络和程序的限制。例如,SELinux提供了Linux内核的安全策略。

#5.1、SELinux

SELinux提供了一套灵活的访问控制机制(MAC:Mandatory Access Control),标注的MAC下一个应用程序或者进程具有相关权限的用户下运行。使用MAC的内核保护能够使系统免于遭受系统的恶意攻击。更相信的信息可以查看官方的SELinux说明配置文档

参考资料:

1、http://www.cyberciti.biz/tips/linux-security.html

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏繁花云

[技巧]腾讯云服务器绑定多个IP(无需任何费用)

这里为什么要分配内网IP呢,因为你在服务器里虽然可以手动配置成任何IP,但是绑定公网IP还是要在控制台操作的,所以需要事先分配好内网IP

2.6K0
来自专栏HTML5学堂

移动端及时调试工具 - weinre使用方法

HTML5学堂:在前一篇文章当中,我们借着weinre讲解了NodeJS中的一些简单命令,也讲解了weinre的安装方法,今天我们把weinre的使用“完结”掉...

2903
来自专栏码神联盟

架构之路 | 浅谈单点登录(SSO)技术实现机制

1何为单点登录? 单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需...

5058
来自专栏Java3y

Maven就是这么简单

什么是Maven Maven是一个采用纯Java编写的开源项目管理工具, Maven采用了一种被称之为Project Object Model (POM)概念来...

3745
来自专栏黑泽君的专栏

day24_Nginx学习笔记

     反向代理方式实际上就是一台负责转发的代理服务器,貌似充当了真正服务器的功能,但实际上并不是,代理服务器只是充当了转发的作用,并且从真正的服务器那里取得...

863
来自专栏Android 开发者

Android P 开发者预览版支持 DNS over TLS

3143
来自专栏嵌入式程序猿

树莓派U盘挂载实例操作

在前面的树莓派学习中,我们讲了很多,今天我们 讲讲U盘挂载,在linux系统的开发中,当需要大容量外接存储设备时候,可使用U盘,移动硬盘等,我们以U盘挂载为例来...

3906
来自专栏BeJavaGod

app与后台交互之间的几种安全认证机制

1、HTTP简单基本认证方式 这个是早期交互用得比较多的一种方式,主要是使用用户名和密码来交互,由于在每次的交互中,用户名和密码都会暴露给第三方,那么这...

2994
来自专栏岑志军的专栏

(6)脱壳

1826
来自专栏Ryan Miao

Git:错误:error:src refspec master does not match any

新建立了一个远程仓库,想着把项目放上去。于是在项目目录上: git init 然后就添加远程库 git remote add origin xxxx.git 然...

3368

扫码关注云+社区

领取腾讯云代金券