资讯专栏INFORMATION COLUMN

Linux 系统安全应用

eechen / 2807人阅读

摘要:文章目录一基本安全实施二系统引导和登录控制三弱口令检测,端口扫描一基本安全实施锁定用户及锁定文件锁定账户锁定账户查看账户状态解锁账户扩展参数也可以实现锁定解锁账户锁定文件锁定,文件后就相当于禁止创建用户。

一、基本安全实施

1、锁定用户及锁定文件

1)锁定账户

[root@test-t1 ~]# usermod -L list       //锁定账户      -L, --lock[root@test-t1 ~]# passwd -S list        //查看账户状态   -S, --statuslist LK 2021-10-08 0 99999 7 -1 (Password locked.)[root@test-t1 ~]# usermod -U list      //解锁账户       -U, --unlock[root@test-t1 ~]# passwd -S list list PS 2021-10-08 0 99999 7 -1 (Password set, SHA512 crypt.)

扩展: passwd参数 也可以实现锁定、解锁账户

passwd -l list -l, --lock
passwd -u list -u, --unlock

2)锁定文件

锁定/etc/passwd,/etc/passwd文件后 就相当于禁止创建用户。

[root@test-t1 ~]# chattr +i /etc/passwd    //锁定文件[root@test-t1 ~]# lsattr /etc/passwd      //查看文件状态----i----------- /etc/passwd[root@test-t1 ~]# useradd zhangsan-t1  //创建用户测试 useradd: cannot open /etc/passwd[root@test-t1 ~]# chattr -i /etc/passwd   //解锁文件[root@test-t1 ~]# lsattr /etc/passwd---------------- /etc/passwd

2、安全密码控制

1)设置密码有效期

# 1、针对新用户[root@localhost ~]# vim /etc/login.defs       PASS_MAX_DAYS   7   //设置密码有效期为7天//# 2、针对已有用户[root@test-t1 ~]# chage -M 77 lisi  //设置密码有效期为7天[root@test-t1 ~]# tail /etc/shadow  //验证

2)设置下次登录时重新更改密码否则将拒绝登录

[root@test-t1 ~]# chage -d 0 lisi

3、历史命令、自动注销

1) 修改历史命令条数

bash终端环境中,历史命令的记录由变量HISTSIZE控制,默认为1000条,可以更改/etc/profile文件内容设置历史命令条数。

[root@test-t1 ~]# vim /etc/profileHISTSIZE=500                       //修改为500条历史命令[root@test-t1 ~]# source /etc/profile

2)历史命令清空

[root@test-t1 ~]# vim ~/.bash_logout history -c clear[root@test-t1 ~]# source ~/.bash_logout[root@test-t1 ~]#  >~/.bash_history 

3)设置超时时间

闲置超时由变量TMOUT来控制,默认单位为秒(s),更改/etc/profile文件设置

[root@test-t1 ~]# vim /etc/profile    //针对新用户export TMOUT=600                      //600秒无人操作自动注销终端

4、用户切换

设置个别用户使用su命令

借助pam—wheel认证模块,只允许个别用户使用su命令,修改/etc/pam.d/su启用pam—wheel即可! 开启后只有wheel组中用户可以使用su命令

[root@test-t1 ~]# vim /etc/pam.d/suauth            required        pam_wheel.so use_uid  //去掉前面#号# 测试zhangsan用户是否可以使用su命令[root@test-t1 ~]# su zhangsan[zhangsan@test-t1 root]$ su rootPassword: su: Permission denied  //权限拒绝 没有su权限#将zhangsan加入到wheel组中 再进行测试[root@test-t1 ~]# usermod -g wheel zhangsan[root@test-t1 ~]# id zhangsanuid=1001(zhangsan) gid=10(wheel) groups=10(wheel)

5、提权sudo命令
使用sudo命令前需要加上sudo
sudo命令允许使用通配符"*",取反符"!"

配置文件在/etc/sudoers中,或者使用visudo命令打开 建议使用后者 授权格式为:

user  MACHINE   COMMANDS
授权主要包括用户,主机,命令三个部分用户(user):直接授权指定用户名,或采用"%组名"的形式(授权组里所有用户)主机(MACHINE):使用此配置文件的主机名称,主要方便多个主机共用一份sudoers文件,一般设置localhost或者实际主机名即可命令(COMMANDS):填写命令程序的完整路径,多个以","逗号隔开
[root@test-t1 ~]# visudo.....zhangsan   ALL=(ALL)  ALL     //赋予所有权限%wheel ALL=NOPASSWD:ALL       //赋予wheel组所有权限,且不需要密码验证lisi ALL=NOPASSWD:/bin/echo,/bin/ls //赋予lisi账户使用echo,ls命令权限

