LINUX 安全优化

1,不用root, 添加普通用户,通过sudo授权管理。

2,更改默认的远程连接SSH服务端口以及禁用root用户远程连接。

3,定时自动更新服务器时间

4,配置国内Yum源代码,从国内下载安装rpm包

5,关闭SELinux,iptables(iptables工作场景如果有使用,一般要打开端口)

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

7,定时自动清理/var/spool/elientmpqune/目录垃圾文件,防止inodes节点被占   满,如果没有sendmail,忽略即可。

8,精简开机自启动(crond, sshd, network, rsyslog (Centos5) syslog)

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

10,  更改字符集,支持中文,但是还是建议使用英文字符集,防止乱码问题。

11, 锁定关键的系统文件, charttr +i  /etc/passwd  /etc/shadow /etc/group /etc/gshadow /etc/inittab

12, 清空 /etc/issue 去除系统内核版本在登录前的显示

1,sudo用户

----------------------------------------------------

# visodu == vi /etc/sudoers

# visudo 会自动检测命令

# oldboy  ALL=(ALL)  /user/sbin/useradd

# oldboy  ALL=(ALL)  NOPASSWD:ALL #使用时候不用输入密码

# sudo useradd  test  # 测试sudo

# sudo  su -  #切换到root

# sudo -l   #查看自己的权限

------------------------------------------------------

2,更改默认的远程连接SSH服务端口以及禁用root用户远程连接。

------------------------------------------------------

# 切记 确保已经创建其他用户,否则root不能登录以后,就在也连接不上了。

# cd /etc/ssh/

# cp sshd_config sshd_config.bak  #一定要备份

# vi  sshd_config

# 在配置文件的顶层加上以下代码

Port 52113               #→ssh连接默认的端口,谁都知道,必须要改。

PermitRootLogin no       #→root用户黑客都知道的,禁止它远程登陆。

PermitEmptyPasswords no  #→禁止空密码登陆

UseDNS no                #→不使用DNS

GSSAPIAuthentication no  # 认证方式

# 重启sshd

# /etc/init.d/sshd restart

-------------------------------------------------------

3.时间自动同步

-------------------------------------------------------

# /usr/sbin/ntpdate time.nist.gov   #自动和时间服务器同步

# echo ‘*/5 * * * * /usr/sbin/ntpdate time.nist.gov >/dev/null 2>&1‘ >>/var/spool/cron/root     #添加时间自动同步

# crontab -l

--------------------------------------------------------

4,配置国内Yum源代码,从国内下载安装rpm包

-------------------------------------------------------

# 操作要备份

# cd /etc/yum.repos.d/

# /bin/mv CentOS-Base.repo CentOS-Base.repo.ori  # 备份

# wget http://mirrors.163.com/.help/CentOS6-Base-163.repo

# /bin/mv CentOS6-Base-163.repo CentOS-Base.repo

# yum upgrade 或 yum update

# yum install tree telnet dos2unix sys stat lrzsz -y

# rpm -qa | grep tree #查询安装是否成功

--------------------------------------------------------

5,关闭SELinux,iptables(iptables工作场景如果有使用,一般要打开端口)

-------------------------------------------------------

1)

直接编辑 vi /etc/selinux/config

直接替换 sed -i s#SELINUX=disable#SELINUX=disabled#g

检查  cat /etc/selinux/config

检查  grep SELINUX=disable /etc/selinux/config    SELINUX=disabled

2)

setenforce 0 #设置selinux

getenforce   #查看SELinux

------------------------------------------------------

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

------------------------------------------------------

# ulimit -HSn 65535  #设置文件描述符最大数

# ulimit -n   #查看是否生效

# 修改配置文件,Centos6.5用命令设置不生效,重启失效

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

# tail -1 /etc/security/limits.con

------------------------------------------------------

7,定时自动清理/var/spool/elientmpqune/目录垃圾文件,防止inodes节点被占   满,如果没有sendmail,忽略即可。

--------------------------------------------------

find /var/spool/clientmqueue -type f -print -exec rm -f {} \;

------------------------------------------------

