V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Recommended Services
Amazon Web Services
LeanCloud
New Relic
ClearDB
zjia
V2EX  ›  云计算

是否保证了网络端口的安全,理论上就可以阻止一切外部入侵或是病毒感染?

  •  
  •   zjia · 2018-10-31 17:06:27 +08:00 · 3714 次点击
    这是一个创建于 2219 天前的主题,其中的信息可能已经有所发展或是发生改变。

    对系统和网络的了解有限,我一直有一个疑问,说出来希望各位大佬不要见笑。

    任何病毒的传播以及网络入侵,都不能跳出网络协议的范畴对吧?就算是利用系统漏洞,前提也必须是被攻击者的端口是开放的对吧?

    那么在初始系统(无论 win 系列还是 linux 系列)纯净的前提下,是否保证了网络端口的安全,理论上是不是就可以阻止一切外部入侵或是病毒感染?

    比如说一个网站服务器,仅开放 HTTP、HTTPS、SSH 等协议的端口、以及数据库连接端口,然后屏蔽一切其他无关端口,同时每一个基于该协议的应用都使用强密码,包括系统管理密码在内的所有密码每 3 个月更换 1 次,并且任何管理类的操作仅允许指定 IP 地址连接。

    这样是不是就能保障单个服务器的绝对安全了?

    望各位大佬指教!

    32 条回复    2018-11-01 11:47:06 +08:00
    yzkcy
        1
    yzkcy  
       2018-10-31 17:15:32 +08:00
    安全没有绝对。理论上也没有。
    你没法保证你开的这些服务是绝对安全的,你没法保证你用的服务器系统是绝对安全的,你没法保证你的系统管理员是绝对安全的......某一个环节出错可能整个体系就崩了。
    Keyes
        2
    Keyes  
       2018-10-31 17:22:20 +08:00   ❤️ 1
    理论上,如果服务器代码是 100%安全的,限制 IP 登录,安全性还是有保障的,可惜没有代码 100%安全

    因为:
    1、你开放的服务端口,可能会有 buffer overflow 或其他应用层的漏洞可以被利用
    2、你的服务器可以被物理泼水 DOS,可以被物理拔盘拷数据
    3、密码再强也有可能被碰撞或被 key logger 或被写在日记上或被 MITM 呢
    4、不用密码用公钥?好吧这就要继续聊聊客户端安全了
    5、限制 IP,万一内网其他人主机被上马当成跳板做横向渗透了呢

    绝对安全,是你把数据锁在保险库里,找人看着,这都不算绝对安全,万一监守自盗呢,万一保险库被干了呢,万一核弹了呢

    参考一下信息安全三要素( C.I.A.),做一个取舍就好了

    公众访问只开放业务端口比如 80、443
    运维端口只开放给运维的固定 IP
    密码做失败策略

    我曾经道听途说某浪的 SSH 服务器 IP 白名单是被硬编码直接编译到 exec 里面的

    纯抬个杠 233
    geying
        3
    geying  
       2018-10-31 17:27:19 +08:00
    人也是突破口
    xi2008wang
        4
    xi2008wang  
       2018-10-31 17:36:07 +08:00
    注意把 USB 端口堵住
    likuku
        5
    likuku  
       2018-10-31 17:39:18 +08:00
    绝对的安全... 不存在的。假若有,那就是把这台服务器烧成灰之后。

    3# 直击要害,整个体系里,最薄弱的环节历来都是人。
    susecjh
        6
    susecjh  
       2018-10-31 17:40:08 +08:00
    @xi2008wang 真的有
    x86
        7
    x86  
       2018-10-31 17:41:39 +08:00
    社工
    likuku
        8
    likuku  
       2018-10-31 17:42:12 +08:00
    美剧 [黑客军团 ( Mr.Robot)] 先看一遍吧,信息安全圈子里对这部剧的专业和严谨度是非常认同称赞的。
    BOYPT
        9
    BOYPT  
       2018-10-31 17:44:06 +08:00
    理论上保证服务器不插电才能保障不被入侵
    tan90
        10
    tan90  
       2018-10-31 17:45:26 +08:00
    我认为做这些,实际上都是在降低中奖的机率,只能是无限接近'绝对安全'。
    gamexg
        11
    gamexg  
       2018-10-31 18:24:38 +08:00
    sql 注入了解下
    des
        12
    des  
       2018-10-31 18:31:54 +08:00 via Android
    水坑攻击了解一下?
    likuku
        13
    likuku  
       2018-10-31 18:37:10 +08:00
    @BOYPT 不插电?还可以派线人 /特工,直接去机房偷硬盘 /整机。
    ackfin01
        14
    ackfin01  
       2018-10-31 18:40:09 +08:00
    楼上的胸得们 真是笑死人
    crab
        15
    crab  
       2018-10-31 19:02:19 +08:00
    没法保证 0day 的存在。
    KingEngine
        16
    KingEngine  
       2018-10-31 19:06:44 +08:00
    要是你的数据没有价值可言,放心,没人黑泥的
    akira
        17
    akira  
       2018-10-31 19:06:55 +08:00   ❤️ 1
    HTTP、HTTPS、SSH 等协议的端口、以及数据库连接端口
    //这几个端口谁告诉你是绝对安全的,只要用户能数据输入,就有潜在的安全隐患的
    KingEngine
        18
    KingEngine  
       2018-10-31 19:07:52 +08:00
    理论上只要连了网就可能被攻击,无论你端口怎么的,毕竟还有很多不知道的漏洞
    t6attack
        19
    t6attack  
       2018-10-31 19:15:03 +08:00
    那些开放的端口,可能存在未知的远程缓冲区溢出漏洞。
    提供 http/https 的 web 服务,可能存在漏洞。
    web 服务上运行的 web 程序,可能存在漏洞。
    如果机房网络环境不好,可能存在 arp 问题。

    以前 nginx 有过一个严重的文件类型解析漏洞。几乎都被人玩坏了,才公开,并出补丁。
    251243021
        20
    251243021  
       2018-10-31 19:17:43 +08:00
    听说过机器转动的声音都能泄密的吗.瑞典有人做到了
    littlewing
        21
    littlewing  
       2018-10-31 19:27:43 +08:00
    网线拔了都不能保证 100%安全
    opengps
        22
    opengps  
       2018-10-31 22:00:26 +08:00
    端口安全第一步,因为可能有系统默认漏洞被利用,比如 windows 的一堆漏洞
    应用安全第二步,因为可能开发的程序自带漏洞,比如 php 框架开发的 web 应用
    其他安全第三步,比如内鬼(程序 /人)向外部收集端发数据
    opengps
        23
    opengps  
       2018-10-31 22:04:31 +08:00
    另外说一句,关于 3 个月一换密码是否有用:
    对于某些密码,例如系统远程,数据库,就算暴力破解需要 3 年,也不排除爆破程序的第一个密码就恰巧正确的情况
    定期改密码对于密码文件泄漏等情况效果较好,对于爆破效果不算大
    opengps
        24
    opengps  
       2018-10-31 22:05:51 +08:00
    还有个服务器运维技巧,http,https 端口没办法,老老实实用默认密码 但是 ssh,你还是改一个随机非某些服务公开端口的端口当密码吧,世界可以清静不少!!!
    opengps
        25
    opengps  
       2018-10-31 22:09:10 +08:00
    合理使用安全组&防火墙&路由:
    关于感染病毒有多种情况:,其中一类是病毒进入主机运行后,需要对外通讯的。这类服务需要通过配置防火墙或者安全组的“出方向”规则,可以屏蔽。举例说开发的某 web 系统,对外需要调用微信 api,那么就把微信服务器的 ip 加入到防火墙出规则的白名单里,其他禁止。这样对于这类需要对外联络才能让服务器沦为肉鸡或者泄露资源的情况也可以避免
    opengps
        26
    opengps  
       2018-10-31 22:10:25 +08:00
    不过其实说的太多了,足够安全的系统会带来太多使用上的不方便,然后很多情况下都是:系统能用就行了!!有事找运维背锅。。。
    changwei
        27
    changwei  
       2018-10-31 22:18:22 +08:00   ❤️ 2
    @251243021 边信道攻击。就是把 0101 的信息写入风扇转速控制的程序里面,通过风扇高低转速的切换把数据传递出来。这种奇葩的传递信道就是边信道。
    zjia
        28
    zjia  
    OP
       2018-11-01 07:59:55 +08:00
    看到各位大佬的回复,我发现我坐井观天的天有多大了……
    annielong
        29
    annielong  
       2018-11-01 08:49:48 +08:00
    毕竟严格来说,端口跟安全实际上没有关系,危险的不是端口,而是使用端口的后台程序。
    lzvezr
        30
    lzvezr  
       2018-11-01 10:04:01 +08:00 via Android
    @changwei 查了一下还有利用 PHP 比较字符串消耗时间长短逐位获取密码的操作,绝对安全太难做了😂
    Heimo
        31
    Heimo  
       2018-11-01 11:26:13 +08:00
    首先,不可能有绝对的安全。就算你断网,也可以用声波攻击你的磁盘,风扇,达到目的。

    https://search.freebuf.com/search/?search=%E5%A3%B0%E6%B3%A2#article
    kersbal
        32
    kersbal  
       2018-11-01 11:47:06 +08:00
    当年震网病毒据说就是 NSA 摩萨德合作针对工业 PLC 设备的,但伊朗离心机工厂不太好感染到。摩萨德一着急,就放了一个大招,直接感染周边民用设施来间接攻击,因为任何系统都需要定期维护升级,任何一次对系统的接触都会增加风险。来自电影:零日战争
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3415 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 11:28 · PVG 19:28 · LAX 03:28 · JFK 06:28
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.