启用sudo日志记录

root@test-t1 etc]# echo "Defaults logfile=/var/log/sudo" >> /etc/sudoers

如果启用日志可以从/var/log/sudo/文件中看到sudo的操作记录

[root@test-t1 ~]# tail /var/log/sudo

二、系统引导和登录控制

1、禁止快捷键重庆

[root@test-t1 etc]# ll /usr/lib/systemd/system/ctrl-alt-del.target //查看是链接文件lrwxrwxrwx. 1 root root 13 Sep 26 18:32 /usr/lib/systemd/system/ctrl-alt-del.target -> reboot.target[root@test-t1 etc]# systemctl mask ctrl-alt-del.target  //注销ctrl-alt-del.targetCreated symlink from /etc/systemd/system/ctrl-alt-del.target to /dev/null.[root@test-t1 etc]# systemctl daemon-reload //重新加载system配置

2、设置GRUB菜单密码
设置密码使用,grub2-mkpasswd-pbkdf2命令生成,生成密码后存放在/etc/grub.d/00_header配置文件中。

[root@test-t1 ~]# grub2-mkpasswd-pbkdf2 输入口令:    //设置密码Reenter password: PBKDF2 hash of your password is grub.pbkdf2.sha512.10000.37B241BE7B9B7AA1FE3631633F2B9FACF0C68133C8D53DF1BCDFA029A5E75B6031D99736281F45EDE65737D4145719C4A18D4F26948C9B85F1C3EE1F6DDECA5C.21F50377A7E3D5BD8C60C5FD580C48A3518AEF747E21A7D0449C9F0B5EC589FB50B8EA0D531279B7C78A15C1867D70F68E1A7BA1B8E59BACDE77CDC1F96B465A[root@test-t1 ~]# cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg.bak   //备份[root@test-t1 ~]# cp /etc/grub.d/00_header /etc/grub.d/00_header.bak  //备份[root@test-t1 ~]# vim /etc/grub.d/00_header  //把经加密后的字符串添加至文件末尾cat << EOFset superusers="root"    //用户设置为rootpassword_pbkdf2 root  grub.pbkdf2.sha512.10000.C93C6375BA50060DB5D5906ECDBFC79A13DC90A78A049DD792CEA7B6666B1A1418330809DD9FA89B06A5AA21C8B5259D7DB10EC993CF5F97AEE6E4D04CAA6396.C9E9900D29F7705087F2AEDF0F7F4E192000ADB9FD2569DC13A80B3ACB9F60644D283ECA6EE1A99AC994A2B039956D130CE7E5893A9D69FCCD398C8DEBDA12A0EOF[root@test-t1 ~]# grub2-mkconfig -o /boot/grub2/grub.cfg  //生成新grub.cf的文件

验证:-e 需要输入密码才可以进入GRUB菜单。


3、终端控制登入
1)禁止root远程登入

[root@test-t1 ~]# vim /etc/securetty #tty5   //禁止root在5,6终端登录#tty6

2)禁止普通用户登录 (有些版本可能无效)
禁止新的用户登录到系统,login程序会检查/etc/noloin文件是否存,如果存在将禁止新的用户登录到系统。

[root@test-t1 ~]# touch /etc/noloin

三、弱口令检测,端口扫描

1、弱口令检测

源码包下载 提取码:6666
john the ripper是一款开源软件的密码破解工具,能够在已知密文中分析出明文密码字串,支持多种加密算法。

1)编译安装john
解压后可以看到三个文件分别为doc(手册文档),run(运行程序),src(源码文件)

[root@test-t1 local]# tar zxf john-1.8.0.tar.gz [root@test-t1 local]# cd john-1.8.0/[root@test-t1 john-1.8.0]# cd src/[root@test-t1 src]# make clean linux-x86-64

2)弱口令检测

