Anduin2017 / AnduinOS

AnduinOS is a custom Debian-based Linux distribution that aims to facilitate users transitioning from Windows to Ubuntu by maintaining familiar operational habits and workflows. AnduinOS is built on the Ubuntu Jammy package base.
https://www.anduinos.com
GNU General Public License v3.0
44 stars 0 forks source link

安全软件或相应知识迭代的疑惑 #20

Closed rdfsource closed 1 month ago

rdfsource commented 1 month ago

您好:系统安全和网络基础相关的,描述: 有一些体系内的现象,譬如节假日会将业务系统服务器关机,以保障数据安全等. 虽然该描述不可思议,可能也伴随着部分特定的一些现象.

也有一些情况,当面临网络安全的攻防测试时(ofsource,规模不一定正规), windows体系下的平台,会采取安装火绒,360杀毒,等操作,并采购一些基于硬件或者第三方的杀毒软件或者防火墙. 而对于Linux操作系统,在特定的假设体系中,对于常年接触windows系统的人员/维护人员而言,可能是个全新的系统,因此,当这些系统面临一些攻防测试时,通常接到的指令是,在特定期间将设备直接关机....这一描述可能过于夸张,不过基于此,笔者对Linux体系下,系统安全的实现较感兴趣,. 而对于系统本身的普及,客观上存在大量人员需要迭代和适应, 对他们而言,常规情况下 360全盘杀毒,或者火绒全盘扫描等行为, 实现了他们在业务流程中,对于系统安全需要做到的事情, 并且 '开启/安装安全软件' 这一行为(可以加上安装系统补丁,譬如对windows server 2008,2012 安装上所有推荐的补丁),似乎在他们的认知中,就是将系统安全做到位了 ,

在linux系统中, 这些行为,似乎他们依赖的'第三方安全软件' 这一抽象概念直接缺位了, 因此 面对 '将安装了linux的系统在指定时间段'直接关机' 等指令时, 有些啼笑皆非的感觉,也感受到自身技术储备不足的无力感.

此间'系统' ,一般指代操作系统本身,和开放了端口暴露到互联网的特化应用系统二者.对于后者,一般通过更新依赖项,和信息加密,数据项检查等方向实现安全, 但是对于通过暴露的端口实现的文件上传/下载功能, 通常依赖着第三方软件提供的 启发扫描,或者近似描述的相关功能. 它在客观上提升了部分安全性,(可能主观上不一定妥当). 这些第三方软件,可能是付费购买的授权软件,也可能是类似'windows defender'等.

Anduin2017 commented 1 month ago

RDF,

非常感谢您的关注,但我要直言不讳地指出,将Windows上的安全观念直接搬到Linux上来是极其不妥的。Linux并不是一个依赖“360全盘杀毒”或“火绒扫描”来确保安全的系统,它从设计上就赋予了用户完全的掌控权。要真正保护Linux系统,深入了解操作系统的架构和安全机制是必不可少的,而不是单纯依赖所谓的“第三方安全软件”。

在Linux中,我们有比那些装了一堆冗余杀毒软件更有效的安全工具和策略。以下几点可能对您有所帮助:

  1. 安全控制在操作系统内置功能上:Linux本身就具备丰富的安全机制,比如SELinux、AppArmor,它们远比任何第三方软件更适合保护系统。强制访问控制、进程隔离等手段可以有效限制恶意行为的扩散,而无需依赖外部安全软件。

  2. 关机不是安全手段:节假日“关机”的做法不仅懒惰,还会导致潜在的数据丢失和服务中断。建议您考虑通过强化日志监控、更新补丁和使用自动化工具(如Fail2Ban、CrowdSec)来保障系统的持续安全,而不是采取这种“关闭电源”的方式。

  3. 端口和应用安全的现代做法:Linux用户可以通过防火墙(如iptables或UFW)来精细控制端口访问,并使用SSL证书加密来提升Web应用的安全性。这些措施比任何第三方防病毒软件都更为有效和直接。

  4. 开放源代码意味着透明和自主:Linux不同于Windows,它不会隐藏你的权限或强制你依赖某些工具。你有完全的自主权来监控、更新和管理系统——前提是你真正了解如何操作。

我必须强调,Linux的安全性来自于对系统本身的了解和掌控,而不是简单地依赖于“装了什么杀毒软件”或“关了服务器”。希望您能够在这一点上深入思考,摆脱不必要的安全软件依赖,并开始认真了解Linux的独特安全机制。

使用Linux系统与Windows有着本质上的区别。要确保Linux系统的安全,需要对操作系统有一定的了解,而不仅仅是安装第三方安全软件。Linux给了用户完全的控制权,掌握系统安全的关键在于了解其内在的机制和工具。

