访次: AmazingCounters.com 次

1inux系统优化及安全设置

1inux系统优化及安全设置

linux系统基础优化小结:
1、调整yum安装源
2、关闭selinux
3、关闭iptables
4、精简开机自启动服务
5、配置时间同步
6、内核调整
7、调整字符集
8、调整历史记录以及终端超时
9、增加用户,使用普通用户登录。
10、调整文件描述符
11、锁定关键文件
12、隐藏系统登录信息,设置提示信息。
13、更改默认的远程连接SSH服务端口,禁止root用户远程连接,甚至要更改SSH服务只监听内网IP。
14、定时自动清理邮件临时目录垃圾文件,防止磁盘的inodes数被小文件占满
15、为grub引导菜单加密码。
16、禁止主机被ping。
17、打补丁并升级有已知漏洞的软件。

 

一、 增加用户,使用普通用户登录

1.管理系统前先查linux系统版本,内核等信息

cat   /etc/redhat-release  查系统版本信息

uname -r 内核的版本

uname-m 32位还是64

uname-a 显示所有

uname-n 显示主机名

2. useradd    SXL 添加用户账号

tail -l  /etc/passwd 查看生成的记录

3.passwd  SXL  设置,修改密码    只输passwd 当前用户

echo一条命令改密码

 

4.su - SXL  root用户切换到普通用户

su   su -  的区别  老师的博客

5.whoami  查看用户名

6.hostname  显示设置主机名  设置主机名可以用hostname名字(临时生效)

$ 是普通用户的提示符  #root用户的提示符

二、 调整yum安装源

使用阿里云做yum(软件仓库)源    查找

先备份然后执行命令

1.阿里云备份#mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
命令#wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
2.#mv /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.backup
#mv /etc/yum.repos.d/epel-testing.repo /etc/yum.repos.d/epel-testing.repo.backup
#
#wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
#yum makecache

常用yum安装的软件

#yum -y install tree nmap sysstat lrzsz dos2unix telnet
先装这两个:yum install -y tree lrzsz 

.yum grouplist   补丁,查看可能批量安装的列表

[root@oldgirl ~]# yum groupinstall "NFS file server" "Guest Agents" -y  打补丁,装没有的包

给系统更新到最新版 yum updateyum upgrade   已有生产应用的系统,升级要慎重,新的可以更新,

一切生产的应用变更的时候,都要先在测试环境下测试好,测试环境要和正式环境,尽可能软件方面一模一样。

关闭selinux(强制访问控制

1种方法,查看,然后vi进入编辑状态,将SELINUX改为disabied,保存生效

 

2种方法,用sed ,修改配置文件,使其永久生效,如果数据重要可以先cp备份

 

修改好要使配置文件生效

setenforce  0 (用于命令管理级别,数字表示设置对应的级别),不用立刻重启系统生产环境下linux系统不能随意重启

getenforce 查看SElinux当前级别状态

四、关闭iptables防火墙

企业环境中一般只有配置外网的iplinux服务器才需要开启防火墙但即使有外网IP,高并发高流量的服务器仍然不能开启防火墙,开启后会有较大的性能损失,影响速度,这种情况下只能装硬件防火墙。

1.

start 开启防火墙让他现在运行。关闭时重复执行,确认关闭。

查看状态:[root@oldgirl ~]# /etc/init.d/iptables status
iptables: Firewall is not running.

 

2.以后都不在开启

 

查询chkconfig --list|grep ipt ,确认关闭

五、设定运行级别

linux 一共七个运行级别

查看运行级别:

关机

单用户状态,root权限用于系统维护禁止远程登录

没有NFS的多用户模式

完整的多用户模式登录后进入控制台命令行模式

保留的,系统没有使用

带桌面的模式 X11平台

重启

runlevel 查看当前运行级别

init     切换运行级别

 

六、配置时间同步

linux时间同步为ntp服务

date  查看设置时间   which ntpdate 查找地址    

 

设置时间同步

[root@oldboy ~]# echo '#time sync by oldboy at 2010-2-1' >>/var/spool/cron/root

[root@oldboy ~]# echo '*/5 * * * * /usr/sbin/ntpdate time.nist.gov >/dev/null 2>&1' >>/var/spool/cron/root

[root@oldboy ~]# tail -2 /var/spool/cron/root

#time sync by oldboy at 2010-2-1

*/5 * * * * /usr/sbin/ntpdate time.nist.gov >/dev/null 2>&1

[root@oldboy ~]# crontab -l

#time sync by oldboy at 2010-2-1

*/5 * * * * /usr/sbin/ntpdate time.nist.gov >/dev/null 2>&1

查询crontab -1

七、调整字符集

简单的说,字符集就是一套文字符号及其编码。目前Linux下常用的字符集有:

q GBK:定长,双字节,不是国际标准,支持的系统不少,实际企业用的不多。

q UTF-8:非定长,1~4字节,广泛支持,MYSQL也使用UTF-8,企业广泛使用

1.永久生效

2.临时的

[root@oldboy ~]# cat /etc/sysconfig/i18n
#LANG="en_US.UTF-8"
LANG="zh_CN.UTF-8"
SYSFONT="latarcyrheb-sun16"
[root@oldboy ~]# echo $LANG
en
[root@oldboy ~]# source /etc/sysconfig/i18n
[root@oldboy ~]# echo $LANG                
zh_CN.UTF-8

 

八、调整历史记录以及终端超时

1.临时生效:

1)设置账号超时时间:export TMOUT=3  #3秒之后,没有任何输入,则自动退出。提示:timed out waiting for input: auto-logout
2)设置命令行:      export HISTSIZE=5     