8,精简开机自启动(crond, sshd, network, rsyslog (Centos5) syslog)

----------------------------------------------------------

sshd   OpenSSH服务器应考虑开启。

syslog       是操作系统提供一种机制,守护程序通常使用这些机制将各种信息写到各个系统日志文件 (必须)

rsyslog      CENTOS6.2系统日志rsyslog替换默认的日志服务syslog

network    激活/关闭启动时的各个网络接口 (必须)应考虑开启。

crond 周期地运行用户调度的任务。比起传统的unix版本添加了不少属性,而且更安全,配置更简单, 为Linux下自动安排的进程提供运行服务.

#  /sbin/chkconfig --list | grep 3:on  #查看在3级别下,启动的命令

# LANG=en

1)方法一

# for oldboy in `chkconfig --list|grep 3:on|awk ‘{print $1}‘`;do chkconfig --level 3 $oldboy off;done

# for oldboy in crond network rsyslog sshd ;do chkconfig --level 3 $oldboy on;done

2)方法二 一条命令

# for oldboy in `chkconfig --list|grep "3:on"|awk ‘{print $1}‘|grep -vE "crond|network|sshd|rsyslog"`;do chkconfig $oldboy off;done

# chkconfig --list|grep "3:on”  #检查命令

------------------------------------------------------

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

------------------------------------------------------

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

sysctl –p  #生效

-------------------------------------------------------

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

-------------------------------------------------------

# cat /etc/sysconfig/i18n

# sed -i ‘s#LANG="en_US.UTF-8"#LANG="zh_cn.gb2312"#g /etc/sysconfig/i18n  #替换字符集

# source /etc/sysconfig/i18n  # 让字符集生效

# echo $LANG

#  LANG=zh_CN.UTF-8

------------------------------------------------------

11. 锁定关键的系统文件, charttr +i  /etc/passwd  /etc/shadow /etc/group /etc/gshadow /etc/inittab

------------------------------------------------------

#chattr   +i   /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab   #加锁

#chattr   -i  /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab     #解锁

-------------------------------------------------------

12.清空 /etc/issue 去除系统内核版本在登录前的显示

-------------------------------------------------------

echo ‘‘ >  /etc/issue

---------------------------------------------------------

13 修改运行级别

---------------------------------------------------------

vi /etc/inittab  #启动命令行模式

sed s/id:5:initdefault:/id:3:initdefault:/ /etc/inittab

---------------------------------------------------------

14 修改防火墙

---------------------------------------------------------

/etc/init.d/iptables stop

--------------------------------------------------------

15、查看安装工具包

----------------------------------------------------------

yum grouplist:

Installed Groups:

Base

Compatibility libraries

Debugging Tools

Development tools

Dial-up Networking Support

Hardware monitoring utilities

Performance Tools

如果忘记选包,安装后可以按如下方式选包:

yum groupinstall "Compatibility libraries" "Base" "Development tools"

yum groupinstall "Performance Tools" "debugging Tools" "Dial-up Networking Support"

yum groupinstall "Base" "Development tools”

可以通过yum groupinfo 包组查看具体安装的组件。

----------------------------------------------------------

时间: 2024-10-07 21:16:17

LINUX 安全优化的相关文章

【系统知识点】linux基础&优化命令

Xshell上传下载服务器的文件: yum -y install lrzsz sysstat//安装对应软件 sz XXXX//下载 rz XXXX//上传 创建用户: Useradd vrfxie //创建用户 -c comment 指定一段注释性描述. -d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录. -g 用户组 指定用户所属的主用户组. -G 用户组,用户组 指定用户所属的附加组. -s Shell文件 指定用户的登录Shell. #可以设置为/sbin

[转]linux内核优化sysctl.conf参数优化

################### 所有rfc相关的选项都是默认启用的,因此网上的那些还自己写rfc支持的都可以扔掉了:) ############################### net.inet.ip.sourceroute=0 net.inet.ip.accept_sourceroute=0 ############################# 通过源路由,攻击者可以尝试到达内部IP地址 --包括RFC1918中的地址,所以 不接受源路由信息包可以防止你的内部网络被探测.