[root@test-t1 ~]# cp /etc/shadow /root/shadow.txt    //zhe[root@test-t1 ~]# cd /usr/local/john-1.8.0/run/[root@test-t1 run]# ./john /root/shadow.txtLoaded 3 password hashes with 3 different salts (crypt, generic crypt(3) [?/64])Press "q" or Ctrl-C to abort, almost any other key for stat123456           (root)     //结果  这里故意设置弱口令,复杂点的密码几乎是不会备检测出来的。123              (lisi)    //结果 # 查看已破解账户列表[root@localhost run]# ./john --show /root/shadow.txt   root:123456::0:99999:7::: lisi:123::0:99999:7:::2 password hashes cracked, 1 left

3)使用密码字典文件

对于暴力密码破解来说密码词典很关键,john the ripper默认提供的字典文件为password.lst,其中列出3000个常见的弱口令,用户可在字典里文件中加上更多密码组合(生日,等)更容易破解密码,当然也可以自己编写字典,下面演示就是自己编写字典为dict1.txt

[root@test-t1 run]# >john.pot [root@test-t1 run]# vim dict1.txt [root@test-t1 run]# ./john --wordlist=aaa.txt /root/shadow.txt Loaded 4 password hashes with 4 different salts (crypt, generic crypt(3) [?/64])fopen: aaa.txt: No such file or directory[root@test-t1 run]# ./john --wordlist=dict1.txt /root/shadow.txt Loaded 4 password hashes with 4 different salts (crypt, generic crypt(3) [?/64])Press "q" or Ctrl-C to abort, almost any other key for status111              (zhangsan)111              (lisi)111              (test)123.com          (root)4g 0:00:00:00 100% 66.66g/s 100.0p/s 400.0c/s 400.0C/s 123.comUse the "--show" option to display all of the cracked passwords reliablySession completed

注意: --wordlist=后面跟词典名称,可以使用自带字典,也可以自己编写字典

2、端口扫描
1)安装nmap

[root@test-t1 ~]# yum -y install nmap

2)语法参数选项

nmap [扫描类型] [选项] <扫描目标>常有选项:-p:指定端口-n:不解析DNS-sS,TCP SYN 扫描(半开扫描):只想目标发出SYN数据包,如果收到SYN/ACK响应包就认为目录端口正在监听,并立即断开;否则认为目标端口未开放。-sT,TCP连接扫描:这是完整的TCP扫描方式,用来建立一个TCP连接,如果成功则认为目标端口正在监听服务,否则认为目录端口未开放。-sF,TCP FIN扫描:开放端口会忽略这种数据包,关闭的端口会回应RST数据包。许多防火墙只对SYN数据包进行简单过滤,而忽略了其他形式的TCP攻击包。这种类型的扫描可间接检测防火墙的健壮性。-sU,UDP扫描:探测目标主机提供哪些UDP服务,UDP扫描的速度会比较慢。-sP,ICMP扫描:类似于ping检测,快速判断目标主机是否存活,不做其他扫描。-pO,跳过ping检测:这种方式认为所有的目标主句是存活的,当对方不响应ICMP请求时,使用这种方式可用避免因无法ping通而放弃扫描。
# 1、扫描tcp端口[root@test-t1 ~]# nmap 127.0.0.1Starting Nmap 6.40 ( http://nmap.org ) at 2021-10-09 22:31 CSTNmap scan report for localhost (127.0.0.1)Host is up (0.000016s latency).Not shown: 998 closed portsPORT   STATE SERVICE22/tcp open  ssh25/tcp open  smtpNmap done: 1 IP address (1 host up) scanned in 1.84 seconds
# 2、扫描UDP端口[root@test-t1 ~]# nmap -sU 127.0.0.1Starting Nmap 6.40 ( http://nmap.org ) at 2021-10-09 22:32 CST
# 3、检查192.168.1.0/24段中那些提供ftp服务 -p 指定端口[root@test-t1 ~]# nmap -p 21 192.168.1.0/24Starting Nmap 6.40 ( http://nmap.org ) at 2021-10-09 22:39 CSTNmap scan report for 192.168.1.77Host is up (0.00085s latency).PORT   STATE    SERVICE21/tcp filtered ftpMAC Address: 00:50:56:C0:00:08 (VMware)Nmap scan report for 192.168.1.254Host is up (-0.10s latency).PORT   STATE    SERVICE21/tcp filtered ftpMAC Address: 00:50:56:E5:40:0F (VMware)Nmap scan report for 192.168.1.66Host is up (-13s latency).PORT   STATE SERVICE21/tcp open  ftp   //open 这个是开启状态!
# 4、检查192.168.1.0/24段哪些存活主机[root@test-t1 ~]# nmap -n -sP 192.168.1.0/24Starting Nmap 6.40 ( http://nmap.org ) at 2021-10-09 22:37 CSTNmap scan report for 192.168.1.77Host is up (0.0010s latency).MAC Address: 00:50:56:C0:00:08 (VMware)Nmap scan report for 192.168.1.254Host is up (-0.10s latency).MAC Address: 00:50:56:ED:1B:87 (VMware)Nmap scan report for 192.168.1.66Host is up.
# 5、检查192.168.1.100-200有哪些开启文件共享服务[root@test-t1 ~]# nmap -p 139,445 192.168.1.100-200Starting Nmap 6.40 ( http://nmap.org ) at 2021-10-09 22:47 CST

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/122079.html

