Linux系统安全与防护基本操作

Linux系统安全与防护基本操作

     登陆操作系统基本操作

1.远程登陆

 1.1下载安装安全软件
 1.2取消Telnet登陆,采用ssh方式并更改ssh服务端远程登陆配置
        (Telnet登陆协议是明文不加密不安全,所以采用更安全的SSH协议
        更改SSH服务端远程登陆相关配置)
修改默认文件路径
vim /etc/ssh/sshd_config

修改的参数
port           #端口
PermitEmptyPasswords      #是否允许密码为空的用户远程登录
PermitRootLogin           #是否允许root登录
UseDNS                    #指定sshd是否应该对远程主机名进行反向解析,以检查主机名是    否与其IP地址真实对应。默认yes.建议改成no ,否则可能会导致SSH连接很慢。
GSSAPIAuthentication no   #解决linux之间使用SSH远程连接慢的问题
ListenAddress             #监听指定的IP地址

批量操作:
sed -ir '13 iPort 55666\nPermitRootLogin  no\nPermitEmptyPasswords         no\nUseDNS no\nGSSAPIAuthentication no'  /etc/ssh/sshd_config

2.搭建堡垒机(审计型)

 堡垒机基本功能包括:
     1)身份认证、资源授权、审计 ,账号管理。
     2)集成了Ansible,批量命令等 
     3)自动收集硬件信息 
     4)命令操作录像回放 
     5)实时监控系统状态、安全事件、网络操作活动。
     6)精细审计 

3.检查系统日志

       你的系统日志告诉你在系统上发生了什么活动,包括攻击者是否成功进入或试着访问系统。时刻保持警惕,这是你第一条防线,而经常性地监控系统日志就是为了守好这道防线。

4.关闭selinux

SELinux是一种内核强制访问控制安全系统,不了解其原理的不建议开启。

查看linux系统selinux是否启用,如果开启就去配置文件关闭

  复制代码
  [root@172.16.5.55:~]$ getenforce
  Disabled
  [root@172.16.0.55:~]$ cat /etc/sysconfig/selinux 
 /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 - SELinux is fully disabled.
SELINUX=disabled
/SELINUXTYPE= type of policy in use. Possible values are:
/targeted - Only targeted network daemons are protected.
/strict - Full SELinux protection.
SELINUXTYPE=targeted

5.打内核补丁

       没有任何系统没有bug及绝对安全,linux也是,多打内核补丁,增强内核的安全性。

6.禁用危险命令

 rm -rf 命令 
 dd if=/dev/random of=/dev/sda 

dd命令会擦掉/dev/sda下面的内容,然后写入随机的垃圾数据,产生数据污染。

7.账号安全控制:

 清除不必要的系统用户
grep "/sbin/nologin$" /etc/passwd          #查询系统用户, 用于确定不需要的系统用户进行删除操作
usermod -L lk              #锁定账号     usermod -L  [用户名]         #被锁定的账号将无法登陆
passwd -S lk              #查看账号状态      passwd -S [用户名]

cat /etc/shadow | grep "lk"             #usermod -L 实际上就是更改了shadow文件 在加密字符串前面加了个 !号
lk:!$6$JftROYOl$PT/AbwqD4nJEdYx5Z3a0QZ2IP0d10AS/X6TV4JzP0QOjNWv5ZtfhyLkb7wrh4oLS5kqVD.95hTl1vNpdHH3zi.:18724:0:99999:7:::
   `-`
usermod -U lk                                  #解锁账号
chattr +i /etc/passwd /etc/shadow             #锁定文件, 只能读取 无法进行修改和添加     等操作  通过锁定用户认证文件使其无法创建用户并更改密码
lsattr /etc/passwd /etc/shadow                          #查看文件锁定状态   该状态为锁定状态
----i----------- /etc/passwd
----i----------- /etc/shadow
 chattr -i /etc/passwd /etc/shadow                       #解锁文件
 lsattr /etc/passwd /etc/shadow                          #查看解锁文件状态                
---------------- /etc/passwd
 ---------------- /etc/shadow

8.设置密码策略

vim /etc/login.defs                      #编辑普通用户密码策略文件
#
PASS_MAX_DAYS   99999                     #密码使用最大天数
PASS_MIN_DAYS   0                         #密码使用最小天数
PASS_MIN_LEN    5                         #密码最小长度
PASS_WARN_AGE   7                         #密码最后期限警告时间         最后7天警告

