发帖
 找回密码
 立即注册
搜索
0 0

分享 Linux权限系统管理安全加固

技术分享 1014 0 2025-3-16 22:59:59
文件类型:
-文件   d目录   l链接文档   b接口设备   c一次性读取装置(串行端口设备  例如:键盘 鼠标)

-                 rwx                                 rwx          rwx
文件类型   所有者(这个文件得用户)   所属组     其他用户
r-读取=4    w-写入=2   x-执行=1   -无权限

chmod-用于更改文件或目录权限
chmod  770  1.txt-更改文件权限为  rwx rwx ---

Linux进程
     /etc/passwd  
         用户名:口令(密码):用户标识号:组标识号:注释行描述:主目录:登录shell
          root   :x              :0              :   0         :  root       : /root :/bin/bash

    /etc/shadow
         登录名:加密口令:最后一次修改时间:最小时间间隔(秒):最大时间间隔(秒):警告时间(秒):不活动时间(秒):失效时间(秒):标志

    /etc/group
          组名:口令:组标识号:组内用户列表(就是这个组里有几个用户)
     
     ps/报告当前系统进程状态
     ps -l /将目前属于你这次登入(也就是当前窗口)得PID与相关信息展示出来
     ps -le /查看进程详细信息(可以查看父进程)


         F 进程标志  
1 进程可以被复制,但是不能被执行
   4 进程使用超级用户权限
          S 进程状态
UID    运行这个进程的用户id
1-PID    进程的id - 不一定是子进程  
PPID    父进程id  
1-C         这个进程cpu的使用率
PRI        进程优先级
NI      进程优先级
ADDR     进程在内存中在什么位置
1-SZ         占用多大内存
WCHAN      是否在运行(-就是代表在运行)
1-TTY      这个进程由哪个终端产生
1-TIME    占用cpu的运算时间
1-CMD        产生此进程的命令名

   ps aux 列举所有正在内存当中的程序
USER:该 process 属于那个使用者账号的
PID :该 process 的号码
%CPU:该 process 使用掉的 CPU 资源百分比
%MEM:该 process 所占用的物理内存百分比
VSZ :该 process 使用掉的虚拟内存量 (Kbytes)
RSS :该 process 占用的固定的物理内存量 (Kbytes)
TTY :该 process 是在那个终端机上面运作,若与终端机无关,则显示 ?,另外, tty1-tty6 是本机上面的登入者程序,若为 pts/0 等等的,则表示为由网络连接进主机的程序。

      1-STAT:该程序目前的状态,主要的状态有
R :该程序目前正在运作,或者是可被运作
S :该程序目前正在睡眠当中 (可说是 idle 状态),但可被某些讯号 (signal) 唤醒。
T :该程序目前正在侦测或者是停止了
Z :该程序应该已经终止,但是其父程序却无法正常的终止他,造成 zombie (疆尸) 程序的状态
START:该 process 进程启动的时间
TIME :该 process 进程占用 CPU 运作的时间
COMMAND:产生这个进程对应命令名称

      STAT    进程状态。常见的状态有以下几种:
1.      -D:不可被唤醒的睡眠状态,通常用于 I/O 情况。
2.      -R:该进程正在运行。
3.      -S:该进程处于睡眠状态,可被唤醒。
4.      -T:停止状态,可能是在后台暂停或进程处于除错状态。
5.      -W:内存交互状态(从 2.6 内核开始无效)。
6.      -X:死掉的进程(应该不会出现)。
7.      -Z:僵尸进程。进程已经中止,但是部分程序还在内存当中。
8.      -<:高优先级(以下状态在 BSD 格式中出现)。
9.      -N:低优先级。
10.  -L:被锁入内存。
11.  -s:包含子进程。
12.  -l:多线程(小写 L)。
13.  -+:位于后台。

查找指定进程
ps -ef | grep 进程关键字
ps -ef | grep ssh
ps -u ⽤户名-作用使用这个用户创建得所有进程都会被结束掉
ps -u xiaoming
ps -al 当前系统中所有进程详细信息
-9 强制结束进程
-15 正常结束进程

kill ⽤于删除执⾏中的程序或⼯作(进程)
kill -9 PID号
kill -9 $(ps -ef | grep ⽤户名) 了解就⾏
kill -u ⽤户名
kill -9 $(ps -ef | grep bash) 这个是不是就直接退出所有⽤户了

