热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

50招教你防止黑客入侵,适用于入门小白到专业人员

2019独角兽企业重金招聘Python工程师标准今天我们要讨论的是保护系统安全的50种方法,我收集了50种适合从专业系统管理员到入门小白都可以掌握的防止系统被入

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

secure your systems

今天我们要讨论的是保护系统安全的50种方法,我收集了50种适合从专业系统管理员到入门小白都可以掌握的防止系统被入侵的方法:

1. 备份你的数据,如果你被勒索软件入侵,如果你有备份的话,你将毫无损失。

2. 如果你需要在公共场所充电的话,用  syncstop 或者带上你自己的充电宝。

3. 学会利用审计子系统(auditing subsystems)。它提供了很多监测你系统的酷炫工具。如果你的系统在某处被攻破了,审计系统将会告诉你发生了什么以及攻击者都做了什么。

4. 谈到日志,传输日志到一台中央服务器绝对是一个好方法,因为一旦黑客侵入你的系统,第一件做的事情就是攻击日志系统去掩盖他的入侵。安装一个好的保护系统持续监测日志也是极好的。

5.  强制模式运行 SELinux (戳 stopdisablingselinux.com)。没想到我要花这么久搞定它?SELinux 能控制零日漏洞的风险。 特别是 Shell Shock 出现后,SELinux 更成了唯一的保护盾。

6.  尽可能在 SELinux 沙箱下运行应用程序,这是一款不止于酷炫的酷炫沙箱。 对了,还有关注 Flatpack 开发组,他们将很快致力于开发提升沙箱性能。

7.  不要安装或者使用 Flash。 火狐已经不再支持它了,希望绝大多数网站服务器也把它移除。

8.  利用受限 SeLinux 访问用户来控制用户能在你的系统做什么。如果你使用多用户登录系统,将其他用户设为访问者(guest_t)。

9. 利用 systemd 工具来保护你的服务。 大多数系统攻击都是通过在网络上侦听的服务来实现。Systemd 提供了很好的方法来锁定服务。 例如,使用 PrivateTmp = yes 。PrivateTmp 利用安装命名空间为服务器的 /tmp设置专用 tmpfs 安装。这可以防止被黑客攻击的服务访问主机的/ tmp中的内容,以及通过侦听 /tmp 的服务攻击系统的其余部分。

10. InaccessibleDirectories =/home 是一个 systemd 单元标志,它使用安装名称空间从服务视图中删除/ home(或任何其他目录),使黑客攻击变得更加困难。

11. ReadOnlyDirectories =/var 是另一个使用 mount 命名空间将目录内容转换为只读模式的 systemd 单位标志。你最好仅在只读模式下运行 /usr。这将防止被黑客攻击的应用程序重写二进制文件,如果文件已被重写,当你下次启动服务时,恭喜你,你已经被入侵了。

12. 从服务中删除功能(CapabilityBoundingSet = CAP_CHOWN CAP_KILL)。在内核中,授权进程被分解为一系列不同的功能。大多数服务不需要很多(如果有的话),并且 systemd 提供了一个简单的开关来从服务中删除它们。

13. 如果你的服务不使用网络,则可以使用 PrivateNetwork = yes 关闭它,在服务单元文件中启用此功能即可利用网络命名空间,并关闭服务可用的所有网络。 通常,黑客实际上不想闯入你的机器 - 他只是想使用它作为攻击服务器来攻击其他机器。 如果服务没有网络,就没办法进行攻击。

14. 控制你的服务可用的设备。Systemd 提供 DeviceAllow 指令,控制服务可用的设备。 DeviceAllow = / dev / null rw将限制对/ dev / null的访问,并且只限于此设备节点,不允许访问任何其他设备节点。 该功能在设备的cgroup控制器之上实现。

15. 即将推出合适你的 systemd 系统的一个新功能—— ProtectSystem Strict,可以打开所有这些命名空间,以完全锁定服务运行的环境。

16. 不要在强制模式下使用没有 SELinux(SEAndroid)的手机。幸好,我听说现在 90%以上的 Android 手机都在强制模式下运行了 SEAndroid。现在,我们只要让那些用苹果的家伙使用 SELinux 就可以了。

17. 仅安装来自可信来源的软件。不要安装在互联网上发现的诡异的东西。这适用于您的手机、计算机系统、虚拟机、容器等。

18. 我不在我的手机上使用网上银行 - 只在我的 Linux 计算机上使用。如果黑客窃取了我的信用卡,我会损失50块钱;如果他进入我的银行帐户,我会失去更多。 我想我老了。 (滚开)

19. 我用我的手机做的一件很酷的事情是设置我的信用卡,每当信用卡扣费时给我发送短信。这样,如果卡里的钱被盗,我可以更快地知道。

20. 当你需要安全通信时,请使用信号安全消息 App。

