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. IOS第一天多线程-02NSThread基本使用

    **** #import "HMViewController.h" @interface HMViewController () @end @implementation HMVi ...

  2. IOS第16天(3,Quartz2D饼图)

    **** #import "HMPieView.h" #import "UIColor+Random.h" @implementation HMPieView ...

  3. Print all nodes at distance k from a given node

    Given a binary tree, a target node in the binary tree, and an integer value k, print all the nodes t ...

  4. Java 操作符

    子系统的特点 instanceof 操作符 Animal类是Dog的直接父类,Creature类和Object类是Dog的间接父类,因此 Dog dog=new Dog(); System.out.p ...

  5. NSMutableAttributedString可变属性字符串的用法

    适用于:当你想对一个字符串中的某几个字符更改颜色,字体... NSString *string = @"今日营养配餐提供热量1800千卡,需要饮食之外额外补充钙10mg,铁20mg,锌9.5 ...

  6. What’s the difference between data mining and data warehousing?

    Data mining is the process of finding patterns in a given data set. These patterns can often provide ...

  7. 优化SQL Sever查询语句的几个要点

    1.不要在Where子句中的“=”左边进行函数.算术运算或其他表达式运算,否则系统将可能无法正确使用索引. 2.尽量不要在Where条件中使用函数,否则将不能利用索引. 3.在Where条件中使用明确 ...

  8. java多态性

    多态分两种: (1)   编译时多态(设计时多态):方法重载. (2)   运行时多态:JAVA运行时系统根据调用该方法的实例的类型来决定选择调用哪个方法则被称为运行时多态.(我们平时说得多的事运行时 ...

  9. android 文字图片合成

    引用:http://blog.csdn.net/cq361106306/article/details/8142526 两种方法: 1.直接在图片上写文字 String str = "PIC ...

  10. [python]用Python进行SQLite数据库操作

    用Python进行SQLite数据库操作 1.导入Python SQLITE数据库模块 Python2.5之后,内置了SQLite3,成为了内置模块,这给我们省了安装的功夫,只需导入即可~  ]: u ...