Linux优化和安全加固

#关闭selinx
#临时关闭(不用重启机器):
setenforce 0

#修改配置文件需要重启机器:
修改/etc/selinux/config 文件
将SELINUX=enforcing改为SELINUX=disabled,需重启
#更改yum源
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum install -y epel-release
#让用户密码永不过期
cat >>/etc/login.defs<<EOF
PASS_MAX_DAYS   99999
PASS_MIN_DAYS   0 
PASS_MIN_LEN    5
PASS_WARN_AGE   7
EOF
#为危险的rm命令做别名

echo "alias rm='echo Do not use the rm command'" >>/etc/bashrc   中间内容自定义
source /etc/bashrc
#如要恢复别名 修改/etc/bashrc
#同步系统时间

#创建/etc/sysconfig/clock文件
cat >>/etc/sysconfig/clock <<EOF
ZONE="Asia/Shanghai"
UTC=false
ARC=false
EOF

#强制让其与/etc/localtime文件进行软链接
ln -sf /usr/share/zoneinfo/Asia/Shanghai    /etc/localtime

# 让其与阿里云的时间服务器进行同步一次
ntpdate ntp1.aliyun.com

# 设置硬件时间和系统时间一致并校准
/sbin/hwclock --systohc 
hwclock --show

再使用date查看当前时间
#ssh服务优化

#更改firewalld防火墙的ssh服务的端口为900
sed -i 's#22#921#g' /usr/lib/firewalld/services/ssh.xml
# ssh服务的优化如下
cat >>/etc/ssh/sshd_config<<EOF
Port 921
PermitRootLogin no
PermitEmptyPasswords no
UseDNS no
GSSAPIAuthentication no
EOF

systemctl restart sshd.service

linux安全加固

创建用户

adduser   jjy          ---创建用户
passwd jjy             ---为用户编辑密码
#赋予sudo权限

vim /etc/sudoers
root    ALL=(ALL)       ALL
jjy  ALL=(ALL)       ALL      #需要在root下面添加
修改后wq!   需要添加!号
#禁止root远程登录

vim /etc/ssh/sshd_config 
PermitRootLogin yes      (将yes修改为no禁止root远程登录)     

service sshd restart
#只允许特定用户登录

vim /etc/ssh/sshd_config
AllowUsers lyshark admin          # 指定允许登录的用户
AllowGroup lyshark admin         # 指定允许登录的用户组

service sshd restart
#锁定文件

chattr +i /sbin/
chattr +i /usr/sbin/
chattr +i /bin/
chattr +i /sbin/
chattr +i /usr/lib
chattr +i /usr/lib64
chattr +i /usr/libexec

#需要恢复使用 chattr -i /sbin/
#加固日志文件,防止被删除

cd /var/log/
chattr +a dmesg cron lastlog messages secure wtmp
#使dmesg cron lastlog messages secure wtmp这些文件只可追加不可删除

lsattr dmesg    (查看权限)
#使用rm -rf也删不掉
#记录用户登录后退出所有的操作记录
vim /etc/profile
#最后添加
history
 USER=`whoami`
 USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`
 if [ "$USER_IP" = "" ]; then
 USER_IP=`hostname`
 fi
 if [ ! -d /var/log/history ]; then
 mkdir /var/log/history
 chmod 777 /var/log/history
 fi
 if [ ! -d /var/log/history/${LOGNAME} ]; then
 mkdir /var/log/history/${LOGNAME}
 chmod 300 /var/log/history/${LOGNAME}
 fi
 export HISTSIZE=4096
 DT=`date +"%Y%m%d_%H:%M:%S"`
 export HISTFILE="/var/log/history/${LOGNAME}/${USER}@${USER_IP}_$DT"
 chmod 600 /var/log/history/${LOGNAME}/*history* 2>/dev/null



source /etc/profile  (加载配置)
#日志记录放在/var/log/history文件位置可以更改
#ssh加固
vim   /etc/hosts.allow
sshd:192.168.1.1
sshd:192.168.2.

#sshd:192.168.1.1是允许单个ip进行SSH访问,sshd:192.168.2.是允许ip段内的所有ip进行SSH访问。
#用户

usermod -G groupname username
#将用户添加到用户组

chgrp gourp 123.txt
#修改123文件的属组

chmod -R g+rw 123
 #为123目录组权限添加为读写