Linux安装后基本优化思路

查看系统环境

[[email protected] ~]# cat /etc/redhat-release
CentOS release 6.6 (Final)
[[email protected] ~]# uname –a
Linux xuliangwei.com 2.6.32-504.el6.x86_64 #1 SMP Wed Oct 15 04:27:16 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

1.精简开机系统

保留5个必须:sshd|rsyslog|network|crond|sysstat

sshd

远程连接Linux服务器时需要用到这个服务器程序,所以必须要开启,否则将无法连接Linux服务器。

rsyslog

是操作系统提供的一种机制,系统的守护程序通常会使用rsyslog将各种信息记录系统日志文件中,Centos6以前服务器的名字为syslog

network

系统启动时,若想激活/关闭各个网络接口,则应(必须)考虑开启。

crond

该服务用于周期性地执行系统及用户配置的任务计划。有要周期性执行的任务,任要开启,此服务几乎是生产场景必须要用的一个软件。

sysstat

sysstat是一个软件包,包含检测系统性能及效率的一组工具,这些工具对于系统性能数据很有帮助,比如CPU使用率,硬盘和网络吞吐数据等,这些数据的分析,有利于判断系统运行是否正常,所以它是提高系统运行效率、安全运行服务器的助手。

sysstat软件包集成的主要工具为:

iostat 工具提供CPU使用率及硬盘吞吐效率的数据;

mpstat 工具提供与单个或多个处理器相关的数据;

sar 工具负责收集、报告并存储系统活跃的信息;

其他不用开机自启动的处理方法:

1). setup-->SystemServices-->取消*表示关闭

2)netsysv-->取消*表示关闭

3)使用chkconfig进行关闭

chkconfig name off

使用for循环,配合awk清理不需要开机自启动服务

for i in `chkconfig --list | awk ‘{print $1}‘ | grep -Ev "sshd|network|rsyslog|sysstat|crond"`; do chkconfig $i off; done
chkconfig --list |grep 3:on |awk ‘{print $1}‘|grep -Ev "crond|network|rsyslog|sshd|sysstat" |sed -r ‘s/(.*)/chkconfig \1 off /g‘ |bash

2.Linux最小化安装

运维思想最小化原则

2.1、安装Linux系统最小化,即选包最小化,yum安装软件包也要最小化,无用的包不装。

2.2、操作命令最小化。例如:用rm -f text.txt 而不用rm -rf

2.3、登录Linux用户最小化。平时没有需求不用root登录,用普通用户登录即可。

2.4、普通用户授权权限最小化,即只给必须的管理系统的命令。

2.5、Linux系统文件及目录的权限设置最小化,禁止随意创建、更改、删除。(理论上禁止)

3.SSH优化

配置文件

/etc/ssh/sshd_config 服务端

/etc/ssh/ssh_config 客户端

Port 52113 修改端口52113

UseDNS yes 修改为No 会反向查询客户端主机名,进行验证,防止客户端欺骗

PermitRootlogin  no 禁止root登录

GSSAPIAuthentication  yes 取消,打开NO 解决Linux之间使用ssh连接慢的问题

PermitEmpasswords no 禁止使用空密码(默认为空)

ListenAddress 192.168.1.x 只运行服务器上的内网地址来进行远程连接,外网地址直接拒绝,可以用Vpn做跳板进入局域网,通过这样来访问,更加的安全

配置文件修改

######xuliangwei######
Port 52113
UseDNS no
PermitRootlogin no
GSSAPIAuthentication no
######20150627######

可以使用sed来进行添加

[[email protected] ~]# sed -ir ‘12 iPort 52113\nUseDNS no\nPermitRootlogin no\nGSSAPIAuthentication no‘ /etc/ssh/sshd_config

4.其他优化

4.0中文乱码

客户端连接工具也必须是UTF-8

临时生效

export LANG=en_US.UTF-8

永久生效

vim /etc/sysconfig/i18n
更改 LANG="en_US.UTF-8"

4.1时间同步

时间服务器

time.nist.gov
time.windows.com

手动修改时间

date -s "2015/05/28 12:00"

ntpdate定时和互联网时间同步

