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。
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 来检查系统上安装的软件包,同时删除不必要的包。
 
 # yum list installed
# yum list packageName
# yum remove packageName 或者 # dpkg --list
# dpkg --info packageName
# apt-get remove packageName
#3、每个系统或实例上只运行一种服务。
 
将不同的服务运行在单独的服务器或虚拟化实例中。例如:如果黑客攻破Apache进入到系统中,他就可以访问部署在这台服务器上的Mysql、E-Mail等其他服务,尽量不要这么做。
 
#4、保持Linux内核和软件的更新。
 
维护系统的一项重要工作就是及时的安装系统补丁。Linux提供了很多必要的工具和方法来保证系统的更新,所有安全方面的更新都应该尽快执行,与第2条一样,我们可以使用 yum、apt-get等工具来进行安全更新。
 
 # yum update

 或者

 # 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说明配置文档
 

参考资料:

20个Linux服务器安全强化建议(一)的更多相关文章

  1. 20个Linux服务器安全强化建议(二)

    接上文,继续介绍一些Linux服务器的安全配置. #6.强密码策略.   当我们使用 useradd.usermod 命令创建或维护用户账号时,确保始终应用强密码策略.例如,一个好的密码至少包括8个字 ...

  2. 20个Linux服务器安全强化建议(三)

    #11.配置iptables和TCPWrappers.   iptables 是一个Linux内核提供的,运行在用户空间的程序,它允许用户配置自己的防火墙策略.我们可以使用防火墙将不必要的流量过滤出去 ...

  3. 20个Linux服务器性能调优技巧

    Linux是一种开源操作系统,它支持各种硬件平台,Linux服务器全球知名,它和Windows之间最主要的差异在于,Linux服务器默认情况下一般不提供GUI(图形用户界面),而是命令行界面,它的主要 ...

  4. Linux命令(20)linux服务器之间复制文件和目录

    linux的scp命令: scp就是secure copy的简写,用于在linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器. 有时我们需要获得远程服务器上 ...

  5. [转帖]加强Linux服务器安全的20项建议

    加强Linux服务器安全的20项建议 2017-10-19 22:15:01作者:Linux编辑稿源:系统极客 https://ywnz.com/linuxyffq/99.html 一般情况下用 Li ...

  6. [转]20个你不得不知的Linux服务器性能调优技巧

    Linux是一种开源操作系统,它支持各种硬件平台,Linux服务器全球知名,它和Windows之间最主要的差异在于,Linux服务器默认情况下一般不提供GUI(图形用户界面),而是命令行界面,它的主要 ...

  7. Linux强化论:15步打造一个安全的Linux服务器

    Linux强化论:15步打造一个安全的Linux服务器 Alpha_h4ck2016-11-30共28761人围观 ,发现 8 个不明物体专题系统安全 可能大多数人都觉得Linux是安全的吧?但我要告 ...

  8. 强化Linux 服务器的7个步骤

    这篇入门文章将向你介绍基本的 Linux 服务器安全知识.虽然主要针对 Debian/Ubuntu,但是你可以将此处介绍的所有内容应用于其他 Linux 发行版.我也鼓励你研究这份材料,并在适用的情况 ...

  9. Linux 服务器管理建议

    Linux 服务器管理建议 一.学习Linux 的注意事项 Linux 严格区分大小写 Linux 一切皆文件 Linux 不靠扩展名区分文件类型 靠权限位标识来确定的 特殊文件要求写扩展名(给管理员 ...

随机推荐

  1. cms修改后台目录

    if (!_dirName.Equals("manage")) { if (PageType.IndexOf(_dirName) != -1) { PageType = PageT ...

  2. JDK API从下载到使用

    经常有人问我一些java常用类的使用方法,还有一些问某个常用类是干啥的.这些问题都是不会查询jdk api,对常用类的方法不熟悉等情况.于是,经过再三思考决定编写jdk api查询使用手册. ☆准备工 ...

  3. css3:flexbox

    旧弹性盒子 过渡弹性盒子 新弹性盒子 功能类似,次加了几个属性 新弹性盒子 参考1w3-En 参考2w3-Cn 参考3IBM 参考4doyoe 参考5caibaojian /*6个盒子属性.窍门:fl ...

  4. VS2015——命令行下编译、静态库动态库制作以及断点调试

    c程序编译流程 程序的基本流程如图: 1. 预处理 预处理相当于根据预处理指令组装新的C/C++程序.经过预处理,会产生一个没有宏定义,没有条件编译指令,没有特殊符号的输出文件,这个文件的含义同原本的 ...

  5. 启动Hive报错

    Exception in thread "main" java.lang.RuntimeException: Hive metastore database is not init ...

  6. 反向代理在Web渗透测试中的运用

    在一次Web渗透测试中,目标是M国的一个Win+Apache+PHP+MYSQL的网站,独立服务器,对外仅开80端口,网站前端的业务系统比较简单,经过几天的测试也没有找到漏洞,甚至连XSS都没有发现, ...

  7. entity.Student@150f3932, entity.Student@1a740c6b 没有实体中的数据

    public class AppServerAction extends BaseAction {    /**     *      */ /**      * 初始化 “我的产品”列表 JSP页面 ...

  8. 带AI的俄罗斯方块源码

    好久没写俄罗斯方块的游戏了.从学习编程到现在,相继用Win32 API.MFC.C.C#.JS.iOS写过大约二十款左右的俄罗斯方块游戏.最近用Cocos2d-x写了一下,第一次完全将游戏逻辑与UI层 ...

  9. Beginning Android 4 中 Demo Basic/Switch 的问题.

    作者的版本: layout (main.xml): <?xml version="1.0" encoding="utf-8"?> <Linea ...

  10. MyBatis 注解使用动态SQL

    使用MyBatis很长时间了,一直使用的是XML配置的 SQL,刚好在上一个项目中尝试使用注解方式开发,主要是由于XML配置过于繁琐,注解可以直接写在Mapper函数上,更加的方便一些. 在注解上不能 ...