当前位置:首页 » 好文分享 » 详情

    Linux 基础优化与安全归纳总结

    一名运维工程师在运维岗位上时间久了,就会发现 Linux 优化的重要性,同时会给运维工作带来很多的便利性。本人逐渐认识到了这一点,所以特意在工作闲暇之余,通过阅读 Linux 相关书籍及向同事、同行高手咨询,针对 Linux 系统的一些基本优化做了如下归纳总结,如有不足之处,还望大伙补充完善。

    本文主要描述一些基本的系统优化知识点,并未涉及 Linux 深化优化,关于 Linux 的深化优化知识本人后期会更新。

    第一点:Linux 的管理尽量不用 root 用户,利用 sudo 命令来控制普通用户对系统的管理

    新建一个用户,使用 sudo 命令添加权限,详细操作步骤如下:

    (1)添加新的用户:useradd 新的用户名

    (2)检查是否已成功添加:id 新的用户名

    (3)设置该用户的密码:echo 123321|passwd –stdin 新的用户名

    接下来需将新的用户添加管理员权限,这个新的用户就相当于管理员

    (4)备份之前的权限文件:\cp /etc/sudoers{,.back}

    (5)将新的用户添加管理员权限:

    echo “新的用户名 ALL=(ALL) NOPASSWD: ALL ” >> /etc/sudoers

    (6)检查是否已成功添加:tail -1 /etc/sudoers

    (7)配置生效:visudo -c

    待以上操作完毕,那么此时的新的用户权限等同于 root 用户。
    第二点:更改默认的远程连接 SSH 服务端口

    (1)修改配置文件/etc/ssh/sshd_config

    Port 22,改为 Port 52113(范围 0——65535);##默认端口为 22

    ListenAddress 0.0.0.0,改为 ListenAddress 内网 IP 地址;##监听内网 ip 地址

    PermitRootLogion yes,改为 PermitRootLogion no;##root 用户远程连接)

    (2)重启生效:/etc/init.d/sshd reload

    (3)查看端口状态:netstat -l ntup|grep sshd
    第三点:定时自动更新服务器时间,使其和互联网时间同步

    (1)配置

    echo ‘#time sync by 新的用户名 at 2019-04-01’ >> /var/spool/cron/root

    echo ‘/5 /usr/sbin/ntpdate ntp1.aliyun.com >/dev/null 2>&1’ >> /var/spool/cron/root

    ###每 5 分钟执行一次同步

    ###至于以哪个时间服务器为基准,以下地址可自己选择:

    ntp1.aliyun.com

    ntp2.aliyun.com

    ntp3.aliyun.com

    ntp4.aliyun.com

    ntp5.aliyun.com

    ntp6.aliyun.com

    ntp7.aliyun.com

    (2)查看是否已更新:crontab -l

    (3)最后备份下:\cp /var/spool/cron/root{,.back}
    第四点:配置 yum 配置源

    (1)创建备份文件存放目录

    Mkdir -p /etc/yum.repos.d/{default,back}

    (2)备份所有默认的配置文件

    \mv /etc/yum.repos.d/repo/etc/yum.repos.d/default

    (3)从阿里云获取 yum 源

    wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo

    (4)备份 yum 源

    \cp /etc/yum.repos.d/CentOS-Base.repo/etc/yum.repos.d/default
    第五点:关闭 selinux 及 iptables

    (1)关闭 iptables:/etc/init.d/iptables stop

    (2)检查是否已关闭:/etc/init.d/iptables status

    (3)设置开机不自动启动:chkconfig iptables off

    (4)确认配置:chkconfig –list iptables

    (5)关闭 selinux:

    sed -i “s#SELINUX=enforcing#SELINUX=disabled#g” /etc/selinux/config

    (6)查看并确认配置:cat /etc/selinux/config

    备注:永久生效,需要重启计算机。(在工作场景中,如果有外部 IP 一般要打开 iptables)
    第六点:适当调整文件描述符的数量

    鉴于进程及文件的打开都会消耗文件描述符,所以在运维过程中我们要调整下文件描述符的数量,表示形式为整数数字(0——65535)。

    查看默认文件描述符:ulimit–n###一般默认为 1024

    在/etc/sercurity/limits.conf 里面配置:

    echo ‘* – nofile 65535’ >>/etc/security/limits.conf

    tail-1/etc/security/limits.conf
    第七点:定时自动清理邮件目录垃圾文件

    防止 inodes 节点被占满。
    第八点:精简并保留必要的开机自启动服务

    (1)只保留重要的基础服务,其余全部关闭

    chkconfig –list|egrep -v “sysstat|crond|sshd|network|rsyslog”|awk ‘{print “chkconfig “$1,”off”}’|bash

    (2)确认配置:chkconfig –list|grep 3:on
    第九点:优化 Linux 内核参数

    (1)配置文件/etc/sysctl.conf,添加如下命令(可直接复制粘贴)

    cat >>/etc/sysctl.conf<

    net.ipv4.tcp_fin_timeout=2

    net.ipv4.tcp_tw_reuse=1

    net.ipv4.tcp_tw_recycle=1

    net.ipv4.tcp_syncookies=1

    net.ipv4.tcp_keepalive_time=600

    net.ipv4.ip_local_port_range=4000 65000

    net.ipv4.tcp_max_syn_backlog=16384

    net.ipv4.tcp_max_tw_buckets=36000

    net.ipv4.route.gc_timeout=100

    net.ipv4.tcp_syn_retries=1

    net.ipv4.tcp_synack_retries=1

    net.core.somaxconn=16384

    net.core.netdev_max_backlog=16384

    net.ipv4.tcp_max_orphans=16384

    以下参数是对 iptables 防火墙的优化,防火墙关闭的情况下会提示,可以略过提示。

    net.nf_conntrack_max=25000000

    net.netfilter.nf_conntrack_max=25000000

    net.netfilter.nf_conntrack_tcp_timeout_established=180

    net.netfilter.nf_conntrack_tcp_timeout_time_wait=120

    net.netfilter.nf_conntrack_tcp_timeout_close_wait=60

    net.netfilter.nf_conntrack_tcp_timeout_fin_wait=120

    EOF

    (2)配置生效命令:sysctl -p
    第十点:配置字符集

    (1)查看配置文件:cat /etc/sysconfig/i18n

    里面默认应该有以下 2 行内容:

    LANG=”en_US.UTF-8″###默认提示为英文

    (2)先备份配置文件:cp /etc/sysconfig/i18n{,.back}

    (3)修改配置文件:

    说明:此项可将字符集修改为中文,也可不做修改。

    echo ‘LANG=”zn_CN.UTF-8″‘ > /etc/sysconfig/i18n

    echo ‘SYSFONT=”latarcyrheb-sun16″‘ >> /etc/sysconfig/i18n

    (4)配置生效:source /etc/sysconfig/i18n

    (5)确认配置是否成功:echo $LANG
    第十一点:锁定关键性系统文件,防止被篡改

    配置命令:

    chattr +i /etc/{passwd,shadow,group,gshadow}

    lsattr -a /etc/{passwd,shadow,group,gshadow}

    解除锁定命令:chattr -i
    第十二点:禁止系统被 ping

    配置命令:echo “net.ipv4.icmp_echo_ignore_all=1” >> /etc/sysctl.conf

    配置生效命令:sysctl -p
    第十三点:升级漏洞软件

    查看相关软件的版本号:rpm-qa openssl openssh bash

    执行升级:yum install openssl openssh bash
    第十四点:优化 SSH 远程连接

    (1)先备份配置文件:cp /etc/ssh/sshd_config{,.back}

    (2)编辑 ssh 服务配置文件

    编辑 ssh 服务的配置文件(vim/etc/ssh/sshd_config),在第 12 行下面添加如下内容:

    Port 52113 #使用大于 10000 的端口号

    PermitRootLogin no #禁止 root 远程登录

    PermitEmptyPasswords no #禁止空密码登录

    UseDNS no #不使用 dns 解析

    GSSAPIAuthentication no #连接慢的解决配置

    (3)确认配置:grep-A 5-i ‘Start by 新的用户名’ /etc/ssh/sshd_config

    (4)重启 ssh 服务:/etc/init.d/sshd restart

    (5)确认配置是否成功:netstat -l ntup | grep ssh

    以上关于 Linux 系统的基础优化,由于本人能力及知识点有限,总结归纳的不够全面,还请大家多参考 Linux 工具书,如《Linux 就该这么学》等及同行高手。
    打赏
    X
    打赏方式:
    • 支付宝
    • 微信
    • QQ红包

    打开支付宝扫一扫
    日期:2019年05月06日 14:59:23 星期一   分类:好文分享   浏览(28384)
    本文地址:https://www.blogs.hk/post-4402.html   [百度已收录]
    声明:本页信息由网友自行发布或来源于网络,真实性、合法性由发布人负责,请仔细甄别!本站只为传递信息,我们不做任何双方证明,也不承担任何法律责任。文章内容若侵犯你的权益,请联系本站删除!
    版权所有:《博客之家
    文章标题:《Linux 基础优化与安全归纳总结
    除非注明,文章均为 《博客之家》 原创
    转载请注明本文短网址:https://www.blogs.hk/post-4402.html  [生成短网址]

    留言咨询

    自动获取QQ

    昵称

    邮箱

    网址

        站点统计

        • 收录网址:3370 个
        • 发布文章:3008 条
        • 在线人数:1人
        • 总访问量:270519117次
        • 本站运行:12年5月3天
        Copyright © 2025 博客之家 版权所有  
        關於本站免責聲明sitemap新站登錄