dennyzhang
V2EX  ›  DevOps

服务器装好后,你一般做哪些安全上的优化?

  •  3
     
  •   dennyzhang · Sep 15, 2016 · 10511 views
    This topic created in 3713 days ago, the information mentioned may be changed or developed.
    先抛个砖。我一般做如下几件事:
    - iptables 防火墙
    - sshd 禁止通过密码登录
    - 给 command history 加上 timestamp
    51 replies  •  2016-09-18 15:03:59 +08:00
    zyc233
    zyc233
    Sep 16, 2016❤️1
    1
    楼主我是小白可否说的具体点,谢谢
    shiji
    shiji
    Sep 16, 2016 via Android
    3
    我一般会给 iptables 做一些猥琐的配置
    lianxiaoyi
    lianxiaoyi
    Sep 16, 2016 via Android
    4
    一般改个端口就完事了!密码设置复杂些!
    dennyzhang
    dennyzhang
    OP
    Sep 16, 2016
    5
    @shiji 怎么个猥琐法。来 show show 撒
    jeffw
    jeffw
    Sep 16, 2016 via iPhone
    6
    不做,没怎么被黑过
    jimzhong
    jimzhong
    Sep 16, 2016
    7
    猥琐配置之一:用 iptables 限制同一个 ip 在一分钟内 ssh 尝试连接的次数。
    initialdp
    initialdp
    Sep 16, 2016
    8
    ( 1 ) 改端口
    ( 2 ) fail2ban
    ( 3 ) 禁止 root 远程登陆
    googlebot
    googlebot
    Sep 16, 2016 via Android
    9
    只改端口,密钥登录
    ericls
    ericls
    Sep 16, 2016
    10
    一般先断网 只能从同一个局域网的另外一个机器访问
    Troevil
    Troevil
    Sep 16, 2016
    11
    @jimzhong failban ~
    Troevil
    Troevil
    Sep 16, 2016
    12
    @jimzhong fail2ban
    qyz0123321
    qyz0123321
    Sep 16, 2016
    13
    开启 selinux
    40huo
    40huo
    Sep 16, 2016
    14
    我一般就做一个禁止密码登录。
    thinks
    thinks
    Sep 16, 2016 via Android
    15
    @zyc233 哈哈哈哈,顺便可以说说 IP 地址或者域名什么的。
    xuboying
    xuboying
    Sep 16, 2016 via iPhone
    16
    二次验证大家是否考虑?
    shshilmh
    shshilmh
    Sep 16, 2016 via Android
    17
    端口敲门
    kn007
    kn007
    Sep 16, 2016
    18
    更改默认端口, iptables 规则, fail2ban 。
    伪造 22 端口等等。
    qile1
    qile1
    Sep 16, 2016 via Android
    19
    win 服务器该怎么办,经常被攻陷
    caoyujia2000
    caoyujia2000
    Sep 16, 2016
    20
    @qile1 放在各种云服务器上 借助云上的防护服务 win 服务安全性比 linux 服务器还是差蛮多的 个人感觉
    VmuTargh
    VmuTargh
    Sep 16, 2016
    21
    Grsecurity Grsecurity Grsecurity
    重要的事情说三遍
    china1234
    china1234
    Sep 16, 2016 via iPhone❤️1
    22
    给服务器安装 360 安全卫士、 360 杀毒软件、金山卫士、金山毒霸、瑞星、百度卫士、百度杀毒卫士。
    dennyzhang
    dennyzhang
    OP
    Sep 16, 2016
    24
    OS Hardening To Better Secure Linux Server
    http://www.dennyzhang.com/linux_security/

    Note: 楼主自己整理和总结的一篇分享。
    dennyzhang
    dennyzhang
    OP
    Sep 16, 2016
    25
    @qyz0123321 我一般是关 selinux 。求教:在你们使用过程中, selinux 在哪些地方真实帮到你们了?
    dennyzhang
    dennyzhang
    OP
    Sep 16, 2016
    26
    @VmuTargh 赞,久闻 Grsecurity 大名。期待它早日入 mainstream.
    dennyzhang
    dennyzhang
    OP
    Sep 16, 2016
    27
    @jimzhong 赞。果然很贱
    uiuy
    uiuy
    Sep 16, 2016 via Android
    28
    @xuboying 这个是怎么实现?
    fool
    fool
    Sep 16, 2016
    29
    @xihefeng google authen ...
    jyf007
    jyf007
    Sep 16, 2016 via Android
    30
    @VmuTargh 高到哪里去都不知道了
    lslqtz
    lslqtz
    Sep 16, 2016
    31
    不做任何优化, 给程序打打补丁。
    VmuTargh
    VmuTargh
    Sep 16, 2016 via Android❤️1
    32
    @dennyzhang 最近 kernel 那边打鸡血一样, Linux-next 像 duang 一样多了好多安全特性……没办法,全都是被倒逼的……
    另外 SELinux 可以用用但是不要迷信,毕竟 userspace 加固这玩意又不如 openbsd (逃
    raysonx
    raysonx
    Sep 16, 2016 via Android
    33
    第一件事是禁止 root 用户使用密码远程登录
    ouqihang
    ouqihang
    Sep 16, 2016
    34
    默认 22 端口真的不能用,睡一觉几百个 login fail ,改端口就好了
    qyz0123321
    qyz0123321
    Sep 16, 2016
    35
    @dennyzhang 有用。。
    prondtoo
    prondtoo
    Sep 16, 2016 via Android
    36
    装好系统后跟着网上教程的,关掉 iptables ,关掉 selinux
    DesignerSkyline
    DesignerSkyline
    Sep 16, 2016 via iPad
    37
    @shshilmh port knocking 很实用,比单纯 IP 白名单更加适合于多种复杂环境。
    zpvip
    zpvip
    Sep 16, 2016
    38
    @jimzhong
    是这样吗?

    一分钟尝试两次:

    ```
    iptables -A INPUT -p tcp --dport 22 -m recent --name SSH_Brute --rcheck --seconds 60 --hitcount 2 -j DROP
    iptables -A INPUT -p tcp --dport 22 -m recent --name SSH_Brute --set -j ACCEPT
    ```

    好像不如这样写好,三次错误禁一小时:

    ```
    iptables -A INPUT -p tcp --dport 22 -m recent --name SSH_Brute --update --seconds 3600 --hitcount 3 -j DROP
    iptables -A INPUT -p tcp --dport 22 -m recent --name SSH_Brute --set -j ACCPET
    ```
    kideny
    kideny
    Sep 16, 2016
    39
    @prondtoo 这贴里很多人推荐 iptables ,你还要关掉。。。关掉用啥?
    dreamtrail
    dreamtrail
    Sep 16, 2016
    40
    @zpvip
    端口被攻击的时候自己会不会也登不上?
    choury
    choury
    Sep 16, 2016 via Android
    41
    反正我的 22 端口是个密罐,用来记录所有尝试登陆的密码
    guokeke
    guokeke
    Sep 16, 2016
    42
    -=- root 禁了就不管了。
    jimzhong
    jimzhong
    Sep 17, 2016
    43
    @zpvip 我这么写
    iptables -A INPUT -p tcp --dport 2222 -m state --state NEW -m recent --set --name ssh --rsource
    iptables -A INPUT -p tcp --dport 2222 -m state --state NEW -m recent ! --rcheck --seconds 60 --hitcount 4 --name ssh --rsource -j ACCEPT
    Hardrain
    Hardrain
    Sep 17, 2016
    44
    1) iptables 限制自己不用的端口
    2) Web 程序的后台 Fail2Ban
    3) SSH 禁用键盘交互(密码),只能用公钥登录
    kn007
    kn007
    Sep 17, 2016
    45
    补充,顺带的做 SSH 登录邮件提醒,感觉很有必要,在没两步验证的情况下

    https://kn007.net/topics/email-alert-when-ssh-login/
    ywgx
    ywgx
    Sep 17, 2016
    46
    看了大家的方案,这是个人自己玩玩可以;企业级的管理, xabcloud.com 的看看吧
    Nitroethane
    Nitroethane
    Sep 17, 2016
    47
    改 ssh 端口,并且使用 RSA 私钥进行登录,禁用密码登录;使用防火墙关闭,所有端口,只开放自己需要的,比如我的服务器只开了 3 个端口, 80 , 443 和 ssh 端口;定期打补丁。这是已经做了的,最近考虑写个脚本用来处理 nginx 的访问日志,比如说当有陌生 ip 在短时间内产生大量访问,并且有无意义的请求时,做黑名单处理;再写个脚本,定期监测 last 命令的输出,如果发现不是我的 ip 登录,给我发邮件啥的
    bianchensz
    bianchensz
    Sep 18, 2016
    48
    改端口,改密钥,禁密禁 root 远程。
    sutra
    sutra
    Sep 18, 2016
    49
    block in quick proto tcp from any os "Linux" to any port ssh
    soulteary
    soulteary
    Sep 18, 2016
    50
    这个是炸鱼帖子...

    1. 改 root 密码为 16 ~ 20 位随机密码。
    2. 创建新用户,赋权,配置 rsakey 和授信 hosts , key 根据情况加密码&定期更换。
    3. 配置 sshd ,改端口,禁密码登录,禁 root 登录,禁用 pam ( openssl 后遗症)
    4. ufw 简化管理 iptables ,开闭端口。
    5. fail2ban 随便开几个需要的规则。
    6. supervisor 守护 fail2ban 。
    7. 如果有 1 ~ 2 台靠谱的机器,(任何网络下都能登录的, sla 高)当壁垒机器,其他机器仅允许从壁垒机上登录,定期维护这 1 ~ 2 个入口。
    8. 二步个人不推荐,如果专有一台手机做 token 另外(最近几年频繁换手机, token 各种重置各种痛苦)
    dennyzhang
    dennyzhang
    OP
    Sep 18, 2016
    51
    @soulteary ^-^ 嗯嗯嗯,好大一条鱼
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   887 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 126ms · UTC 20:15 · PVG 04:15 · LAX 12:15 · JFK 15:15
    ♥ Do have faith in what you're doing.