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版权协议,转载请附上原文出处链接和本声明。