以下是一些关键的安全知识和工具,建议您在使用Linux时优先熟悉:

  1. Secure Boot (Shim): Secure Boot 是一种旨在防止未授权的操作系统或恶意代码在启动过程中加载的机制。对于Linux来说,Shim 是一种使Linux能够在启用了Secure Boot的机器上启动的工具。确保启用了Secure Boot可以有效防止rootkits等低级别的恶意软件侵入系统。

  2. 防火墙:iptables和UFW: 在Linux中,iptables 是强大的网络包过滤工具,它允许你对进出系统的数据包进行精确的控制。虽然iptables功能强大,但对初学者可能比较复杂。UFW(Uncomplicated Firewall) 是iptables的前端,提供了简化的命令行界面,方便用户轻松地配置防火墙规则。例如,你可以用简单的命令打开常用端口:

    sudo ufw allow 80/tcp
    sudo ufw allow 443/tcp

    配置好这些工具,可以防止未经授权的访问。

  3. Nginx + Certbot:自动化证书管理: 对于暴露在互联网的服务器,HTTPS加密 是基本的安全要求。通过Nginx和Certbot,你可以非常轻松地自动化SSL/TLS证书的获取和续期。Certbot是Let’s Encrypt的官方客户端,可以帮助你自动化这一过程,确保服务器与客户端之间的通信是加密的。使用以下命令可以自动配置Nginx和安装证书:

    sudo certbot --nginx
  4. 网络监控和审计工具: 熟悉几种关键的网络监控工具对于排查安全隐患至关重要:

    • nethogs:可以实时查看哪些进程正在消耗带宽,帮助你发现潜在的恶意行为。
    • tcpdump:这是一个强大的抓包工具,可以捕获并分析网络流量,帮助你了解流量来源。
    • iftop:它可以让你实时查看网络接口上的流量信息,帮助排查异常流量。
    • psiotop:这两个工具分别用于查看进程列表和硬盘I/O活动,可以帮助你发现异常进程和不正常的磁盘读写行为。
  5. 保持系统更新:apt包管理器定期更新系统是最基础的安全措施之一。使用Linux的APT包管理器,可以轻松保持系统和应用的更新。通过执行以下命令,确保你始终使用最新的安全补丁:

    sudo apt update && sudo apt upgrade

    同时,还可以启用自动更新来减少手动操作的风险。

  6. 日志和系统状态监控: 使用dstatiotop 这些工具可以帮助你查看系统资源使用情况,了解内存、CPU和I/O的瓶颈。此外,Linux的系统日志(如 /var/log 中的文件)是审查系统状态、排查安全问题的重要资源。

要保障Linux系统的安全,不是依赖“安装杀毒软件”这种简单的解决方案,而是通过对系统的深入理解和对工具的合理使用来实现。上面提到的这些工具和技术只是基础,建议您深入学习并掌握这些基本的系统管理工具。只有真正理解了系统的运行机制,才能确保其安全。

希望这些信息能帮助您理解Linux的安全逻辑,并在使用中获得更强的掌控感。

Anduin2017 commented 1 month ago

另外,如果你坚持购买第三方安全解决方案,市场上也不是没有,例如:

https://www.eset.com/us/home/antivirus-linux/

rdfsource commented 1 month ago

对于一个网络应用系统,客户上传的指定格式文件(如 *.jpg)是个伪造的文件,其中包含着木马病毒等情况,系统将这个文件接收,并存储到资料分区后, 可能产生风险(⑴对存储目录本身的风险,自动执行等. ⑵对其他客户的风险,其他授权客户如果下载/重新观察这个问题,可能对他们自身的操作系统产生风险), win的概念中, 杀毒软件监测到本地的新增文件, 自动进行扫描, 若果被杀毒软件认定为有风险,自动移动到 '隔离位置', 这一系统行为在linux中,似乎还是有点儿对第三方安全工具的依赖,

或者,开放端口被不断访问 ,或收到部分具有特征的频繁请求时, 卡巴斯基 /火绒其中的安全机制, 会自动拦截部分 被他们认为有风险的请求. 这些设备本身可能分布较广,一定程度上,依赖有自动风险处理机制的工具.

笔者正在尝试增加对SELinux、AppArmor等机制的了解. 曾经在学徒阶段,有限的几次操作Linux系统中,按照操作手册,被要求关闭SELinux,配置root密码,开放443,80端口, 然后将设备交付给第三方执行运维的部门(给一台空的DELL服务器装一个系统),在模糊的记忆中,当时被要求关闭SELinux,存在着特定操作环境中需要'听话'的原因, 也听到对方表达过'不好用',当时并未深究. 在目前尝试理解 SELinux的过程中, 感受到 可能对方考虑着运维人员的操作水平等实际问题, 按照给定手册 或者多方部署各类系统时,碰到困境,或手册.系统本身陈旧等因素, 并未拥抱新的机制.