Linux任务调度
   linux定时任务
系统任务调度:系统周期性的要执行的任务,写数据到硬盘,日志清理等等
     定时任务:/etc/crontab
#(井号在前面)注释信息  给人看的,系统不会去执行注释信息里面的代码、命令
    SHELL=/bin/bash     系统要使用哪个shell(终端窗口)
    PATH=/sbin:/bin:/usr/sbin:/usr/bin    指定里系统执行命令的路径
    MAILTO=root  指定了定时任务执行信息将通过电子邮件发送给root用户(如果MAILTO=  就是不发送信息)

*  *  *  *  * user-name  command to be executed
1.表示分钟 0-59
2.表示小时 0-23
3.表示日期 1-31
4.表示月份 1-12
5.表示星期几 0-7(0和7都代表星期天)
6.要执行的命令或者脚本(user-name  command to be executed)

每一个时间字段,还可以通过特殊符号来进行设置
*(星号): 代表任何时间,比如说第一个*代表一小时中每分钟都要执行
,(逗号):代表不连续的时间,     0      8,12,16   7,8,9    *    *
- (中杆):代表连续的时间             0    5    *    *     1-6
/ (正斜线):代表每隔多久执行一次   *  /5    *   *     *   

用户任务调度:用户定期要执行的工作,用户数据备份,定时邮箱提醒
    定时任务: /var/spool/cron


/var/log/cron    记录与系统定时任务相关的曰志
/var/log/cups/    记录打印信息的曰志
/var/log/dmesg    记录了系统在开机时内核自检的信总。
                                也可以使用dmesg命令直接查看内核自检信息
/var/log/btmp    记录错误登陆的日志。这个文件是二进制文件,不能直接用Vi查看,而要使用lastb命令查看。命令如下:
                                 [root@localhost log]#lastb
                                  root tty1 Tue Jun 4 22:38 - 22:38 (00:00)
                                  #有人在6月4 日 22:38便用root用户在本地终端 1 登陆错误
/var/log/lasllog    记录系统中所有用户最后一次的登录时间的曰志。这个文件也是二进制文件.不能直接用Vi 查看。而要使用lastlog命令查看
/var/Iog/mailog    记录邮件信息的曰志

安全加固
1/vim /etc/pam.d/system-auth(口令锁定策略)
auth        required      pam_tally2.so onerr=fail deny=5 unlock_time=600 root_unlock_time=600

pam_tally2.so: 这是一个 PAM 模块,用于跟踪登录失败的次数。
onerr=fail: 如果在执行该模块时出现任何错误,则认定登录失败。
deny=5: 如果一个用户的登录失败次数达到 5 次,该用户将被锁定。
unlock_time=600: 被锁定的用户将在 600 秒(10 分钟)后自动解锁。
root unlock_time=60: 对于 root 用户,解锁时间设置为 60 秒。

解锁用户:pam_tally2 -r -u 用户名(su root 必须在root用户下使用)
                 -r/将指定用户登录失败次数重置为零
                  -u/参数用于指定用户

2/设置密码复杂度
    vi /etc/security/pwquality.conf

    minlen = 8 口令长度至少包含 8 个字符
    dcredit = -1 口令包含N个数字
     ucredit = -1 口令包含N大写字母
    ocredit = -1 口令包含N个特殊字符
    lcredit = -1 口令包含N个小写字母


3/设置密码有效期
   vim /etc/login.defs
   login.defs 配置项说明
      #密码的最大有效期
                   PASS_MAX_DAYS   180
        #是否可修改密码,多少天后可修改
                   PASS_MIN_DAYS   0
        #密码最小长度,pam_pwquality设置优先
                PASS_MIN_LEN    8
        #密码失效前多少天在用户登录时通知用户修改密码
                PASS_WARN_AGE   15

4/删除无关账户
   在/etc/passwd 或者 /etc/shadow(在root用户下进行) 文件下查找无关账户
   正常人为创建账户以1000
5/禁止存在空密码的帐号
用户密码设置为空:passwd -d 用户名(在root用户进行设置dada用户密码为空)
awk -F: 'length($2)==0 {print $1}' /etc/shadow  