echo "*/5 * * * * ntpdate time.windows.com >/dev/null 2>&1"

服务器在50-100台之间可以搭建时间同步服务器ntpserver

4.2优化历史记录

history 查看历史记录 默认100条

参数:

-c:清空历史记录

-d:指定删除一行

export HISISIZE=5(控制终端)

HISTFILESIZE=5 (控制用户家目录下的记录)

[[email protected] ~]# HISTFILESIZE=5
 [[email protected] ~]# cat ~/.bash_history 
Test
Welcome to xuliangwei Linux
EOF
exit
[[email protected] ~]#

清空历史记录终端

[[email protected] ~]# history -c
[[email protected] ~]# history 
  734  history

4.3终端超时

临时生效

[[email protected] ~]# export TMOUT=300ms

永久生效

echo "export TMOUT=300ms" >> /etc/profile

4.4加大文件描述符

每个进程启动都会占用文件描述符,如果过文件描述符,会导致进程无法启动

查看默认文件描述符

ulinit -n

参数:

-S:软

-H:硬

调整文件描述符

临时生效

ulimit -SHn 65535

永久生效

echo "* - nofile 65535" >>/etc/security/limits.conf

4.5锁定系统关系文件

锁定文件系统

[[email protected] ~]# chattr +i /etc/passwd /etc/shadow /etc/gshadow /etc/inittab

查看锁定文件

[[email protected] ~]# lsattr  /etc/passwd /etc/shadow /etc/gshadow /etc/inittab 
----i--------e- /etc/passwd
----i--------e- /etc/shadow
----i--------e- /etc/gshadow
----i--------e- /etc/inittab

解除锁定

[[email protected] ~]# chattr -i /etc/passwd /etc/shadow /etc/gshadow /etc/inittab

再次查看

[[email protected] ~]# lsattr  /etc/passwd /etc/shadow /etc/gshadow /etc/inittab 
-------------e- /etc/passwd
-------------e- /etc/shadow
-------------e- /etc/gshadow
-------------e- /etc/inittab

4.6禁止Linux被ping

禁止Linux被ping会增加系统安全

echo "net.ipv4.icmp_echo_ignore_all=1">>/etc/sysctl.conf

使其生效

sysctl -p

工作中不会这样禁止,一般使用防火墙来过滤

4.7调整yum源

由于默认的yum源是从centos官网下载会很慢,调整为国内的速度会快很多。

备份yum源

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.xuliangwei.20150629

CentOS 5源