#history size命令行历史记录数量  
3)命令行命令对应的历史记录文件:export HISTFILESIZE=5          

记录文件中命令数 ~/.bash_history

查看cat  ~/.bash_history

2.永久生效:

例如echo ‘export TMOUT=3 ’>>/etc/profile

      tail  -1  /etc/profile(查看显示最后一行)

      source   /etc/profile(配置文件永久生效)

3. history 历史记录    history  -c 清空历史记录   -d  指定记录清空

九、调整文件描述符数量

查看文件描述符 ulimit  -n    有限范围0到无限大

 

 

十、内核调整优化

cat /etc/sysctl.conf

内核基础优化:cat >>/etc/sysctl.conf<<EOF

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

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

sysctl -p

十一、隐藏系统登录信息,设置提示信息

 

隐藏内核版本提示

[root@oldboy ~]# > /etc/issue  

[root@oldboy ~]# cat /etc/issue

[root@oldboy ~]# > /etc/issue.net

想要提示 例如:

vim编写,设置提示信息

[root@oldboy ~]# echo "Welcome to oldboy training." >/etc/motd

[root@oldboy ~]# cat /etc/motd

Welcome to oldboy training.

十二、锁定关键系统文件,防止被提权篡改锁定 

chattr 更改文件属性-i  -a

1.上锁:chattr +i /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab

查看:
lsattr /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab

解锁-i

2.想要更安全:

可以把chattr改名转移。mv /usr/bin/chattr /usr/bin/oldboy1

解锁时需用oldboy1 -i /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab

十三、精简开机自启动服务

必要保留的开启自启动服务五个:

sshd  rsysiog  network  crond  sysstart

chkconfig --list #列出所有的系统服务

法一:ntsysv ,窗口设置

setup命令   system  service

查看:chkconfig --list|grep 3:on

2.操作命令chkconfig --list|grep 3:on|grep -vE “sshd |rsysiog |network |crond |ysstart

|awk  '{print " chkconfig " "$1" off "}'|bash

 

十四、定时自动清理邮件临时目录垃圾文件,防止磁盘的inodes数被小文件占满

 

十五、清除多余的系统虚拟账号

十六、为Grup引导菜单加密码

十七、禁止主机被ping

二八、打补丁并升级有已知漏洞的软件

十九、linux系统安全最小化说明

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

 

              

 

##重要路径

运维思想最小化原则

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

2、开机启动服务最下化,即无用的服务不开启。

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

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

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

6、Linux系统文件目录的权限设置最小化,禁止随意创建、更改、删除文件

7、程序服务运行最小化,即程序服务运行应尽量不用root身份运行

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

网络状态说明及优化命令和优化细节参考资料请看:

http://yangrong.blog.51cto.com/6945369/1321594 ç老男孩教育的优秀学生博文

http://oldboy.blog.51cto.com/2561410/1336488

posted @   IT老登  阅读(177)  评论(0编辑  收藏  举报
(评论功能已被禁用)
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
访次: AmazingCounters.com 次
点击右上角即可分享
微信分享提示