6/禁止wheel组以外的用户使用 su root
   vi /etc/pam.d/su
   修改或添加配置文件的条目:
   (进入配置文件去掉#号  或   添加这两条命令)
    auth sufficient pam_rootok.so auth required pam_wheel.so group=wheel
   或
   auth required pam_wheel.so use_uid

7/限制root用户ssh远程登录
      修改 /etc/ssh/sshd_config
      PermitRootLogin no



8/一键安全加固脚本使用
通过shell编程把所有需要设置的地方。全部写成一个shell脚本。然后运行shell脚本即可
\  :转义字符   将特殊符号进行转义的
./Linux\ security.sh(在linux里执行这个文件 这个文件放到主文件夹里得主目录位置)-(这个脚本再给得课件里)
  (查看修改权限运行这个文件)-(在root里执行这个文件)



WEB渗透测试工程师系统班20303
5节课作业
1、rwx分别代表什么权限?
    读写执行
2、权限标识600711422777分别代表什么?
     
600
  • 分解为三个数字,即 6(所有者)、0(所属组)、0(其他用户)。
  • 对于所有者:6 = 4 + 2,意味着所有者拥有读(4)和写(2)权限,但没有执行权限。
  • 对于所属组和其他用户:数字为 0,这表示所属组和其他用户没有任何权限(既不能读、不能写,也不能执行)。
  • 示例场景:这种权限通常用于一些敏感文件,如私钥文件,因为只有文件所有者能够读取和修改它,从而保证了文件的安全性。
711
  • 分解为 7(所有者)、1(所属组)、1(其他用户)。
  • 对于所有者:7 = 4 + 2 + 1,说明所有者具备读(4)、写(2)和执行(1)的全部权限。
  • 对于所属组和其他用户:数字为 1,代表所属组和其他用户仅拥有执行权限,没有读和写的权限。
  • 示例场景:可用于一些需要被他人执行,但不希望他人查看或修改内容的脚本文件。
422
  • 分解为 4(所有者)、2(所属组)、2(其他用户)。
  • 对于所有者:数字为 4,意味着所有者仅有读权限,没有写和执行权限。
  • 对于所属组和其他用户:数字为 2,表明所属组和其他用户只有写权限,没有读和执行权限。
  • 示例场景:在某些特殊情况下,可能会将文件设置为这种权限,比如一个只读配置文件,允许所属组和其他用户进行修改,但不允许他们读取内容。不过这种场景相对较少。
777
  • 分解为 7(所有者)、7(所属组)、7(其他用户)。
  • 对于所有者、所属组和其他用户:7 = 4 + 2 + 1,这意味着所有者、所属组和其他用户都拥有读(4)、写(2)和执行(1)的全部权限。
  • 示例场景:这种权限设置比较危险,因为它允许任何用户对文件进行任何操作。一般只在测试环境或者对权限要求不高的临时文件中使用。

可以使用 chmod 命令来修改文件或目录的权限,例如将文件 example.txt 的权限设置为 600,
3、linux上查看进程有什么作用?
      ps
4、安全加固分为哪些列出四个
    口令锁定策略 设置密码复杂度 设置密码有效期  删除无关账户
5、linux中定时任务的五个 * 分别代表什么?
      1.表示分钟 0-59
      2.表示小时 0-23
      3.表示日期 1-31
      4.表示月份 1-12
      5.表示星期几 0-7(0和7都代表星期天)
6、linux中想在 1212日和 1213日的35分运行脚本的写法是?



──── 0人觉得很赞 ────
免责声明:
1、本论坛中所有用户发布的内容仅代表作者个人观点,与本网站立场无关,本站不对其真实性、完整性或观点承担任何责任。
2、本论坛所提供的全部信息与内容,不保证其准确性、完整性或时效性。因阅读或使用本站内容而产生的任何误导、损失或风险,本站概不承担任何连带或法律责任。
3、当国家司法、行政机关依照法定程序要求本论坛披露用户信息时,本站予以配合并因此免责。
4、因网络线路故障、技术问题、不可抗力或本站无法控制的其他原因导致的服务中断或暂停,本站不承担由此造成的任何直接或间接损失。
5、对于任何通过技术手段破坏、攻击本论坛系统或扰乱正常秩序的行为,本站有权采取包括但不限于限制账号、封禁账号、追究法律责任等措施。
您需要登录后才可以回帖 立即登录
高级模式
返回