Linux系统安装后的优化配置

一、常用系统工具包

工具包名称包含的核心命令备注
treetree,以树形结构层级显示文件和目录目录间的关系
nmapnmap ,端口扫描的工具扫描指定域名或主机的端口等
lrzsz包括上传(rz)、下载(sz)文件的工具
nc文件传输、端口检查工具
lsof反查端口进程,以及服务开发文件工具
wget网络下载工具类似下载工具
tcpdump网络抓包、监听,排错工具
htop系统进程相关信息查看
iftop查看主机网卡带宽信息
sysstatsar、iostat等系统性能分析工具性能优化
nethogs显示进程的网络流量进程流量分析
psmisc含有killall、pstree等进程管理
net-toolsifconfig、route、netstat、arp等命令网络管理命令
bash-completion、bash-completion-extrastab 补全工具bash的自动补全
vim-wnhancedvim编辑器工具支持vim
  1. 查找killall 命令对应的工具包的方法
    [root@localhost ~]# rpm -qf `which killall`
    psmisc-22.20-15.el7.x86_64
    

2.查找net-tools 工具包对应于那些命令:

rpm -ql net-tools
[root@localhost ~]# rpm -ql iproute | grep /[,s]bin/
/usr/sbin/arpd
/usr/sbin/bridge
/usr/sbin/cbq
/usr/sbin/ctstat
/usr/sbin/devlink
/usr/sbin/genl
/usr/sbin/ifcfg
/usr/sbin/ifstat
/usr/sbin/ip

二、系统基础优化:优化防火墙、SELinux