[[email protected] ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-5.repo

CentOS6源

[[email protected] ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
CentOS 7源
[[email protected] ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

4.8隐藏Linux版本号

[[email protected] ~]# >/etc/issue
[[email protected] ~]# >/etc/issue     = cat > /dev/null /etc/issue

编辑/etc/motd (设置登录提示信息)

[[email protected]t ~]# cat >> /etc/motd << EOF
> Welcome to xuliangwei Linux
> EOF

4.9为grub添加密码

[[email protected] ~]# /sbin/grub-md5-crypt 
Password: 
Retype password: 
$1$gaVDJ$90LqgR4wtA/.9KFEaFw7F/

编辑 /etc/grub.conf

将密码添加至,title和splashimage之间。

5.定时清理邮件服务临时目录垃圾文件

CentOS5 系列的系统会默认安装sendmail服务,因此邮件临时存放地点的径

/var/spool/clientmqueue/

CentOS6 默认情况下没有安装sendmail服务,而是改装了postfix服务,因此邮件存放地点的路径为

/var/spool/postfix/maildrop/

以上两个目录很容易被垃圾文件填满导致系统的inode数量不够用,从而导致无法存放文件。

手动清理方法如下:

[[email protected] ~]#find /var/spool/clientmqueue/ -type f | xargs rm -f

适合CentOS5的sendmail服务

[[email protected] ~]#find /var/spool/postfix/maildrop/ -type f | xarfs rm -f

适合CentOS6的Postfix服务

定时清理方法为:将上述命令写成脚本,然后做定时任务,每天晚上0点执行一下。

6.关闭防火墙

6.1关闭iptables防火墙

学习一般关闭掉防火墙,如果生产环境在做调试

查看防火墙

[[email protected] ~]# iptables -L -n
Chain INPUT (policy ACCEPT)
target     prot opt source               destination 
Chain FORWARD (policy ACCEPT)
target     prot opt source               destination 
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

关闭防火墙

[[email protected] ~]# /etc/init.d/iptables stop
iptables: Setting chains to policy ACCEPT: filter           [  OK  ]
iptables: Flushing firewall rules:                         [  OK  ]
iptables: Unloading modules:                           [  OK  ]

6.2关闭SElinux防火墙

修改/etc/selinux/config

SELINUX=enforcing修改为SELINUX=disabled

使用sed替换关闭selinux

sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/g‘ /etc/selinux/config

临时关闭

getenforce 查看

setenforce 1.开启 0.permissive

7.Linux内核优化

这儿所列参数是老男孩老师生产中常用的参数:

把参数添加到/etc/sysctl.conf中,然后执行sysctl -p使参数生效,永久生效

net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_synack_retries = 1
net.ipv4.tcp_keepalive_time = 600
net.ipv4.tcp_keepalive_probes = 3
net.ipv4.tcp_keepalive_intvl =15
net.ipv4.tcp_retries2 = 5
net.ipv4.tcp_fin_timeout = 2
net.ipv4.tcp_max_tw_buckets = 36000
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_max_orphans = 32768
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 16384
net.ipv4.tcp_wmem = 8192 131072 16777216
net.ipv4.tcp_rmem = 32768 131072 16777216
net.ipv4.tcp_mem = 786432 1048576 1572864
net.ipv4.ip_local_port_range = 1024 65000
net.ipv4.ip_conntrack_max = 65536
net.ipv4.netfilter.ip_conntrack_max=65536
net.ipv4.netfilter.ip_conntrack_tcp_timeout_established=180
net.core.somaxconn = 16384
net.core.netdev_max_backlog = 16384

企业面试:Linux系统如何优化

Linux系统如何优化?

1.不用root管理,以普通用户的名义通过sudo授权管理。

2.更改默认的远程连接SSH服务端口,禁止root用户远程连接,甚至更改为只监听内网IP

3.

4.配置yum更新源,从国内更新源下载安装软件包。

5.关闭selinux及iptables(在工作场景中,如果有外部IP一般打开)

6.调整文件描述符的数量,进程及文件的打开都会消耗文件描述符。

7.定时自动清理邮件目录垃圾文件,防止inodes节点被沾满(注意centos5和centos6目录不同)

8.精简并保留必要的开机自启动服务(如crond、sshd、network、rsyslog、sysstat)

9.Linux内核参数优化/etc/sysctl.conf,执行sysctl -p 生效。

10.更改字符集,是其支持中文,但建议还是用英文字符集,防止出现乱码。

11.锁定关键系统文件如/etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab

处理以上内容后把chattr、lsattr改名为xuliangwei,这样就安全多了。

12.清空/etc/issue、/etc/issue.net,去除系统及内核版本登录前的信息。

13.清楚多余的系统虚拟账号。

14.位grub菜单加密码。

15.禁止被PING

16.升级漏洞软件

时间: 2024-10-09 12:09:00

Linux安装后基本优化思路的相关文章

CentOS最小安装后的优化

CentOS最小安装后的优化 添加了新服务器之后,下一步就是安装系统了.这里推荐使用CentOS系列,大家在用服务器时抱着一个原则:系统安装的应用程序包越少,服务器会越稳定,所以我们安装系统时尽量选择最小安装.至于服务器的单机性能优化,本周稳定安全的原则,尽量不要改动系统的原有的配置(CentOS自身的文件和内存机制就很优秀). 1.关闭不需要的服务 众所周知服务越少,系统占用的资源就会越少,所以应关闭不需要的服务. 建议关闭不需要的服务,这样做的好处是减少内存和CPU事件的占用.命令如下所示:

Centos 6.4 x86_64 最小化安装后的优化

Centos 6.4 x86_64 最小化安装后的优化 购买了服务器以后要做的第一件事就是安装操作系统了,这里推荐安装 Centos 6.4 x86_64,安装系统时要选择最小化安装(不需要图形),在使用服务器时要记住一个原则,系统安装的应用程序包越少,服务器就会越稳定.至于服务器单机性能调优,应本着稳定安全的原则,尽量不要改动系统原有的配置(Cetnos系统自身的文件和内存机制就很优秀),以下配置优化部分也适合Amazon Linux系统,大家可以对比参考. 系统的基础优化 1.更新yum官方

linux安装tomcat及优化

Tomcat支持三种接收请求的处理方式:BIO.NIO.APR 1>.BIO模式:阻塞式I/O操作,表示Tomcat使用的是传统JavaI/O操作(即Java.io包及其子包).Tomcat7以下版本默认情况下是以bio模式运行的,由于每个请求都要创建一个线程来处理,线程开销较大,不能处理高并发的场景,在三种模式中性能也最低.启动tomcat看到如下日志,表示使用的是BIO模式: 2>.NIO模式:是Java SE 1.4及后续版本提供的一种新的I/O操作方式(即java.nio包及其子包).

linux系统安装后的优化

本人初学linux运维,在观看oldboy视频教程后,对学习到的知识进行总结,知识内容均出自oldboy视频教程. ########################################################################### 1.添加用户.在企业产品环境下,应尽量避免直接到root用户下操作. 添加用户:useradd oldboy  oldboy是自己取的用户名 设置用户密码:passwd oldboy(交互式设置)或echo "*******&quo

linux安装及简单优化

(一)安装Linux 进入安装界面时按ESC boot=linux text  //安装时候输入\文本安装模式 skip---ok---语言选择"ok"---ok---选择初始化所有"Re-initialize all"---选择"Asia/shanghai"ok---输入密码"ok"(如密码复杂度不够,提示请选择"Use Anyway")---选择"Use entire drive"然

CentOS 5.8最小化安装后的优化

添置了新服务器以后,下一步就要安装系统了.这里推荐用CentOS 5.8 x86_64,大家在用服务器时抱着一个原则:系统安装的应用程序包越少,服务器会越稳定,所以我们安装系统时尽量选择最小化安装.至于服务器的单机性能调优,本着稳定安全的原则,尽量不要改动系统原有的配置(CentOS自身的文件和内存机制就很优秀). 关闭不需要的服务众所周知服务越少,系统占用的资源就会越少,所以应关闭不需要的服务.建议关闭不需要的服务,这样做的好处是减少内存和CPU时间的占用.命令如下所示:# ntsysv 下面

Linux安装后,需保留哪些自启动服务?

和Windows系统一样,Linux服务器运行过程中也会一些没用的软件服务默认运行,这些占用了很多系统资源,也会有安全隐患,所以一般是建议关闭的.那么,工作中Linux主机到底需要有哪些开机自启动服务呢? 新装Linux系统之后,有必要保留的开机自启动服务有5个: ? sshd:远程连接Linux服务器时要用到,所以必须开启,不然就无法提供远程连接服务了. ? rsyslog:日志相关软件,这是操作系统提供的一种机制,系统的守护程序通常会使用rsyslog程序将各种信息写到各个系统日志文件中.

centos7安装后的优化

涉及内容: 1.DNS 2.网络yum源 3.epel源 4.同步时间 5.安装vim 6.设置最大打开文件描述符数 7.禁用selinux 8.关闭防火墙 9.优化ssh连接速度 10.内核参数优化 11.设置vim退格键删除最后一个字符类型 12.更新内核 脚本如下: #!/bin/bash #author yundd by #this script is only for CentOS 7.x #check the OS platform=`uname -i` if [ $platform

kali linux安装后简单配置Adobe Flash Player - browser plugin

在使用两天BT5后发现还是kali好用啊!就又安装了kali,按照自己的习惯进行了简单的配置. 1.安装flash,首先去"软件包"里面,搜索flash,安装 Adobe Flash Player - browser plugin 完事后发现并没有什么卵用,再去flash官网下, 下完后打开终端,并切换到下载文件所在目录,执行以下命令: tar xzvf install_flash_player_11_linux.x86_64.tar.gz 进入解压出来的文件夹,找到libflashp