Linux服务器安全指南一——介绍篇

66 阅读4分钟

这篇指南会指导您如何操作以增强服务器的安全性。

原文:github.com/imthenachom… 为什么要增强服务器安全性?

在本文中我们假定您已对服务器的安全性有了足够的认识,这是一个很大的主题且超出了本文所要探究的内容范围。如果您还不了解服务器安全重要性的话,建议先做一番深入研究再阅读下文。

从更深层次来说,服务器长期处于公共环境中并可以被外界访问,包括黑客和其他具有不良动机的人。更糟糕的是,他们有可能篡改服务器数据或利用服务器进行DDOS攻击。

更完蛋的是,如果你没有安全性知识或者没有安全性意识,你甚至不知道你的服务器被攻击了。黑客们可能已经不露声色地登录你的服务器,在没有更改任何东西的情况下获取你的服务器数据,而你压根没有觉察到。

与一般认知想法不同,黑客一般不经常操作被侵略的服务器,也不会为了钱来用你的数据勒索你。有时候黑客仅仅想完善自己的数据库或者用你的服务器来完成一个更大的目标,比如发动一次超大规模的DDOS攻击。

指南可能存在问题

1.因为有些知识是穿插各个linux服务器各个领域,指南中的知识可能会重复;2.指南中涵盖的许多内容可能是相当基本的/琐碎的,但是我们大多数人并不是每天安装Linux,而且很容易忘记这些基本的事情;3.像Ansible,Chef,Jenkins,Puppet等的IT自动化工具会帮你去管理服务器安装运维等一系列事情,这样的配置适合运行在服务器集群中。但如果运维单台服务器,用这么一堆工具实在是没有必要,也会浪费很多空间。

与其他指南相比

其他专家,行业大佬或者服务器贡献者也可能会提供一些服务器安全指南。有些指南是不切实际的,有些是违反版权协议的,有些指南试图包含所有内容。在阅读这些指南前您可能需要好好了解下面知识。

  1. The Center for Internet Security (CIS) provides benchmarks that are exhaustive, industry trusted, step-by-step instructions for securing many flavors of Linux. Check their About Us page for details. My recommendation is to go through this guide (the one you're reading here) first and THEN CIS's guide. That way their recommendations will trump anything in this guide.
  2. For distribution specific hardening/security guides, check your distributions documentation.
  3. security.utexas.edu/os-hardenin… - Red Hat Enterprise Linux 7 Hardening Checklist
  4. cloudpro.zone/index.php/2… - # Debian 9.3 server setup guide
  5. blog.vigilcode.com/2011/04/ubu… - Ubuntu Server Initial Security guide
  6. www.tldp.org/LDP/sag/htm…
  7. seifried.org/lasg/
  8. news.ycombinator.com/item?id=191…
  9. wiki.archlinux.org/index.php/S… - many folks have also recommended this one
  10. http://securecompliance.co/linux-server-hardening-checklist/

关于指南

指南尚在完善中,但原作者4年没更新了一直在更新,也是很秦奋了;

指南目标读者是业务服务器维护者,所有章节都应用于专业环境,但是环境中的配置项说明超出本指南讨论范围;

指南不会教你什么是linux,怎么安装使用linux,如果你想学可以参考如下文章:

指南不会教你关于linux安全的一切,也不会告诉你linux安全的所有领域。例如硬件安全就不在指南讨论范围内;

指南不会涉及程序如何正常工作的,也不会涉及到内部原理。指南中所采用的工具是比较强大而且高度可配置化的。指南只牵扯必要的安全知识,涵盖你需要的方方面面,并且能成为你继续前进的垫脚石;

指南提供你足够简单的代码让你复制粘贴,在你复制粘贴前仅需要更改一点东西就足够了;

指南是按照逻辑顺序来的。例如,SSH防御知识放在防火墙知识前。指南中的许多知识可能依赖前面所学过的知识,如果你是初学者,跳过部分章节去阅读后面章节可能会有些吃力。

环境配置

指南中有许多代码用例,我想的是代码尽可能通用,但有些代码去复制粘贴时可能仍需要更改一些内容。 为了读者阅读方便,我在下面公布我使用的所有环境:

1.一台拥有单个NIC(网络接口)普通的台式机; 2.普通家用路由器,例如小米华为路由器; 3.由ISP提供的动态WAN IP; 4.WAN+LAN,IPv4协议; 5.可以连接互联网。

配置文件

为了方便起见,我提供了代码片段来方便读者粘贴;代码片段提供用echocatsedawkgrep命令等,但怎么使用这些命令不在指南讨论范围内;

PS:代码片段在使用前已经被校验过可以正常使用;如果您想更改代码,最好使用linux文本编辑器,而不是手动更改,这样才不容易被改坏。

代码和指南已开源到Github中,所有人都能做出自己一份贡献。