21. 在你的系统上运行 Linux。当我第一次连接到我父亲的计算机系统时,我很少回家,他的系统被感染病毒后我回去在他的系统上安装了 Linux,现在还一直在运行它。我相信 Linux 的设计方式让它成为一个更安全的系统,我也相信它很少被黑是因为用户群体小。有些人会认为,这些年Windows 已经有了很大的改善,但我仍然坚持我所知道的。

22. 只有安全响应小组才能监视分发的安全性。企业软件很重要。

23. 运行企业级内核。在容器中,单点故障是内核。 如果要保持安全,请使用企业级内核,它有最新的安全修复程序,不会出现问题。提醒一下,虽然最新的内核带有最新的安全修复程序,但它也带来了很多新代码可能出现的漏洞。

24. 大多数黑客都是都是利用社交进行攻击,例如,电子邮件链接,网络浏览器攻击和电话。防止这类攻击的方法只能是接受教育和持有怀疑的态度。没有人从尼日利亚给你钱; IRS 不会打你的家庭电话要钱;如果你收到来自银行的电子邮件指向某个网站的链接,请不要使用该链接,直接在 Web 浏览器上键入地址。

25. 让你的系统始终保持最新的安全修复程序。现在还有数不清的过时且具有已知安全漏洞的系统。脚本小子(script kiddie)往往就是利用这一点来进行攻击。

26. 连接到网络上的服务时始终使用HTTPS。Chrome 和 Firefox 现在有强制执行此操作的模式。 如果一个网站还不支持安全通信,那么它可能不值得你访问。

27. 在容器中使用 seccomp 。这限制了内核的表层攻击,是单点故障。限制进程可以讨论的内容。

28. 使用 YubiKey 存储私钥。

29. 加密您系统上的数据。至少笔记本电脑要保证你的 homedir 和其他数据目录是加密的。几年前,我在伦敦乘坐地铁,我的笔记本电脑被盗了,火车车门关闭后我才发现的时候,笔记本电脑已经出了车站。幸运的是,磁盘加密了。

30. 让您的所有网站用上 Let's Encrypt 。没有理由不再运行HTTPS了。

31. 不要在不同的 Web 服务器上使用相同的密码。这很容易入坑,不过像 Let's Encrypt 这样的帮助工具很多,如果使用 SSH 密钥登录系统就更好了。

32. 使用双因子验证(2FA)。你几乎可以不用密码了。使用 YubiKeys 等能让 2FA 变得容易。所有人都有手机,让一个秘密藏在脑袋里,一个生成在手机上,可比密码好多了。

33. 没有什么比网站总是要求我创建一个帐户更让人恶心了,我们怎么改变?始终为你的网站密码使用密码生成工具。我是守旧派:我使 Password Safe,剪切并粘贴到网络浏览器。我听说有人幸运地用上了  LastPass 和其他工具集成手机和 Web 服务。

34. 设置类似  FreeIPA 的这样的服务以用于身份认证。使用诸如 Kerberos 之类的工具进行身份验证和授权,使访问系统变得更加容易(并且有很酷的加密服务)。也可以使用 Active Directory ,但我对它有点偏见。

35. 当你需要一串经常使用的密码时,不要用某个单词,使用一串简单易记的语句吧。我的建议是使用一些几个单词组成,简单易写的短语。

36. 使用 USBGuard 来保护你的系统免遭恶意 USB 设备的入侵。

37. 在过去的几年,我已经开始研究容器了。现在,让我们来看看容器相关的安全保护。首先,在强制模式运行 SELinux 下启动容器。如果你的系统不支持 SELinux,将系统换成一个支持的发布版本。SELinux 是保护你的容器不被利用文件系统的方法破坏的最佳工具了。

38. 尽可能的在容器中启动你的服务。我相信这是使用OCI图片格式与Linux容器技术的未来应用。运行容器可以使用Docker, runC,OCID,RKT,Systemd-nspawn 等。虽然我经常说“containers do not contain”(纸包不住火),但是服务在容器中运行确实可以更好的包住火。

39. 在虚拟机中启动你的容器。 虚拟机相比于容器是一个隔离风险的更佳办法。而在虚拟机中运行容器则将风险万无一失的隔离开来。

40. 在不同的虚拟机上运行不同安全需求的容器化应用。在虚拟机DMZ上启动你的网络服务容器,同时在不同于DMZ的其他虚拟机上启动数据库容器。

41. 另请切记,在另外的硬件设备上运行安全要求最高的虚拟机,并且在不同的虚拟机上运行而不是容器。

42. 只读模式启动你的容器。开发阶段容器需要被写在/usr 上,不过发布产品时,容器需要被设置成只能写在 tmps,并且将各个文件册挂载在容器上。

43. 从容器上降低权限。我们通常给了我们的进程太多本不需要的权限。你可以通过降低进程权限来提高安全性能。

44.不要以root权限启动你的进程。绝大多数进程永远不需要root特权&#xff0c;或者他们仅仅需要绑定一个<1024 的端口&#xff0c;然后退出root。我强烈建议保持应用以非root权限运行。