我们的服务器大多是处于内部局域网,互联网是无法正常访问和实施网络攻击,安全一般都交由专门的网络安全硬设备(网络防火墙、反向代理、DMZ区),为了避免不必要的安全策略影响系统服务的性能,可以关闭系统这些安全设置。

  1. 关闭SElinux:

    [root@localhost ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config  #修改SELINUX 配置文件
    [root@localhost ~]# cat /etc/selinux/config #查看修改后的结果
    # This file controls the state of SELinux on the system.
    # SELINUX= can take one of these three values:
    #     enforcing - SELinux security policy is enforced.
    #     permissive - SELinux prints warnings instead of enforcing.
    #     disabled - No SELinux policy is loaded.
    SELINUX=disabled
    # SELINUXTYPE= can take one of three values:
    #     targeted - Targeted processes are protected,
    #     minimum - Modification of targeted policy. Only selected processes are protected.
    #     mls - Multi Level Security protection.
    SELINUXTYPE=targeted
    
  2. 关闭临时SElinux

    [root@localhost ~]# getenforce  #查看当前状态
    Enforcing
    [root@localhost ~]# setenforce 0 && getenforce #关闭临时SElinux并查看状态
    Permissive
    
  3. 关闭firewall

    [root@localhost ~]# systemctl disable firewalld.service
    Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
    Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
    [root@localhost ~]# systemctl stop firewalld.service  #
    [root@localhost ~]# systemctl status firewalld.service
    ● firewalld.service - firewalld - dynamic firewall daemon
       Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
       Active: inactive (dead) since Mon 2020-03-23 20:41:58 CST; 13s ago
         Docs: man:firewalld(1)
    
  4. 设置系统字符集

    # 设置系统中文UTF8 字符集
    [root@localhost ~]# cat /etc/locale.conf
    LANG="en_US.UTF-8"	
    [root@localhost etc]# localectl set-locale LANG="zh_CN.UTF-8"  # 设置字符集
    

三、提升命令行操作安全性

[root@localhost etc]# echo 'export TMOUT=300' >> /etc/profile
[root@localhost etc]# echo 'export HISTSIZE=5' >> /etc/profile
[root@localhost etc]# echo 'export HISTFILESIZE=5' >> /etc/profile
[root@localhost etc]# tail -3 /etc/profile
export TMOUT=300   #<== 设置会话超时时间为300秒
export HISTSIZE=5   #<== 命令行历史记录保留5个
export HISTFILESIZE=5   #<== 历史记录文件保留5个

四、调整文件描述符

程序的进程启动会占用服务器描述符,避免影响程序的启动。

ulimit -SHn  xxx #临时加大文件描述符命令,重启系统或重新登录系统后需要重新设置
# 永久生效,需要重新进入系统查看配置文件是否生效
[root@localhost etc]# echo '*   -  nofile 65535'>>/etc/security/limits.conf
[root@localhost etc]# cat /etc/security/limits.conf
ulimit -SHn  65535 
ulimit -n  # 查看配置结果
[root@localhost etc]# ulimit -n 123456
[root@localhost etc]# ulimit -n
123456

五、优化系统内核

利用相应内核参数值的优化,从而影响系统的安全性、稳定性、高效性。

[root@localhost etc]# vim /etc/sysctl.conf
[root@localhost etc]# sysctl -p
net.ipv4.tcp_fin_timeout = 2  #表示如果套接字由本端要求关闭,这个参数决定了它保持在FIN-WAIT-2状态的时间。
net.ipv4.tcp_tw_reuse = 1    #表示开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接
net.ipv4.tcp_tw_recycle = 1  #表示开启TCP连接中TIME-WAIT sockets的快速回收
net.ipv4.tcp_syncookies = 1  #当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击
sysctl: cannot stat /proc/sys/net/ipv4/tcp_kepalive_time: No such file or directory
net.ipv4.ip_local_port_range = 4000    65000  # 表示用于向外连接的端口范围
sysctl: cannot stat /proc/sys/net/ipv4/tcp_max_syn_baklog: No such file or directory
net.ipv4.tcp_max_tw_buckets = 3600 #表示系统同时保持TIME_WAIT套接字的最大数量,如果超过这个数字,TIME_WAIT套接字将立刻被清除并打印警告信息
net.ipv4.route.gc_timeout = 100
net.ipv4.tcp_syn_retries = 1  对于一个新建连接,内核要发送多少个 SYN 连接请求才决定放弃,不应该大于255,默认值是5,对应于180秒左右时间
net.ipv4.tcp_synack_retries = 1
net.core.somaxconn = 16384
net.core.netdev_max_backlog = 16384 ##优化网络设备接收队列 
net.ipv4.tcp_max_orphans = 16384

六、禁止用户ping 服务器

[root@localhost ~]# echo "net.ipv4.icmp_echo_ignore_all=1" >>/etc/sysctl.conf
[root@localhost ~]# sysctl -p

七、锁定关键系统文件优化

系统账号文件、启动文件添加隐藏权限防止用户篡改;

[root@localhost ~]# chattr +i /etc/{passwd,shadow,group}
[root@localhost ~]# lsattr /etc/{passwd,shadow,group}
----i----------- /etc/passwd
----i----------- /etc/shadow
----i----------- /etc/group
[root@localhost ~]# chattr +i /etc/{inittab,fstab,sudoers}
[root@localhost ~]# lsattr /etc/{inittab,fstab,sudoers}
----i----------- /etc/inittab
----i----------- /etc/fstab
----i----------- /etc/sudoers

八、为GRUB增加密码

默认,用户可以随意进入GRUB引导界面,会给系统安全带来隐患;如用户通过grub引导进入单用户模式,进行root密码破解,为防止隐患,可以为grub增加GRUB密码,提高系统的安全性。

[root@localhost ~]# grub2-setpassword
Enter password:
Confirm password:
[root@localhost ~]# cat /boot/grub2/user.cfg
GRUB2_PASSWORD=grub.pbkdf2.sha512.10000.1050FACC778B4BFA4F15B160CDBD51C0EAF679E6B502B46F1478E5B776E764E64F7DB1C9FBAC0BEF9689DAFF8C1B898A62CEF3FAB7298BA315CC696EDD96511E.94981DFB19B5F087515B19F155F73E0D7200F9CF7FA6AA491C2B9595616DA0B3AC9587EC0A421CA5BEE54A7141FE486EACB36E47962E14D9492E084E021404B9

九、修改时区

[root@docker ~]# ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
[root@docker ~]# date
Sat May 20 04:48:58 CST 2020
[root@docker ~]# date -s '2020-06-19 17:10'
Fri May 19 17:10:00 CST 2020
[root@docker ~]# date
Fri May 19 17:10:02 CST 2020

参考
Changing The Time Zone In Linux (Command Line)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值