在其它方面,windows带来的GUI机制,似乎深入人心. 这也造成(不确定)了 在我和常年使用windows的工程师交流时,出现了较大的困扰. 对方告诉我,在他们20年前弄医院小型机his系统时,都已经有着图形化界面了, 似乎他们对于操作命令行行为本身,表达着极大的反感. 认为没有图形界面的话,难以长久. 对待这一表达,我有些理解,也有些困惑. 我理解这图形界面只是在拼接着命令行,并最终执行这一本质. 我也理解着 常年使用 GUI的人员,对于去学习,对他们而言,完全摸不着头脑的命令行时候的反感. 可能对他们来说 观看文档可能比不上喊一个工程师去给他们口述或者操作,给出的理由是(喊一个会的人直接问,更快) ...em 虽然在基于薪资的工作体系中,口述行为本身并无不可...... 此间困境,在于笔者处于调和位置时, 会有些无力感.这一应对行为不在系统开发者本身的应对范畴,仅为笔者接触到的难以调和之处

dvorakchen commented 1 month ago

你的描述跟 AnduinOS 的关联性并不是非常大,请不要在 Issue 里做这些描述

rdfsource commented 1 month ago

你的描述跟 AnduinOS 的关联性并不是非常大,请不要在 Issue 里做这些描述

问题源于从Windows方案,向Linux方案迁移形成过程中的探索; 以及可能出现的,需要向客户进行说明的思考; 我无法将 形如'这和OS关联性不大'作为向客户进行正式回复的参考,或者在客户进行相关资寻时,直接向客户传达. 这其中的调和方案,我还没有足够的经验,而我如果直接将您的回复传达给客户, 可能会影响到潜在客户的培养和维护.

rdfsource commented 1 month ago

目前仍使用着Windows设备,或将其server版本,作为服务器基本设施的客户, 是个较为可观的用户数量;在引导这些客户平移切换到Linux方案的过程中,需要照顾和考量其惯性思维下, 操作行为和应用行为的延续性.笔者尝试横向对比不同方案下,各国产化操作系统与Windows迁移后的用户操作行为惯性比较, 部分切入点,可能在Linux体系下的用户看来,与系统本身关联性不大; 可是这些部分,对于经由Windows切换过来的用户,事实上会有一些落差. 而集采或者其它方案中,一旦本系统纳入评价范围,部分考量可能作为优势点(仅便于切换过程中的适应性), 当然,这一延展描述的'适应性' 可能仅适用于,部分 非科班出身的年长人员. 与这部分人员的交流,可能为推广形成潜在优势. 笔者在增强自身对Linux操作系统熟练度了解的过程中,也在模拟和构思,亦借由部分相关会议,逐步博采众长,以及获取客户方对于,已经部署的相关Linux方案不足/不适应之处的评价,以求在潜在环节,逐步形成优势.

Anduin2017 commented 1 month ago

你提到的这些问题,并不在操作系统本身的职责范围内。操作系统的设计和开发,特别是像AnduinOS这样的发行版,旨在为用户提供稳定、高效、可定制的计算环境,并优先考虑开放性和自由软件。你的需求涉及到一些特定的闭源软件,例如集成化安全软件等,这些工具本身并非开放平台的原生优先选择。

Linux社区一直以来都是倡导开源解决方案的,而闭源软件的限制和兼容性问题,本质上是这些软件提供商有意不支持开放平台,而非操作系统的缺陷。你所期待的体验是闭源软件开发商的责任,而不是Linux发行版维护者的责任。微软Office或爱奇艺等软件的不支持Linux或其带来的问题,源于这些企业对Linux用户的忽视,操作系统开发者无法改变这一现状。

如果你在政企工作中需要高度依赖这些闭源软件,那么问题的根源在于政企工作流程本身的僵化和对闭源系统的过度依赖。这种闭源软件的锁定策略不仅不利于用户的自由选择,也阻碍了开放创新。要解决这个问题,你可能需要研究为什么这些流程如此依赖于特定的闭源工具,并反思如何推动更开放的解决方案,而不是将这些软件问题归咎于操作系统的开发者。

总之,如果你的工作场景强制要求使用闭源安全软件,并因此对无这些安全软件的系统产生了“不信任”,这是那些软件开发商的商业策略使然,而不是Linux系统或其维护者的问题。