V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
crepesofwrath
V2EX  ›  Linux

chmod 777 到底有什么危险

  •  4
     
  •   crepesofwrath · 2016-04-14 17:00:09 +08:00 via iPhone · 20500 次点击
    这是一个创建于 3180 天前的主题,其中的信息可能已经有所发展或是发生改变。
    chmod -R 777 /var/www/html 到底有什么危险
    http://askubuntu.com/questions/20105/why-shouldnt-var-www-have-chmod-777
    如果 PHP 崩溃用户看到了包含密码的脚本又能怎样,我的 SSH 需要 key, 数据库禁止了远程登录,就算用户可以上传图片也会被验证,不存在执行上传恶意脚本的可能 toehold, escalate, how???
    119 条回复    2021-08-20 13:57:45 +08:00
    1  2  
    crepesofwrath
        1
    crepesofwrath  
    OP
       2016-04-14 17:13:00 +08:00 via iPhone
    没有人知道吗,我接着去谷歌
    ylck
        2
    ylck  
       2016-04-14 17:21:04 +08:00 via Android   ❤️ 1
    非业务相关用户 可 看到,可执行。文件有默认权限。。
    crepesofwrath
        3
    crepesofwrath  
    OP
       2016-04-14 17:21:08 +08:00 via iPhone
    pimin
        4
    pimin  
       2016-04-14 17:22:42 +08:00 via Android
    本地提权,本来它没有机会的,你给他创造了便利
    如果有某个内核漏洞你没及时处理,你以上所有安全假设都没用了
    即便能打补丁的你都处理了,还有 0day 呢
    lululau
        5
    lululau  
       2016-04-14 17:26:42 +08:00
    chmod 777 会出问题不是因为你把权限放开了,而是因为这个操作把某些权限去掉了( set uid, 粘滞位等)
    Shura
        6
    Shura  
       2016-04-14 17:35:38 +08:00 via Android
    @lululau 那 0777 权限呢?
    hellov22ex
        7
    hellov22ex  
       2016-04-14 17:39:22 +08:00
    777 权限太大,是个用户都可以执行,然后忘记了,好像是文件会丢一些信息?
    crepesofwrath
        8
    crepesofwrath  
    OP
       2016-04-14 17:39:50 +08:00 via iPhone
    http://serverfault.com/questions/144194/is-chmod-775-safe-to-use/144195
    上面的回答我不是很明白,这个提问说明了我对 Linux 用户和权限的理解还不够深刻,实际上还没入门 ...
    上面的链接我得到的结论是,假设系统本身没有漏洞,黑客让 PHP 崩溃?,浏览器用户就能够下载我的 PHP 脚本,但是这仍然对我没有本质的威胁,因为我的脚本写的很严密,而且我的主机不是共享的,只有一个用户 ... 这个总结可能比较愚蠢,我的起点就是一个 Web 程序员...
    lululau
        9
    lululau  
       2016-04-14 17:40:32 +08:00
    @Shura 0777 就是 777
    helloworldwt
        10
    helloworldwt  
       2016-04-14 17:49:13 +08:00
    如果使用 chmod 777 使文件有执行权限有风险,那么正确的命令是啥呢
    crepesofwrath
        11
    crepesofwrath  
    OP
       2016-04-14 17:58:37 +08:00 via iPhone
    Wordpress 安装插件无法写入可能是我的解压和拷贝时没有拷贝正确的权限
    demo
        12
    demo  
       2016-04-14 18:00:48 +08:00
    @helloworldwt 644 (斜眼
    oott123
        13
    oott123  
       2016-04-14 18:05:46 +08:00 via Android
    @helloworldwt chmod +x
    cxbig
        14
    cxbig  
       2016-04-14 18:21:48 +08:00   ❤️ 3
    正常来说 folder 用 755 或 775 ,文件用 644 或 664
    find . -type d -exec chmod 755 {} \;
    find . -type f -exec chmod 644 {} \;

    基本理念就是只给最少的权限
    SCaffrey
        15
    SCaffrey  
       2016-04-14 18:27:53 +08:00
    有很大危险……

    @cjsoft
    Bardon
        16
    Bardon  
       2016-04-14 18:40:39 +08:00
    就是表示你 /etc/passwd 下所有用户(明确指定 /bin/false 的用户除外),都有权限执行该目录下所有文件
    crepesofwrath
        17
    crepesofwrath  
    OP
       2016-04-14 18:40:45 +08:00 via iPhone
    @cxbig thanks, least privileges principle 今天看到过 要完全理解只能到实践中去感受了
    maskerTUI
        18
    maskerTUI  
       2016-04-14 18:41:53 +08:00   ❤️ 3
    我就是喜欢你这种有自信的年轻人
    Pastsong
        19
    Pastsong  
       2016-04-14 18:42:09 +08:00
    因为还有你不能控制的风险,就算有验证也可能有 bug 呢,可能被绕过呢?就算程序没有错误还有人呢是吧
    crepesofwrath
        20
    crepesofwrath  
    OP
       2016-04-14 18:46:26 +08:00 via iPhone
    @Bardon <3 your answer
    crepesofwrath
        21
    crepesofwrath  
    OP
       2016-04-14 18:56:54 +08:00 via iPhone
    @maskerTUI 一周前我的阿里云 SSH 登录密码被暴力破解,如果黑客不动我的网站我是不知道的,然后我就去学习 ssh key pair ,如果说我有什么自信的话也是被逼出来的,因为我的计算机科学专业课被完全浪费掉了, good thing i know a bit english
    Bardon
        22
    Bardon  
       2016-04-14 18:57:24 +08:00
    @crepesofwrath 你是什么发行版
    要知道 /sbin/nologin 对 777 的文件也是拥有执行权限的
    crepesofwrath
        23
    crepesofwrath  
    OP
       2016-04-14 19:00:24 +08:00 via iPhone
    @Pastsong 这个绕过应该是上传文件的类型,其它 bug 除了数据库相关的 XSS 我还不是很有体会 but yes i'm too confident of my code
    Bardon
        24
    Bardon  
       2016-04-14 19:01:59 +08:00
    @crepesofwrath ssh 暴力破解是最后一条路
    之前通过其他用户提权成功的话,改一下 /etc/ssh/sshd_config 不是难事, echo 一下即可。
    当然那要你的网站(譬如 php )开放了各种权限,譬如 ( php exec )

    安全问题,怎么严格都不过分
    crepesofwrath
        25
    crepesofwrath  
    OP
       2016-04-14 19:03:55 +08:00 via iPhone
    @Bardon centos 7, sbin nologin, i will google on that, <3 += 1
    crepesofwrath
        26
    crepesofwrath  
    OP
       2016-04-14 19:09:22 +08:00 via iPhone
    @Bardon i will turn that off, ;;; auguments.callee.counter++; // from function loveYouGuys
    Bardon
        27
    Bardon  
       2016-04-14 19:12:01 +08:00
    普通的 centos 7 + 基本的 web 服务
    $ cat /etc/passwd | grep nologin
    bin:x:1:1:bin:/bin:/sbin/nologin
    daemon:x:2:2:daemon:/sbin:/sbin/nologin
    adm:x:3:4:adm:/var/adm:/sbin/nologin
    lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
    mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
    operator:x:11:0:operator:/root:/sbin/nologin
    games:x:12:100:games:/usr/games:/sbin/nologin
    ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
    nobody:x:99:99:Nobody:/:/sbin/nologin
    dbus:x:81:81:System message bus:/:/sbin/nologin
    polkitd:x:999:998:User for polkitd:/:/sbin/nologin
    avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
    avahi-autoipd:x:170:170:Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin
    libstoragemgmt:x:998:997:daemon account for libstoragemgmt:/var/run/lsm:/sbin/nologin
    ntp:x:38:38::/etc/ntp:/sbin/nologin
    abrt:x:173:173::/etc/abrt:/sbin/nologin
    postfix:x:89:89::/var/spool/postfix:/sbin/nologin
    sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
    chrony:x:997:996::/var/lib/chrony:/sbin/nologin
    nscd:x:28:28:NSCD Daemon:/:/sbin/nologin
    tcpdump:x:72:72::/:/sbin/nologin
    nginx:x:996:995:Nginx web server:/var/lib/nginx:/sbin/nologin
    apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin
    mysql:x:27:27:MariaDB Server:/var/lib/mysql:/sbin/nologin
    tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
    dockerroot:x:995:993:Docker User:/var/lib/docker:/sbin/nologin
    systemd-bus-proxy:x:994:990:systemd Bus Proxy:/:/sbin/nologin
    systemd-network:x:993:989:systemd Network Management:/:/sbin/nologin
    rpc:x:32:32:Rpcbind Daemon:/var/lib/rpcbind:/sbin/nologin


    精简的 centos 7 ,嫁基本的 web 服务
    $ cat /etc/passwd | grep nologin
    bin:x:1:1:bin:/bin:/sbin/nologin
    daemon:x:2:2:daemon:/sbin:/sbin/nologin
    adm:x:3:4:adm:/var/adm:/sbin/nologin
    lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
    mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
    operator:x:11:0:operator:/root:/sbin/nologin
    games:x:12:100:games:/usr/games:/sbin/nologin
    ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
    nobody:x:99:99:Nobody:/:/sbin/nologin
    dbus:x:81:81:System message bus:/:/sbin/nologin
    sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
    nginx:x:999:998:nginx user:/var/cache/nginx:/sbin/nologin
    apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin
    systemd-bus-proxy:x:998:996:systemd Bus Proxy:/:/sbin/nologin
    systemd-network:x:997:995:systemd Network Management:/:/sbin/nologin
    rpc:x:32:32:Rpcbind Daemon:/var/lib/rpcbind:/sbin/nologin

    你怎么得出 小于 3 的?

    人家黑你,又不是必须要先 ssh 的
    crepesofwrath
        28
    crepesofwrath  
    OP
       2016-04-14 19:18:47 +08:00 via iPhone
    @Bardon 我没有明确说明,这个层次是我要完成的目标 No fancy code fears me :)
    Pastsong
        29
    Pastsong  
       2016-04-14 19:22:12 +08:00
    呃...不知道说什么好
    tcdw
        30
    tcdw  
       2016-04-14 19:22:34 +08:00 via Android
    @Bardon
    > 你怎么得出 小于 3 的?
    楼主的意思应该是心形颜文字吧。。
    不过用太高的权限真的不是个好习惯,无论是什么操作系统
    maskerTUI
        31
    maskerTUI  
       2016-04-14 19:24:01 +08:00
    @crepesofwrath 以前在学校做社团服务器运维时觉得 chmod 777 很方便,于是都是 777 开干,现在出来工作做渗透测试工作,再也不敢用 777 了,具体的危害只能用心去感受,只有真正了解的人才知道危害。另外,说你有自信并不是夸你。
    crepesofwrath
        32
    crepesofwrath  
    OP
       2016-04-14 19:26:58 +08:00 via iPhone
    @tcdw 冷幽默
    crepesofwrath
        33
    crepesofwrath  
    OP
       2016-04-14 19:31:15 +08:00 via iPhone
    @maskerTUI 我知道啊,只是害怕对我来说没有意义,服务器端不是我需要操心的, so far, 不够严谨地说 ...
    Pastsong
        34
    Pastsong  
       2016-04-14 19:36:26 +08:00 via Android   ❤️ 1
    再说一句,如果楼主是来问问题的,能不能只要问问题就好了,没人在乎你会不会英语,没人在乎你对你代码有没有自信,没人在乎你又用了什么增加交流成本的颜文字,整篇回复各种散发迷之自信
    loading
        35
    loading  
       2016-04-14 19:37:30 +08:00 via Android
    我只知道 777 是水平低的表现,因为 766 都比这个好,至少做 chmod 的人知道哪个组需要 +x
    crepesofwrath
        36
    crepesofwrath  
    OP
       2016-04-14 19:40:12 +08:00 via iPhone
    @Pastsong 语言只是一个工具,有时候表达更自然一些
    crepesofwrath
        37
    crepesofwrath  
    OP
       2016-04-14 19:43:42 +08:00 via iPhone
    @loading loading.io 最近学后端 frustration 还是很多的,昨晚看了一点 Trump 视频,今天有点 show off ,你知道我是新手
    loading
        38
    loading  
       2016-04-14 19:49:33 +08:00 via Android
    @crepesofwrath 我没其他意思。
    只要有一个地方漏了,你给了 777 就非常危险,代码 bug 高手能尽量能避免,但是,谁能说其他地方没有漏洞呢? php 也许有个你我都不知道的 0day 呢~
    crepesofwrath
        39
    crepesofwrath  
    OP
       2016-04-14 20:24:38 +08:00 via iPhone
    @loading 不会冒犯我啊 我去研究下 0day
    loading
        40
    loading  
       2016-04-14 20:33:23 +08:00 via Android
    楼主,你要先看看这个。

    http://m.blog.csdn.net/article/details?id=11743977

    linux 只有一个 root ,和一个程序只做一个事等等策略,其实都是出于避免所有潜在危险的原因。
    cjsoft
        41
    cjsoft  
       2016-04-14 20:43:21 +08:00
    @SCaffrey [滑稽]
    shiny
        42
    shiny  
       2016-04-14 20:44:02 +08:00
    前几天在安全渗透测试的时候还用 mysql load_file 去读 php 源文件然后找到源码中的漏洞进后台。
    正常情况下 mysql 用户不应该能读取 Web 文件。

    再举个例子,前段时间 redis 因为以 root 启动+端口开放到公网,结果能够往 authorized_keys 写数据。
    假设 redis 不是 root 启动,但你 Web 目录 777 ,还是有权限往上面写个 WebShell (假设没开 SELinux 或 AppArmor )
    msg7086
        43
    msg7086  
       2016-04-14 20:55:45 +08:00
    如果你的程序用到了 PHP ,那么你能审计完 PHP 所有的代码并保证无错吗?

    并不能吧。

    同理还有 Web Server ,还有 Linux 内核,还有无数的其他东西。
    crepesofwrath
        44
    crepesofwrath  
    OP
       2016-04-14 20:56:20 +08:00 via iPhone
    @shiny 前提是 mysql 被登录了对吗? root 启动+端口开放到公网,正符合我最近学习 redis 时阿里云控制台发出的安全警告
    crepesofwrath
        45
    crepesofwrath  
    OP
       2016-04-14 21:05:57 +08:00 via iPhone
    @msg7086 对于一个最小型博客程序来说,保证无错难度不是很大,仍然会耗费时间,我只能站在高层语言的简单应用层次上这样说,对于复杂的程序,或者服务器,内核,不在我的能力范围
    SlipStupig
        46
    SlipStupig  
       2016-04-14 21:07:22 +08:00
    这样坏处是会导致一些本来不该有执行权限的目录如果混入了脚本,就可以执行命令(上传目录)
    msg7086
        47
    msg7086  
       2016-04-14 21:07:46 +08:00
    @crepesofwrath 这就是为什么要符合最小权限原则。
    你能力范围以外的系统会毁掉你的无错宣言。
    (比如 OpenSSL 的漏洞,嗯
    Andy1999
        48
    Andy1999  
       2016-04-14 21:11:04 +08:00 via iPhone
    @msg7086 我用 HTML 求黑
    crepesofwrath
        49
    crepesofwrath  
    OP
       2016-04-14 21:11:39 +08:00 via iPhone
    @SlipStupig 如果混入了脚本 说明它的确是一个 risk
    crepesofwrath
        50
    crepesofwrath  
    OP
       2016-04-14 21:14:51 +08:00 via iPhone
    @msg7086 哈哈 其实我现在的沮丧程度远远超过了自嘲的欲望,哈哈哈 yanlei"
    lhbc
        51
    lhbc  
       2016-04-14 21:15:42 +08:00 via Android
    如果你有个脚本 /程序会用 root 跑,那 777 就相当于任何用户都可以提权到 root
    raincious
        52
    raincious  
       2016-04-14 21:17:19 +08:00
    @crepesofwrath

    所以其实还是不能。

    777 的权限太高了,不应该给。“给用户尽量最小的权限”应该是系统管理员的准则之一。
    julyclyde
        53
    julyclyde  
       2016-04-14 21:18:07 +08:00
    setuid 会掉,导致你无法正常 su 、 sudo 和 passwd
    crepesofwrath
        54
    crepesofwrath  
    OP
       2016-04-14 21:21:21 +08:00 via iPhone
    @lhbc 任何用户指的是我的一个浏览器用户成为了我的服务器用户,因为我特指 /var/www
    shiny
        55
    shiny  
       2016-04-14 21:21:26 +08:00
    @crepesofwrath 只是一个 SQL 注入点而已。
    msg7086
        56
    msg7086  
       2016-04-14 21:22:43 +08:00
    @lhbc 777 并不能提权。
    kfll
        57
    kfll  
       2016-04-14 21:39:48 +08:00 via iPhone
    …其实就相当于 boss 在 76 层,本来第 10 层到第 75 层都有小 boss 结果你觉得前面 9 九层就够了就把 10-75 的都撤了…
    crepesofwrath
        58
    crepesofwrath  
    OP
       2016-04-14 21:51:20 +08:00 via iPhone
    @kfll 直觉上前面 9 层最重要,实际上每一层有问题都不行,你的例子 不好
    lhbc
        59
    lhbc  
       2016-04-14 21:52:08 +08:00 via Android
    @msg7086 如果某个 cron 或者脚本, root 会定时或者偶尔运行,设为 777 就表示其他用户能修改这个文件用于提权,比如直接加一个 id=0 的用户
    asddsa
        60
    asddsa  
       2016-04-14 21:57:33 +08:00 via iPhone
    设置好 777 ,然后把你的网站发出来。
    crepesofwrath
        61
    crepesofwrath  
    OP
       2016-04-14 22:01:03 +08:00 via iPhone
    @asddsa 等我设置一下 i got a feeling !!!
    jarlyyn
        62
    jarlyyn  
       2016-04-14 22:04:54 +08:00
    php 的茅与盾的问题啊。

    缺乏统一入口的锅。
    msg7086
        63
    msg7086  
       2016-04-14 22:11:40 +08:00
    @lhbc 所以 777 并不是提权,而是开放权限。
    主要是允许任意账户修改系统配置的锅。
    777 本身没法用于提权的。
    crepesofwrath
        64
    crepesofwrath  
    OP
       2016-04-14 22:15:32 +08:00 via iPhone
    @jarlyyn 不明白,你的意思是 PHP 入门太简单,每个人都能拿这口锅煮东西吃,懒惰的笨蛋也能,然后它毕竟是口锅,它不适合明星球员
    lhbc
        65
    lhbc  
       2016-04-14 22:16:05 +08:00 via Android
    @msg7086 嗯,表述为开放权限比较好。
    luckybird
        66
    luckybird  
       2016-04-14 22:24:28 +08:00
    运维功底还需加强啊
    crepesofwrath
        67
    crepesofwrath  
    OP
       2016-04-14 22:30:45 +08:00 via iPhone
    @luckybird 我觉得前面几位以后可能不如我 🙃
    InneRs
        68
    InneRs  
       2016-04-14 22:32:52 +08:00
    没有绝对安全的系统。你哪怕对你的网站再有信心,多一层安全防护又不是坏事,更何况它根本不影响正常功能
    luckybird
        69
    luckybird  
       2016-04-14 22:34:00 +08:00
    @crepesofwrath 大家心平气和地讨论,一起学习进步嘛
    loading
        70
    loading  
       2016-04-14 22:34:49 +08:00 via Android
    现在都是脱裤为目的,不需要提升到 root 权限。
    crepesofwrath
        71
    crepesofwrath  
    OP
       2016-04-14 22:44:13 +08:00 via iPhone
    @InneRs 其实这源于昨天架设 Wordpress , Woocommerce 插件安装失败,还有 wp-config.php 需要自己 touch paste, 我觉得麻烦,,,几个小时后我就想 code Igniter 推荐把 application 移出可访问目录,我就 url 到了 mysite.com/wp-config.php 没有显示,我想可能是因为用的手机, Google 后我明白 PHP 正常运行 wp-config.php 是没有输出的,问题出在 PHP 配置错误可能会导致受攻击或出错崩溃 ... 要学习的太多了,
    crepesofwrath
        72
    crepesofwrath  
    OP
       2016-04-14 22:47:14 +08:00 via iPhone
    @loading simple & straight, sir you have me respect
    jarlyyn
        73
    jarlyyn  
       2016-04-14 23:10:32 +08:00
    @crepesofwrath

    不是,而是一般只有 php/asp 程序才会去整个目录 775/777

    一般有入口程序的,给入口程序 770,其他的 664 就可以了。
    crepesofwrath
        74
    crepesofwrath  
    OP
       2016-04-14 23:16:00 +08:00 via iPhone
    @jarlyyn 不知道你说的是不是 python 和 java ,做 web 我只用过 PHP ,其实最近看 python 和 swift 的官方教程,以及回头看 C 语言,我就觉得每个变量一个$很麻烦,我喜欢 python 和 swift ,对 java 有偏见--黑客与画家
    jarlyyn
        75
    jarlyyn  
       2016-04-14 23:18:31 +08:00
    @crepesofwrath

    python/nodejs 我都用过,在权限上都比 php 省心的多。

    有些东西,本来就是 php 的有点,有时候自然也成了缺点。
    rubyvector
        76
    rubyvector  
       2016-04-14 23:19:09 +08:00
    有潜在安全风险.具体的哥们去了解下 LINUX 文件权限基础啰
    crepesofwrath
        77
    crepesofwrath  
    OP
       2016-04-14 23:30:04 +08:00 via iPhone
    @jarlyyn 是啊,入门之后我有点“忘恩负义”的倾向
    crepesofwrath
        78
    crepesofwrath  
    OP
       2016-04-14 23:31:16 +08:00 via iPhone
    @rubyvector 今晚我会再看,用的少忘的很快
    zwh8800
        79
    zwh8800  
       2016-04-14 23:38:35 +08:00
    @Pastsong 蛤蛤,说到我心里了
    Kirscheis
        80
    Kirscheis  
       2016-04-15 00:46:17 +08:00 via Android
    给我的感觉你完全没接触过编程, web ,*nix 和运维。。只是个人感受,没什么根据。
    当然了我非常希望大家都用 777 ,因为学校里就有不少这么设置的,方便我脱库
    crepesofwrath
        81
    crepesofwrath  
    OP
       2016-04-15 01:12:09 +08:00 via iPhone
    @Kirscheis 最后一句, 777 方便脱裤;我没有任何项目经验,但是说我完全没接触过编程,那么很多前端 PHPer 不知道会作和感想;我想起了阮一峰博客里的类似评论,我肯定是会一点的 ... 无非是基础差经验少
    konakona
        82
    konakona  
       2016-04-15 01:29:45 +08:00
    本地能够提交的目录往往是服务器上的 755 , 755 不具备执行权利。

    理论上来说,如果有人上传了什么木马、病毒上去没办法运行的,那么破坏程度的风险就会大大降低。

    但是一旦不检测好文件类型,被上传了网马就可以通过命令漏洞(如 eval )或 SQL 漏洞(以获取 webshell 后进一步的了解服务器的全貌)找到更多可以使用的漏洞了。因此危害程度仍在。

    安全还是要做充分的准备和考量哟。
    RIcter
        83
    RIcter  
       2016-04-15 01:41:00 +08:00 via iPhone   ❤️ 1
    愿世界上多一点楼主这样的运维,我们的工作会方便许多…😌
    googlebot
        84
    googlebot  
       2016-04-15 01:47:05 +08:00 via Android
    如果是 php , 777 没什么, ftp 目录也经常 777

    只要没有 root 权限,
    crepesofwrath
        85
    crepesofwrath  
    OP
       2016-04-15 01:55:14 +08:00 via iPhone
    @konakona 就是找到立足点,一步一步获取权限

    @RIcter 其实能回答好这个问题的人才是运维 👤🎩🕶
    crepesofwrath
        86
    crepesofwrath  
    OP
       2016-04-15 02:07:11 +08:00 via iPhone
    @googlebot 我现在不确定了,上面的大神给我一种不安全感,首先我对端口和防火墙的设置都不了解,暴力猜测 SSH 密码是一回事,针对特定目标实施打击想想都很恐怖
    crepesofwrath
        87
    crepesofwrath  
    OP
       2016-04-15 04:59:52 +08:00 via iPhone
    @asddsa
    aviato.tech
    Hack a good day
    shiny
        88
    shiny  
       2016-04-15 08:44:59 +08:00
    针对 PHP
    一、我建议甚至 Web 目录也不要开写权限,只有明确需要写入缓存和静态文件的文件夹才需要写权限。
    二、有写入权限的文件夹最好不要开 PHP 解析权限。

    有大量安全漏洞的程序(类似 DedeCMS )经过这样设置,出问题概率降低一个级别。
    alexyangjie
        89
    alexyangjie  
       2016-04-15 09:06:18 +08:00
    https://en.wikipedia.org/wiki/Defense_in_depth_(computing)
    这个是现代信息系统的安全防护理念。打个比方, chmod 777 就相当于把自己所有的钱都散落放在家里面,当然家里的门是上锁的,可能上的是一把好锁。但是你永远不知道小偷会不会撬开一扇窗或挖一个地道进入家中,而一旦进入,家里散落的钱就可以直接拿走。 chmod 644 相当于把钱放在保险箱里,只有你自己能打开。当然小偷也许也有一些办法(escalation),但这样毕竟加大了他的难度。
    asddsa
        90
    asddsa  
       2016-04-15 09:23:13 +08:00
    @RIcter 握爪,你看楼主放了个空白页面在那挑衅。
    lianyue
        91
    lianyue  
       2016-04-15 09:24:49 +08:00 via iPhone
    😂
    @crepesofwrath 不要说了我亲自遇到过 wordpress 的 0day 然后整个服务区被格式化了 还好勤备份
    Felldeadbird
        92
    Felldeadbird  
       2016-04-15 09:31:16 +08:00
    我觉得楼主想问的:“ chrom -R 777 有什么典型的渗透例子”。
    大家都有说这样做得危害性,但没有比较典型的具体例子。楼主是很难明白 过中的危害性的。
    因为看不见真正的危害,是很难理解到 其中的可怕。
    Ryan817
        93
    Ryan817  
       2016-04-15 09:41:36 +08:00
    LZ 可以试着 chmod 777 -R /etc/ 试试看,把你折磨到哭,被坑的血泪史
    pljhonglu
        94
    pljhonglu  
       2016-04-15 10:05:03 +08:00
    @Felldeadbird 同意,确实还没有一个具体的例子~
    abc123ccc
        95
    abc123ccc  
       2016-04-15 10:34:56 +08:00
    楼主, denyhost, fail2ban , SSH 的端口,都可以用上呀,为啥把这个专注点放到文件的权限上面来呢,这不是折腾自个吗?
    ivenvd
        96
    ivenvd  
       2016-04-15 10:46:17 +08:00
    我来说个吧。

    比如你的 SSH 或者 MySQL 有漏洞,用户拿到了 mysql 用户权限,但是因为用户密码在数据库是加密的,所以拿不到用户信息。

    这时候发现 php 目录是 777 的,就可以用 mysql 用户修改 PHP 文件,来窃取用户密码(以及做其他坏事)。
    donotgo
        97
    donotgo  
       2016-04-15 10:46:43 +08:00
    @Bardon
    <3 的意思是 ❤️。。。。
    ivenvd
        98
    ivenvd  
       2016-04-15 10:48:57 +08:00
    另外假如 PHP 文件是 root 权限运行的(既然权限都 777 了,用 root 运行也不是不可能吧……),那么修改 PHP 文件,就相当于以 root 权限执行命令,达到提权的目的。
    crepesofwrath
        99
    crepesofwrath  
    OP
       2016-04-15 10:53:01 +08:00 via iPhone
    @alexyangjie redit
    Its intent is to provide redundancy in the event a security control fails or a vulnerability is exploited 目的是提供冗余 当安全防护出现故障或者 整个系统的? 的一个弱点被利用
    In terms of computer network defense, defense in depth measures should not only prevent security breaches but also buy an organization time to detect and respond to an attack and so reduce and mitigate the consequences of a breach.
    军事上是用空间换取时间,以求延缓而非阻止
    crepesofwrath
        100
    crepesofwrath  
    OP
       2016-04-15 10:57:43 +08:00 via iPhone
    @shiny 目测经验之谈 我认为最有意思的是第三点
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1016 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 43ms · UTC 19:42 · PVG 03:42 · LAX 11:42 · JFK 14:42
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.