Linux 性能优化之 IO 子系统 系列 图

http://blog.sina.com.cn/s/articlelist_1029388674_11_1.html Linux 性能优化之 IO 子系统(一) 本文介绍了对 Linux IO 子系统性能进行优化时需要考虑的因素,以及一些 IO 性能检测工具. 本文的大部分内容来自 IBM Redbook - Linux Performance and Tuning Guidelines FileSystem VFS(Virtual FileSystem) 虚拟文件系统 文件系统是内核的功能,是

Linux性能优化和监控系列(一)——top工具

解释服务器发生了什么——top工具 在检查服务器的详细工作性能状态前,系统管理员需要对当前服务器状态有总体的了解. top是检查服务器总体状态的强有力工具, 通过top可以获取CPU, Memory, Process运行信息, 如下是运行top命令后的数据显示: top - 20:08:09 up 10 min,  1 user,  load average: 0.00, 0.02, 0.01 Tasks: 104 total,  1 running, 103 sleeping,  0 stop

linux运维、架构之路-linux基础优化

1.查看linux版本 cat /etc/redhat-release #CentOS release 6.9 (Final) ---->查看版本号 uname -m #x86_64 ---->查看系统64位/32位 uname -r #2.6.32-696.el6.x86_64 ------>内核版本 2.关闭selinux和iptables sed -i 's#=enforcing#=disabled#g' /etc/selinux/config setenforce 0 #----

linux io优化

场景:xml文件解析入库:并备份 问题:磁盘io异常,经常100%busy: linux io优化方法: 1.修改磁盘挂着参数,修改为writeback模式:对于文件读取频繁的可以设置noatime: 2.修改缓存写入磁盘时间 pdflush的行为受/proc/sys/vm中的参数的控制 /proc/sys/vm/dirty_writeback_centisecs (default 500): 1/100秒, 多长时间唤醒pdflush将缓存页数据写入硬盘.默认5秒唤醒2个(更多个)线程. 如果

Linux基本优化指南

有人看到这个标题的时候,心里一定在嘀咕"linux需要优化吗?".在回答这个问题之前,我先问个问题"何谓优化?",我的理念是,没有最优的,合适自己的才是更优的,把桌面背景调成自己喜欢的颜色,算不算优化呢? 我想上面两个问题都不用回答,如果你有兴趣,可以接着看下去. 这里要说的优化,主要指性能上的.优化是针对自己硬件,针对自己需求来做的,因此不存在适合所有人的优化方法.以我的机器为例,结合Ubuntu讲述. 加快启动速度 如果你常常使用大量的外设,比如说红外.蓝牙.打

linux服务优化

服务控制命令格式 Service  服务名称 控制类型 服务控制命令: Start启动 Stop停止 Restart重启 Reload重载 Status查看状态 优化开机自动加载的服务   Linux系统每次开机后都会进入默认运行级别,并运行该级别中默认设为启动的各种系统服务.如要禁止某些系统服务自动运行,可以使用ntsysv或者chkconfig工具进行优化. ntsysv工具   [*]表示启动 []表示关闭 如果想要知道所选定服务的说明信息,按F1可以获取帮助. chkconfig工具 c

linux的优化及基础优化

第1章 Linux优化1.已知/tmp下已经存在test.txt文件,如何执行命令才能把/mnt/test.txt拷贝到/tmp下覆盖掉/tmp/test.txt,而让系统不提示是否覆盖(root权限下). [[email protected] ~]# cp /mnt/test.txt /tmp/cp: overwrite `/tmp/test.txt'? 复制的时候不提示是否覆盖 #方法1 [[email protected] ~]# \cp /mnt/test.txt /tmp/ #方法2

Linux运维第七课----Linux基础优化

一.find找出文件,并替换文件内容[[email protected] ~/data]# find /root/data/ -type f -name '.txt' ./oldboy.txt./acheng.txt./magua.txt./op.txt1.方法一 [[email protected] ~/data]# find /root/data/ -type f -name '.txt' -exec sed -i 's#sh#hs#g'[[email protected] ~/data]#