zoukankan      html  css  js  c++  java
  • linux系统基础优化和安全重点小结

    本文描述一些基本的系统优化知识点,为适应批量配置,所有代码为非交互式配置方法,可在crt中通过命令窗口做简单的批量处理。

    1. 不用root登录管理系统,而以普通用户登录通过sudo授权管理。作为一个例子这里新建一个用户,并做sudo提权
      useradd gotimmygo
       echo 123456|passwd --stdin gotimmygo
       cp /etc/sudoers{,ori}
       echo "gotimmygo    ALL=(ALL)       NOPASSWD:ALL">>/etc/sudoers
       tail -1 /etc/sudoers
       visudo -c
    2. 更改默认的远程连接ssh服务端口,禁止root用户远程连接,甚至要更改ssh服务只监听内网IP。
    3. 超时时间、操作记录数更改
      1 echo "export TMOUT=300" >>/etc/profile
      2 echo "export HISTSIZE=10">>/etc/profile
      3 echo "export HISTFILESIZE=10">>/etc/profile
    4. 定时更新服务器时间,使其和互联网时间同步。
      1 echo "#####time sync by xuyan at 2017-12-16">>/var/spool/cron/root
      2 echo "*/5 * * * * /usr/bin/ntpdate ntp1.aliyun.com >>/dev/null 2>&1" >>/var/spool/cron/root
      3 crontab -l
    5. 配置yum更新源,从国内更新源下载安装软件包。
    6. 关闭SELinux及iptables(在工作场景中,如果有外部IP一般要打开iptables,高并发流量的服务器可能无法开启)。
      ##关闭SELinux
      sed -i "s#SELINUX=enforcing#SELINUX=disabled#g" /etc/selinux/config
       setenforce 0
       getenforce
      
      ##关闭iptables
      /etc/init.d/iptables status
      /etc/init.d/iptables stop
      chkconfig iptables off
    7. 调整文件描述符的数量,进程及文件的打开都会消耗文件描述符数量。配置完成后重新登录才可以生效,可以使用命令ulinmit -n进行查看
      echo ‘*             -      nofile             65535’>>/etc/security/limits.conf
    8. 定时自动清理邮件临时目录垃圾文件,防止磁盘的inode数被小文件占满(注意centos6和centos5要清除的目录不同)。
    9. 精简并保留必要的开机自启动服务(如cron、network、sshd、rsyslog、sysstat)
      chkconfig --list|egrep -v  "crond|ssh|network|rsyslog|sysstat"|awk '{print "chkconfig",$1,"off"}'|bash
      chkconfig --list|grep "3:on"
    10. linux内核参数优化/etc/sysctl.conf,执行sysctl –p生效。,其中各语句的释义可以百度查看
       1 cat >>/etc/sysctl.conf<<EOF
       2 net.ipv4.tcp_fin_timeout = 2
       3 net.ipv4.tcp_tw_reuse = 1
       4 net.ipv4.tcp_tw_recycle = 1
       5 net.ipv4.tcp_syncookies = 1
       6 net.ipv4.tcp_keepalive_time = 600
       7 net.ipv4.ip_local_port_range = 4000 6000
       8 net.ipv4.tcp_max_syn_backlog = 16384
       9 net.ipv4.tcp_max_tw_buckets = 36000
      10 net.ipv4.route.gc_timeout = 100
      11 net.ipv4.tcp_syn_retries = 1
      12 net.ipv4.tcp_synack_retries = 1
      13 net.core.somaxconn = 16384
      14 net.core.netdev_max_backlog = 16384
      15 net.ipv4.tcp_max_orphans = 16384
      16 net.ipv4.tcp_keepalive_probes = 3
      17 net.ipv4.tcp_keepalive_intvl =15
      18 net.ipv4.tcp_retries2 = 5
      19 net.ipv4.tcp_max_tw_buckets = 36000
      20 net.ipv4.tcp_wmem = 8192 131072 16777216
      21 net.ipv4.tcp_rmem = 32768 131072 16777216
      22 net.ipv4.tcp_mem = 786432 1048576 1572864
      23 net.ipv4.ip_local_port_range = 1024 65000
      24 net.ipv4.ip_conntrack_max = 65536
      25 net.ipv4.netfilter.ip_conntrack_max=65536
      26 net.ipv4.netfilter.ip_conntrack_tcp_timeout_established=180
      27 vm.swappiness=10
      28 ###以下是对iptables的优化,防火墙不开会提示,可以忽略不计
      29 net.nf_conntrack_max = 25000000
      30 net.netfilter.nf_conntract_max = 25000000
      31 net.netfilter.nf_conntract_tcp_timeout_established = 180
      32 net.netfilter.nf_conntract_tcp_timeout_time_wait = 120
      33 net.netfilter.nf_conntract_tcp_timeout_close_wait = 60
      34 net.netfilter.nf_conntract_tcp_timeout_fin_wait = 120
      35 EOF
      36
    11. 更改系统字符集为”zh_CN.UTF-8”,使其支持中文,防止出现乱码问题。这里在linux系统中应该要安装相应的中文字符集

      1 cp /etc/sysconfig/i18n{,i18n.ori}
      2 echo ''LANG="zh_CN.UTF-8"'>/etc/sysconfig/i18n
      3 source /etc/sysconfig/i18n
      4 export LANG=zh_CN.UTF-8
    12. 锁定关键系统文件,如/etc/passwd,/etc/shadow,/etc/group,/etc/gshadow,/etc/inittab,处理以上内容后吧chattr、lsattr改名为oldboy,转移走,这样就安全多了。
    13. 清空/etc/isuue、/etc/issue.net,去除系统及内核版本登录前的屏幕显示。
      1 >/etc/issue
      2 >/etc/issue.net
      3 cat /etc/issue
      4 cat /etc/issue.net
    14. 清楚多余的系统虚拟用户账号。
    15. 为grub引导菜单加密码。
    16. 禁止主机被ping。
    17. 打补丁并升级已知漏洞的软件。
  • 相关阅读:
    LeetCode偶尔一题 —— 617. 合并二叉树
    《剑指offer》 —— 链表中倒数第k个节点
    《剑指offer》 —— 青蛙跳台阶问题
    《剑指offer》—— 二维数组中的查找
    《剑指offer》—— 替换空格
    《剑指offer》—— 合并两个排序的链表
    《剑指offer》—— 礼物的最大价值
    生成Nuget 源代码包来重用你的Asp.net MVC代码
    Pro ASP.Net Core MVC 6th 第四章
    Pro ASP.NET Core MVC 6th 第三章
  • 原文地址:https://www.cnblogs.com/Go-Spurs-Go/p/8046135.html
Copyright © 2011-2022 走看看