• Linux系统安全及应用(1)


    目录

    一.账号安全控制

    系统账号清理

    二.密码安全控制

    密码安全控制

    三.命令历史限制

    命令历史限制

    四.限制su切换用户 

    1)将信任的用户加入到wheel组中    

    2)修改su的PAM认证配置文件        

    ​编辑五.PAM认证的构成

    六.使用sudo机制提升权限


    一.账号安全控制

    系统账号清理

    将非登录用户的Shell设为/sbin/nologin

    • usermod -s /sbin/nologin 用户名

    锁定长期不使用的账号

    • usermod-L用户名
    • passwd-S用户名
    • passwd-用户名

    删除无用的账号

    • userdel [-r]用户名

    锁定账号文件passwd、shadow

    • chattr +i/etc/passwd /etc/shadow
    • Isattr/etc/passwd /etc/shadow
    • chattr -i/etc/passwd /etc/shadow

    chattr + i [文件名]:锁定指定文件

    1. [root@localhost ~]# chattr +i /etc/passwd
    2. [root@localhost ~]# lsattr /etc/passwd
    3. ----i----------- /etc/passwd
    4. [root@localhost ~]# ll /etc/passwd
    5. -rw-r--r--. 1 root root 2498 4月 18 17:23 /etc/passwd
    6. [root@localhost ~]# echo 1111 >> /etc/passwd
    7. -bash: /etc/passwd: 权限不够
    8. [root@localhost ~]# chattr +i /etc/shadow
    9. [root@localhost ~]# useradd lisi
    10. useradd:无法打开 /etc/passwd
    11. [root@localhost ~]# echo 123123 | passwd --stdin lll
    12. 更改用户 lll 的密码 。
    13. passwd: 鉴定令牌操作错误
    14. [root@localhost ~]# userdel lll
    15. userdel:无法打开 /etc/passwd

    chattr - i [文件名]:解锁指定文件

    1. [root@localhost ~]# chattr -i /etc/passwd /etc/shadow
    2. [root@localhost ~]# lsattr /etc/passwd
    3. ---------------- /etc/passwd

    二.密码安全控制

    密码安全控制

    • 设置密码有效期
    • 要求用户下次登录时修改密码

    chage -M [密码有效期天数] [系统中已存在的用户名]

    修改系统中已经存在用户的密码有效期

    1. [root@localhost ~]# chage -M 35 lll
    2. [root@localhost ~]# tail /etc/shadow
    3. sshd:!!:19828::::::
    4. avahi:!!:19828::::::
    5. postfix:!!:19828::::::
    6. tcpdump:!!:19828::::::
    7. mwq:$6$aGtV0krLdkxMKXTH$9A0or5E3UuqGoZr2hPaRmtUuZcd7nvQI3ekvc7.oRkivND0PWTvYqDDIdT20e5yKZ/TTQ33jaz6niJRlIc4wA0::0:99999:7:::
    8. apache:!!:19828::::::
    9. lll:$6$bVkg0T15$1u4lwDuM7EcOuP5AC4lVMyR.NovwEAO8tkXg1uTDzNQkSvYPiBbhnL1J93YizfEcRWXUjy8RcYsfxzPEzfStM.:19831:0:35:7:::
    10. clr:$6$NLTnP.oX$opiHUXZuq.dpqHDy/51AbiUjXgjtIfIlmWfy2RdOJE1aZHD3gOWQjonfQwkImZBEdQAGfBaqeV0BS9OHy11HC1:19831:0:99999:7:::
    11. l:$6$hyydKWkw$DNXko82Ru8yXKNR4.pq6ZPonsgp.w2gvL1IEBTmyQhjvV13RVRre9FE7E5alHiVcFYJqwG8ncU3AQPnqwtPmb.:19831:0:99999:7:::
    12. abc:!!:19831:0:99999:7:::

    vim /etc/lpgin.desf→PASS_MAX_DAYS

    针对新用户

    1. [root@localhost ~]# useradd lgd
    2. [root@localhost ~]# vim /etc/login.defs

    chage -e 0 用户名  

    强制用户下一次登录修改密码

    1. [root@localhost ~]# useradd lgd2
    2. [root@localhost ~]# echo 123 | passwd --stdin lgd2
    3. 更改用户 lgd2 的密码 。
    4. passwd:所有的身份验证令牌已经成功更新。
    5. [root@localhost ~]# chage -d 0 lgd2
    6. [root@localhost ~]# tail /etc/shadow
    7. postfix:!!:19828::::::
    8. tcpdump:!!:19828::::::
    9. mwq:$6$aGtV0krLdkxMKXTH$9A0or5E3UuqGoZr2hPaRmtUuZcd7nvQI3ekvc7.oRkivND0PWTvYqDDIdT20e5yKZ/TTQ33jaz6niJRlIc4wA0::0:99999:7:::
    10. apache:!!:19828::::::
    11. lll:$6$bVkg0T15$1u4lwDuM7EcOuP5AC4lVMyR.NovwEAO8tkXg1uTDzNQkSvYPiBbhnL1J93YizfEcRWXUjy8RcYsfxzPEzfStM.:19831:0:35:7:::
    12. clr:$6$NLTnP.oX$opiHUXZuq.dpqHDy/51AbiUjXgjtIfIlmWfy2RdOJE1aZHD3gOWQjonfQwkImZBEdQAGfBaqeV0BS9OHy11HC1:19831:0:99999:7:::
    13. l:$6$hyydKWkw$DNXko82Ru8yXKNR4.pq6ZPonsgp.w2gvL1IEBTmyQhjvV13RVRre9FE7E5alHiVcFYJqwG8ncU3AQPnqwtPmb.:19831:0:99999:7:::
    14. abc:!!:19831:0:99999:7:::
    15. lgd:!!:19832:0:99999:7:::

    三.命令历史限制

    命令历史限制

    • 减少记录的命令条数
    • 登陆时自动清空命令历史

    history

    查看历史命令

    1. [root@localhost ~]# history
    2. 1 ifconfig
    3. 2 ifconfig ens33
    4. 3 vi ens33
    5. 4 vi /etc/sysconfig/network-scrip/ifcfg-ens33
    6. 5 ping baidu.com
    7. 6 ifconfig ens33
    8. 7 help ens33
    9. 8 help ip
    10. 9 man -k ens33
    11. 10 vi /etc/sysconfig/network-scripts/ifcfg-ens33
    12. 11 systemctl restart network
    13. 12 ping baidu.com
    14. 13 ipconfig ens33
    15. 14 ifconfig ens33
    16. 15 mount /dev/sr0 /mnt
    17. 16 mount /dev/sr0/ mnt
    18. 17 df
    19. 18 cd /boot
    20. 19 cd grub2/
    21. 20 ls
    22. 21 mount/dev/sr0 /mnt
    23. 22 mount/dev/sr0/ mnt
    24. 23 mount /dev/sr0/ mnt
    25. 24 mount /dev/sr0 /mnt
    26. 25 mount /dev/sr0/ mnt
    27. 26 df
    28. 27 mount /dev/sr0/ mnt
    29. 28 mount/dev/sr0/ mnt
    30. 29 mount/dev/sr0 /mnt
    31. 30 mount /dev/sr0 /mnt
    32. 31 df
    33. 32 cd /etc/yum.repo.d/
    34. 33 cd/etc/yum.repo.d/
    35. 34 cd /etc/yum.repos.d/
    36. 35 mkdir repo.bak
    37. 36 mv *.repo repo.bak
    38. 37 vim local.repo
    39. 38 yum clean all && yum makecache
    40. 39 yum install -y httpd
    41. 40 dd if=/dev/zero of=/dev/sda bs=446 count=1
    42. 41 init 6
    43. 42 fdsik /dev/sdb
    44. 43 fdisk /dev/sdb
    45. 44 cd /tmp
    46. 45 ]# cp /dev/sr0 /tmp & nohup
    47. 46 ]nohup cp /dev/sr0 /tmp &
    48. 47 nohup ./catalina.sh run &
    49. 48 cd /tmp
    50. 49 df
    51. 50 mount /dev/sr0 /mnt
    52. 51 cd /etc/yum.repos.d/
    53. 52 mkdir repos.bak
    54. 53 mv *.repo repos.bak
    55. 54 vim
    56. 55 vim local.repo
    57. 56 yum clean all && yum makecache
    58. 57 cd
    59. 58 yum install -y httpd
    60. 59 vim local.repo
    61. 60 yum clean all && yum makecache
    62. 61 df
    63. 62 cp /dev/sr0 /tmp
    64. 63 cp /dev/sr0 /tmp &
    65. 64 y
    66. 65 ll -h
    67. 66 cd /tmp
    68. 67 ll -h
    69. 68 ll -l
    70. 69 ls
    71. 70 ll -h
    72. 71 crontab -l
    73. 72 systemctl status crond.service
    74. 73 crontab -e
    75. 74 crontab -l
    76. 75 cd /var/spool/cron
    77. 76 cat root
    78. 77 echo '30 7 * * 6 /usr/bin/systemctl httpd restart' >> /var/spool/cron/root
    79. 78 crontab -l
    80. 79 crontab -e #打开crontab
    81. 80 groupadd -g 666 lll
    82. 81 groupadd -g 666 llll
    83. 82 useradd 123
    84. 83 useradd 789
    85. 84 useradd abc
    86. 85 gpasswd -a abc llll
    87. 86 gpasswd -d abc llll
    88. 87 groupdel llll
    89. 88 chattr +i /etc/passwd
    90. 89 lsattr /etc/passwd
    91. 90 ll /etc/passwd
    92. 91 echo 1111 >> /etc/passwd
    93. 92 chattr +i /etc/shadow
    94. 93 useradd lisi
    95. 94 echo 123123 | passwd --stdin lll
    96. 95 userdel lll
    97. 96 chattr -i /etc/passwd /etc/shadow
    98. 97 lsattr /etc/passwd
    99. 98 chage -M 30 lll
    100. 99 vim /etc/shadow
    101. 100 chage -M 35 lll
    102. 101 tail /etc/shadow
    103. 102 useradd lgd
    104. 103 vim /etc/shadow
    105. 104 vim /etc/login.defs
    106. 105 useradd lgd2
    107. 106 echo 123 | passwd --stdin lgd2
    108. 107 chage -d 0 lgd2
    109. 108 tail /etc/shadow
    110. 109 history

    history -c

    清空历史记录

    vim /etc/profile  

    export HISISIZE=XX

    soure/etc//profile

    限制历史命令数量

    vim .bash_history

    echo ’ ’ > /.bash_history

    将空数据内容重定向写入到/.bash_history文件中,实现开机登录,自动清空历史命令

    修改/etc/bashrc文件

    实现开机登录,自动清空历史命令

    1. vim /etc/bashrc
    2. /.bash_history

    四.限制su切换用户 

    1)将信任的用户加入到wheel组中    

    gpasswd wheel -a 用户名

    1. [root@localhost ~]# gpasswd wheel -a lll
    2. 正在将用户“lll”加入到“wheel”组中

    2)修改su的PAM认证配置文件        

    vim /etc/pam.d/su -> 开启 auth   required   pam_wheel.so use_uid 的配置

    五.PAM认证的构成

    六.使用sudo机制提升权限

    visudo

    vi  /etc/sudoers(此文件的默认权限为 440,保存退出时必须执行“:wq!”命令来强制操作)

    “/var/log/sudo” :保存日志文件,可以查看到所有用户登录系统的操作

    1. [root@clr ~]# vim /etc/sudoers
    2. ## Same thing without a password
    3. # %wheel ALL=(ALL) NOPASSWD: ALL
    4. zhangsan ALL=(root) /usr/sbin/ifconfig
    5. lisi ALL=!/bin/rm
    6. User_Alias GZY=zhangsan,lisi
    7. Cmnd_Alias ADMIN=/sbin/*,!/usr/sbin/reboot,!/usr/sbin/poweroff,!/usr/sbin/init,!/usr/sbin/shutdown
    8. GZY ALL = NOPASSWD: ADMIN
    9. Defaults logfile = "/var/log/sudo" #保存日志文件
    10. [root@clr ~]# cd /var/log/
    11. [root@clr /var/log]# vim sudo
    12. Apr 13 00:09:36 : zhangsan : command not allowed ; TTY=pts/0 ; PWD=/root ;
    13. USER=root ; COMMAND=/sbin/reboot #zhangsan用户不被允许的操作
    14. Apr 13 00:09:51 : zhangsan : TTY=pts/0 ; PWD=/root ; USER=root ;
    15. COMMAND=/sbin/route add -net 10.0.0.1/24 gw 192.168.80.20 dev ens33 #zhangsan用户添加路由的操作
    16. Apr 13 00:10:12 : lisi : command not allowed ; TTY=pts/0 ; PWD=/home/lisi ; #用户lisi不被允许的操作
    17. USER=root ; COMMAND=/sbin/reboot

  • 相关阅读:
    【每日一题】根据规则将箱子分类
    NLP实践!文本语法纠错模型实战,搭建你的贴身语法修改小助手 ⛵
    Python——与Matlab对应的Python版本
    【红外图像】利用红外图像处理技术对不同制冷剂充装的制冷系统进行性能评估(Matlab代码实现)
    [Linux](2)快速入门Linux基础指令
    MongoDB命令
    (附源码)ssm基于jsp的网上购物系统 毕业设计 190917
    LeetCode701. Insert into a Binary Search Tree
    迷茫6连,这就是测试人毕业5年后的真实写照吗?
    Jenkins 使用 AD域登陆
  • 原文地址:https://blog.csdn.net/2401_83331026/article/details/137962106