chage -M 30 lk                            #对指定用户生效密码策略文件 chage -M 30  [用户名]
chage -d 0 lk                             #指定用户登陆时立即修改密码

9.限制命令记录历史命令history长度及超时注销

vim   /etc/profile             #修改配置文件用于限制命令历史  
HISTSIZE=200                   #设置命令历史最多记录200条

vim ~/.bash_logout            #修改配置文件档用户退出已登录bash环境后自动清空历史命令
history -c
clear
vim /etc/profile              #修改配置文件  设置 长时间不操作自动注销
export  TMOUT=600             #指定超时时间  600秒

10.用户切换与提权:

   vim /etc/pam.d/su                             #修改配置文件,将下列字段前面的#号去掉,  作用:使普通用户无法使用su  - root 切换至root用户
auth            sufficient      pam_rootok.so
 auth           required        pam_wheel.so use_uid
[lk@localhost /]$ su - root                  #使用普通用户 su - root  无法切换
Password: 
su: Permission denied
 gpasswd -a  lk wheel                    #将指定用户加入wheel组  即可 使用su - root

visudo         #修改sudo配置文件用于基于用户使用sudo提权命令时的权限操  作
lk localhost=/sbin/*               #用户名   设备=命令路径   给予lk用户所有管理员权限
lk  ALL=(ALL)   NOPASSWD: ALL                     #使用sudo命令操作时不用输入密码
defaults logfile = "/var/log/sudo"                #开启日志审计
tail /var/log/sudo                                #会记录用户使用sudo的所有操作
Apr  7 07:43:27 : lk : TTY=pts/2 ; PWD=/ ; USER=root ; COMMAND=/sbin/route -n
default

11.禁止Ctrl+Alt+Del快捷键重启:

cat  /etc/inittab             #查看快捷键指令文件位置
#Ctrl-Alt-Delete is handled by   /usr/lib/systemd/system/ctrl-alt-del.target           
  ll /usr/lib/systemd/system/ctrl-alt-del.target                 #查看 该文件软链接
systemctl mask ctrl-alt-del.target                            #注销该快捷键服务
systemctl daemon-reload                 #重读配置文件

12.限制更改grub引导参数(设置grub菜单密码):

1. grub2-mkpasswd-pbkdf2                      #根据提示指定密码
Enter password: 
Reenter password: 
PBKDF2 hash of your password is 
 grub.pbkdf2.sha512.10000.E97824A3981D8F8A3CBAC3F1BB057020BE97E55BDD312FA357EA9D90DCECC1317AAEC5536340AF12FB0C4F4C9AF569C1D31BF8337E65F49B925E8A5DA3B87CAE.38AFB537A4E1C0239B4F7AFCAB011FD14ABDDBCE53A9D4BA174D23DF1717C4D83F3235EFD29536D7CB2278529744F8C7A7E3A0DCCA36F005361C62EA1749298D
2. cp /boot/grub2/grub.cfg  /boot/grub2/grub.cfg.bak                    #备份grub配置文件
     cp /etc/grub.d/00_header  /etc/grub.d/00_header.bak           #备份引导文件
3. vim /etc/grub.d/00_header        #编辑配置文件将前面生成的字符串根据配合下面的命令添加进去
 cat << EOF
set superusers="root"
password_pbkdf2 root 
 grub.pbkdf2.sha512.10000.E97824A3981D8F8A3CBAC3F1BB057020BE9 7E55BDD312FA357EA9D90DCECC1317AAEC5536340AF12FB0C4F4C9AF569C1D31BF8337E65F49B925E8A5DA3B87CAE.38AFB537A4E1C0239B4F7AFCAB011FD14ABDDBCE53A9D4BA174D23DF1717C4D83F3235EFD29536D7CB2278529744F8C7A7E3A0DCCA36F005361C62EA1749298D
4.  grub2-mkconfig -o /boot/grub2/grub.cfg         #生成新的grub.cfg 文件

13.终端及登陆控制:

  禁止root用户登陆
vim /etc/securetty    #修改配置文件
#console                     #注释掉指定终端即可禁止root用户使用该终端进行登陆
vc/1
#tty1
tty2
tty3
tty4

14.禁止普通用户登陆:

 touch /etc/nologin       #建立该文件即可禁止普通用户登陆,   因为login程序 会检查/etc/nologin文件是否存在,如果存在则拒绝普通用户登陆(root用户不受控制)

版权声明:本文为weixin_46930576原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。