相关文章

  • Linux基金会启动ELISA项目赋能Linux安全关键系统中使用

    摘要:安全关键应用程序和系统的失败可能导致人命损失,重大财产损失或环境破坏。支持成员对与其系统相关的关键组件进行事故和危险监控,并为成员响应团队建立最佳实践。 showImg(https://segmentfault.com/img/bVbpaKy?w=1000&h=394); Arm、BMW Car IT GmbH、KUKA、Linutronix和Toyota加入ELISA项目,推动交通、...

    mgckid 评论0 收藏0
  • Linux基金会启动ELISA项目赋能Linux安全关键系统中使用

    摘要:安全关键应用程序和系统的失败可能导致人命损失,重大财产损失或环境破坏。支持成员对与其系统相关的关键组件进行事故和危险监控,并为成员响应团队建立最佳实践。 showImg(https://segmentfault.com/img/bVbpaKy?w=1000&h=394); Arm、BMW Car IT GmbH、KUKA、Linutronix和Toyota加入ELISA项目,推动交通、...

    xiaodao 评论0 收藏0
  • CIP宣布推出新的超长期支持Kernel,推动自动化、机器学习和人工智能

    摘要:新内核扩展了对位的架构支持,使开发者能够在各种用例中使用它,包括楼宇自动化机器学习和人工智能。和大会日期会议日程通告日期年月日会议活动举办日期年月至日和赞助方案和多元化奖学金现正接受申请和即将首次合体落地中国和购票窗口,立即购票 作者:maemalynn 新的CIP SLTS Kernel扩展了支持架构以包含ARM64 showImg(https://segmentfault.com/...

    Jacendfeng 评论0 收藏0
  • CIP宣布推出新的超长期支持Kernel,推动自动化、机器学习和人工智能

    摘要:新内核扩展了对位的架构支持,使开发者能够在各种用例中使用它,包括楼宇自动化机器学习和人工智能。和大会日期会议日程通告日期年月日会议活动举办日期年月至日和赞助方案和多元化奖学金现正接受申请和即将首次合体落地中国和购票窗口,立即购票 作者:maemalynn 新的CIP SLTS Kernel扩展了支持架构以包含ARM64 showImg(https://segmentfault.com/...

    chemzqm 评论0 收藏0
  • 数人云|20种终极工具,为你的Docker搭建安全防火墙

    摘要:为容器设计的商业安全套件,功能包括安全审计容器镜像验证运行时保护自动策略学习或入侵预防。基于一种称为的新内核技术,允许根据容器身份定义并执行网络层和层安全策略。自动发现应用程序容器和服务的行为,以及与其他类似方式检测安全升级和其他威胁。 数人云:随着越来越多的企业将生产工作负载迁移到容器当中,关于Docker的安全性,成了普遍关注的问题。 这是一个简单却又没有答案的问题,不要试图用二进...

    jlanglang 评论0 收藏0
  • Linux下常用安全策略设置的六个方法

    摘要:安全第一对于管理界乃至计算机也都是一个首要考虑的问题。如果没有人能通机器并收到响应,那么就可以大大增强服务器的安全性,下可以执行如下设置,禁止请求默认情况下的值为,表示响应操作。接着设置不允许登录的机器,也就是配置文件了。 安全第一对于linux管理界乃至计算机也都是一个首要考虑的问题。加密的安全性依赖于密码本身而非算法!而且,此处说到的安全是指数据的完整性,由此,数据的认证安全和完整...

    Godtoy 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<