45. 保持你的容器更新了最新的CVE。使用一个类似 OpenShift 创建并维护你的容器镜像是一个不错的点子&#xff0c;因为每当安全布丁出现时&#xff0c;它可以自动重建容器镜像。

46. 我的一个小伙伴说过&#xff0c;“Docker 的一切就是从网络上以root 身份在你的host上运行随机的代码”。 请从可靠的源头获取软件。不要随便抓一个你在docker.io上找到的测试应用就安装。还记得操作系统的那些麻烦吗&#xff1f;

47. 以受限的容器化优化压缩host来在启动你正式环境容器&#xff0c;例如 Atomic Host&#xff0c;把所有安全防护都打开&#xff0c;优化后启动容器&#xff0c;可以使攻击被限制并保证Atomic 更新。

48. 利用类似 OpenScap 来扫描系统以发现潜在风险。不幸的是&#xff0c;风险层出不穷&#xff0c;正因为此&#xff0c;保持你的扫描器跟上潮流。&#xff08;也一并看看为容器设计的atomic 扫描&#xff09;

49. OpenScap 还有扫描安全设置的功能&#xff0c;例如STIGs&#xff08;安全技术实现指引&#xff09;。

50. 为你孩子收到的圣诞礼物设备们配置一个访客网络。我爱这些Amazon Echo&#xff0c;智能灯和电源开关。&#xff08;Alexa&#xff0c;关掉圣诞灯&#xff09;。不过&#xff0c;这些东西都基于Linxu系统并且在安全方面堪忧。

“肯定有不止 50 种防止黑客的方法”

你想要为这份清单加些什么吗&#xff1f;欢迎在评论里留言&#xff0c;以供大家学习和交流。

编译自&#xff1a;https://opensource.com

译者&#xff1a;OSC-两味真火


转载于:https://my.oschina.net/editorial-story/blog/826049


推荐阅读
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • mac php错误日志配置方法及错误级别修改
    本文介绍了在mac环境下配置php错误日志的方法,包括修改php.ini文件和httpd.conf文件的操作步骤。同时还介绍了如何修改错误级别,以及相应的错误级别参考链接。 ... [详细]
  • 本文介绍了使用SSH免密登录的步骤,包括生成公私钥、传递公钥给被登录机、修改文件权限的操作。同时提醒用户注意私钥的传递方式,建议使用U盘等离线方式传递。 ... [详细]
  • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
  • 本文介绍了三种方法来实现在Win7系统中显示桌面的快捷方式,包括使用任务栏快速启动栏、运行命令和自己创建快捷方式的方法。具体操作步骤详细说明,并提供了保存图标的路径,方便以后使用。 ... [详细]
  • 在CentOS/RHEL 7/6,Fedora 27/26/25上安装JAVA 9的步骤和方法
    本文介绍了在CentOS/RHEL 7/6,Fedora 27/26/25上安装JAVA 9的详细步骤和方法。首先需要下载最新的Java SE Development Kit 9发行版,然后按照给出的Shell命令行方式进行安装。详细的步骤和方法请参考正文内容。 ... [详细]
  • 分享2款网站程序源码/主题等后门检测工具
    本文介绍了2款用于检测网站程序源码和主题中是否存在后门的工具,分别是WebShellkiller和D盾_Web查杀。WebShellkiller是一款支持webshell和暗链扫描的工具,采用多重检测引擎和智能检测模型,能够更精准地检测出已知和未知的后门文件。D盾_Web查杀则使用自行研发的代码分析引擎,能够分析更为隐藏的WebShell后门行为。 ... [详细]
  • Linux批量复制并重命名和批量复制文件到多个文件夹的方法
    本文介绍了在Linux系统下批量复制并重命名文件以及批量复制文件到多个文件夹的方法。通过使用模式匹配功能,可以方便地实现文件的批量操作。同时,还提供了有关shell语法中的()和{}的参考资料。 ... [详细]
  • 本文介绍了Linux Shell中括号和整数扩展的使用方法,包括命令组、命令替换、初始化数组以及算术表达式和逻辑判断的相关内容。括号中的命令将会在新开的子shell中顺序执行,括号中的变量不能被脚本余下的部分使用。命令替换可以用于将命令的标准输出作为另一个命令的输入。括号中的运算符和表达式符合C语言运算规则,可以用在整数扩展中进行算术计算和逻辑判断。 ... [详细]
  • 本文总结了Linux下多线程执行shell脚本的4种方法,包括切换到工作目录执行、使用绝对路径执行、直接使用bash或sh执行。同时介绍了为什么需要加上"./"来执行脚本的原因。 ... [详细]
  • 本文详细介绍了在Centos7上部署安装zabbix5.0的步骤和注意事项,包括准备工作、获取所需的yum源、关闭防火墙和SELINUX等。提供了一步一步的操作指南,帮助读者顺利完成安装过程。 ... [详细]
author-avatar
三星anycall
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有