linux系统安全和应用

2023年 8月 9日 92.9k 0

1.系统账号安全的基本操作

1.1将用户设置成无法登录

所谓“无法登陆”指的仅是这个用户无法使用bash或其他shell来登陆系统而已,并不是说这个账号就无法使用系统资源。举例来说,各个系统账号中,打印作业有lp这个账号管理,www服务器有apache这个账号管理,他们都可以进行系统程序的工作,但就是无法登陆主机而已。

所以设置用户无法登录就是将用户的shell类型设置成/sbin/nologin

通过usermod -s命令实现

usermod -s /sbin/nologin 用户名 

示例操作:

1.png

1.2锁定和解锁用户

这里说的锁定用户有两种方式,都有对应的解锁方式,实现锁定的根本方式是锁定用户的密码

锁定用户:

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

解锁用户:

  • passwd -u 用户名
  • usermod -U 用户名

1.3 删除用户账号

用于删除一些无用账号,例如项目结束,不在使用的账号

使用用户管理中删除的命令userdel实现

命令:

  • userdel 用户名
  • userdel -r 用户名

PS:需注意,userdel -r 用户名会在删除用户的同时删除该用户的家目录,不加选项-r则不会删除用户的家目录,那么用户被删除后,他的家目录会变成无主文件,文件的属主和属组位显示的是原主人的UIDGID

1.4 锁定配置文件

软件的配置文件一般都比较重要,chattr 命令用于修改文件或目录的属性,设置文件的特殊属性,使其具有更高级的保护或控制,chattr中用+表示添加,-表示移除

格式:chattr 选项 文件或文件夹

选项:

  • +:添加指定属性。
  • -:移除指定属性。
  • i:将文件设置为不可修改(immutable),意味着文件无法被删除、修改、重命名或链接,除非先移除该属性。
  • a:将文件设置为仅追加(append-only),只能在文件末尾添加内容,无法修改或删除已有内容。
  • s:将文件设置为同步更新(synchronous),要求每次文件写入都同步到磁盘,包含文件内容和元数据的更新。
  • u:设置文件为可以恢复(undeletable),即使文件被删除,仍然可以通过恢复工具恢复文件。
  • c:启用文件的压缩,文件在磁盘上以压缩形式存储,只有读取时才会进行解压缩操作。
  • R:递归修改目录及其子目录下的文件属性。

示例用法:

  • 添加不可修改属性:chattr +i file.txt
  • 移除不可修改属性:chattr -i file.txt
  • 添加只追加属性:chattr +a file.txt
  • 移除只追加属性:chattr -a file.txt
  • 添加同步更新属性:chattr +s file.txt
  • 移除同步更新属性:chattr -s file.txt
  • 1.5 密码安全控制

    密码安全控制,其实就是设置密码规则

    部分规则:

    • 设置密码有效期
    • 要求用户下次登录时修改密码
    • 密码长度
    • 密码复杂性

    对于新建用户

    通过修改/etc/login.defs文件中的内容来设置密码规则

    查看/etc/login.defs文件

    3.png

    修改密码有效期命令示例:

     #修改配置文件
     [root@localhost ~]# vim /etc/login.defs    
     ----------------------------
     PASS_MAX_DAYS   30    //将密码最大有效期修改为30天
     PASS_MIN_DAYS   0
     PASS_MIN_LEN    5
     PASS_WARN_AGE   7
     #
     #Esc :wq保存退出
    #创建新用户wanghu
     [root@localhost ~]# useradd wangwu    
     [root@localhost ~]# grep 'wangwu' /etc/shadow
     lucy:!!:19056:0:30:7:::         
    #密码有效期已经变成30天了
    

    对已有用户

    已有用户直接使用chage命令就可以设置密码的规则

    格式:chage 选项 用户名

    选项:

    • -m:密码可更改的最小天数。为零时代表任何时候都可以更改密码。
    • -M:密码保持有效的最大天数。
    • -w:用户密码到期前,提前收到警告信息的天数。
    • -E:帐号到期的日期。过了这天,此帐号将不可用。
    • -d:上一次更改的日期。
    • -i:停滞时期。如果一个密码已过期这些天,那么此帐号将不可用。
    • -l:例出当前的设置。由非特权用户来确定他们的密码或帐号何时过期。

    示例:

    -d选项
    #强制张三下一次登录一定修改密码(密码符合复杂性要求)
    [root@localhost ~]# chage -d  0 zhangsan
    #-d选项后的 0 有特殊的含义,
    ​
    ​
    -M选项
    #将zhangsan用户的密码有效期设置为30天
    [root@localhost ~]# chage -M 30 zhangsan      #查看用户zhangsan的密码有效期
    [root@localhost ~]# grep zhangsan /etc/shadow
     zhangsan:!!:19030:0:30:7:::
    #用户张三的密码有效期已被修改为30天
    ​
    ​
    -l选项
    #查看用户zhangsan的密码设置信息
    [root@localhost ~]# chage -l zhangsan
    最近一次密码修改时间                  :密码必须更改
    密码过期时间                  :密码必须更改
    密码失效时间                  :密码必须更改
    帐户过期时间                      :从不
    两次改变密码之间相距的最小天数     :0
    两次改变密码之间相距的最大天数     :99999
    在密码过期之前警告的天数    :7
    

    1.6 历史命令限制

    Shell 环境的命令历史机制为用户提供了极大的便利,但另一方面也给用户带来了潜在 的风险。只要获得用户的命令历史文件,该用户的命令操作过程将会一览无余,如果曾经在 命令行输入明文的密码,则无意之中服务器的安全壁垒又多了一个缺口。 Bash 终端环境中,历史命令的记录条数由变量 HISTSIZE 控制,默认为 1000 条。通过修改/etc/profile 文件中的 HISTSIZE 变量值,可以影响系统中的所有用户。例如,可以设 置最多只记录 200 条历史命令。

    查看历史命令的命令:history

    历史命令存放于家目录下的.bash_history文件,history命令实际上是导出了该文件总的内容,所以清空该文件其实就是清空了命令历史。

    历史命令是很便利的一种机制,不过考虑到潜在的风险,所以我们一般采用两种方式来限制它

    • 减少记录的命令条数。
    • 注销时自动清空命令历史,或登录时自动清空命令历史。

    PS:任何需要永久生效的命令都需要写到对应的配置文件中,且在配置文件中添加或修改以后,一定要刷新,否则不生效

    1.# 永久修改历史命令条数。编辑配置文件,设置历史命令条数。
    #设置历史命令条数记录为200条
    [root@localhost ~]# vim /etc/profile        
    ················
    export  HISTSIZE=200 
    #export是使添加的变量不管在第几个bash终端(即shell会话)中都生效,系统变量可以不加,但是如果你没有经验,无法判断到底是不是系统变量,建议全加(没有坏处)
    ​
    #进入末行模式,保存并退出
    Ese :wq
    ​
    #刷新配置文件,使生效
    [root@localhost ~]# source /etc/profile  
    #  . = source
    所以
    . .bashrc = source .bashrc  即刷新文件 在应用修改后使用  效果等同于重启刷新
    ​
    2.# 编辑 .bash_logout 文件使在注销时自动清空历史命令 
    [root@localhost ~]# vim ~/.bash_logout
    echo " " >root/.bash_history
    ​
    #进入末行模式,保存并退出
    Ese :wq
    ​
    #刷新配置文件,使生效
    [root@localhost ~]# source /etc/profile 
     
    3.#编辑 .bashrc 文件使在登录时自动清空历史命令
    [root@localhost ~]# vim ~/.bashrc
    echo " " >root/.bash_history
    ​
    #进入末行模式,保存并退出
    Ese :wq
    ​
    #刷新配置文件,使生效
    [root@localhost ~]# source /etc/profile 
    ​
    4.#编辑 /etc/profile  文件使系统在闲置600秒后自动注销
     [root@localhost ~]# vi /etc/profile
     .................................
     export  TMOUT=600
    ​
    #刷新配置文件,使生效
    [root@localhost ~]# source /etc/profile 
    

    .brashrc :中添加的设置只对自己(当前用户) 生效

    /etc/profile:中添加的设置对所有用户都生效

    1.7 su(Substi User)切换用户

    su(Substi User)切换用户身份,并且以指定用户的身份

    切换用户的时候,root用户切换到任何用户都不需要验证密码,其他用户切换到其他用户都需要验证目标用户的密码

    格式:su 选项 目标用户

    选项:-

    su命令只有一个选项

    su 目标用户:非登录式切换,即不会读取目标用户的配置文件,不改变当前工作目录,即不完全切换

    su - 目标用户:登录式切换,会读取目标用户的配置文件,切换至自已的家目录,即完全切换

    PS:使用su命令切换目标用户后,使用exit命令退回到原用户,不要再使用su命令切换到原用户,否则会生成很多bash子进程,环境可能会混乱

    示例:

    #以不加-的方式,切换至张三用户
     [root@localhost ~]# su zhangsan        
     [zhangsan@localhost root]$ pwd         //不改变当前工作目录
     /root
     [zhangsan@localhost root]$ exit
     exit
    #以加 - 切换至zhangsan用户
     [root@localhost ~]# su - nancy     
     上一次登录:二 8月  1 16:32:38 CST 2023pts/0 上
     [zhangsan@localhost root]$ exit          
     /home/zhangsan
    #家目录也切换到的zhangsan 
    ​
    #确定当前用户
     [zhangsan@localhost ~]$ whoami       
     zhangsan
    

    1.7.1 限制使用su命令的用户

    su 命令的安全隐患

    • 默认情况下,任何用户都允许使用su命令,有机会反复尝试其他用户(如root)的登录密码,带来安全风险。
    • 为了加强su 命令的使用控制,可借助于PAM认证模块,只允许极个别用户使用su 命令进行切换。

    限制使用su命令的用户(通过修改/etc/pam.d/su 文件):

    • 将允许使用su命令的用户加入wheel组。
    • 启用pam_wheel认证模块。则只有wheel组内的用户可以使用su命令切换用户。

    /etc/pam.d/su 文件内容:

    4.png

    1.8 sudo 用户提权

    sudo用户提权即使用户以超级管理员的身份去执行命令

    格式:sudo 选项 命令

    选项:

    • -V:显示版本编号
    • -l:显示出自己(执行 sudo 的使用者)的权限
    • -k:将会强迫使用者在下一次执行 sudo 时问密码(不论有没有超过 N 分钟)
    • -p:可以更改问密码的提示语,其中 %u 会代换为使用者的帐号名称, %h 会显示主机名称
    • -u:用户名 以指定用户的权限
    • -s:执行环境变数中的 SHELL 所指定的 shell

    sudo特性:

    • sudo能够授权指定用户在指定主机上运行某些命令。如果未授权用户尝试使用 sudo,会提示联系管理员
    • sudo提供了丰富的日志,详细地记录了每个用户干了什么。它能够将日志传到中心主机或者日志服务器
    • sudo使用时间戳文件来执行类似的“检票”系统。当用户调用sudo并且输入它的密码时,用户获得了一张存活期为5分钟的票
    • sudo的配置文件是sudoers文件,它允许系统管理员集中的管理用户的使用权限和使用的主机。它所存放的位置默认是在/etc/sudoers,属性必须为0440

    sudo与su的区别:

  • 身份验证方式: su命令(切换用户)需要输入目标用户的密码来切换到目标用户的身份。

    sudo命令(以超级用户执行)需要输入当前用户的密码来验证身份。

  • 执行命令的方式: su命令会切换用户的环境,包括当前工作目录和环境变量等。在切换用户后,需要重新设置所需的工作环境。

    sudo命令在当前用户的环境下以超级用户身份执行命令,不会切换用户的环境。这使得在执行完命令后,可以继续以当前用户身份继续工作,而不需要重新设置环境。

  • 授权: su命令切换到目标用户后,拥有目标用户的完整权限。

    sudo命令可以按需授予用户对特定命令或特定命令组合的访问权限

  • /etc/sudoers文件内容即各字段含义

    文件内容添加设置支持通配符

    [root@localhost ~]#visudo
    ...........
    ## Allow root to run any commands anywhere
    root    ALL=(ALL)       ALL
    //允许root在任何地方使用任何命令
    ..............
    //格式:
    //用户    登入主机    =    (代表用户)     命令
    user      host      =    (runas)      command
    //释义:
    user: 运行命令者的身份
    host: 通过哪些主机 多个 192.168.91.100 - 110  localhost
    (runas):以哪个用户的身份
    command: 运行哪些命令
    ​
    ​
    //也可以对组进行操作
    %在前表示组
    ## Allows people in group wheel to run all commands
    %wheel  ALL=(ALL)       ALL 
    ​
    //举例:
    %gtest    ALL=(ALL)   ALL
    gtest组内的成员通过任何主机登入系统后,在命令前加sudo可以以任何用户的身份运行所有命令,
    ​
    

    四个字段

    • user字段: 用户名或UID %组名或者%GID
    • host字段: IP地址或主机名 ALL代表任意主机
    • runas代表用户字段: 用户名或UID ALL代表任意用户
    • 命令字段(绝对路径) : command name (命令) directory (文件夹里的命令) sudoedit (可以编辑sudoers这个文件,变相变成管理员) Cmnd_Alias (命令别名)

    sudo别名(自定义用户组单独给几个用户某些权限)

    sudo的别名有四种类型:

    • User_Alias(用户):
    • Runas_Alias(代表用户)
    • Host_Alias(登录主机)
    • Cmnd_Alias(命令)(一定要绝对路径)

    使用别名的时候,!是取反的意思,!后面的不生效,例如!/sbin/init,表示除了init命令不允许用,其余无限制

    举例:

    #主机yyy和localhost的名为zhangsan,wangwu和lisi的用户可以使用/sbin下,除了reboot,poweroff,init和rm之外的命令
    Host_Alias MYHOSTS = yyy,localhost
    User_Alias MYUSERS = zhangsan,wangwu,lisi
    Cmnd_Alias MYCMNDS = /sbin/*,!/sbin/reboot,!/sbin/poweroff,!/sbin/init,!/usr/bin/rm
    ​
    ​
    MYUSERS MYHOSTS=NOPASSWD:MYCMNDS
    ​
    

    sudo子目录

    为了方便管理,不会把所有的用户提权都放在/etc/sudoers文件中,所以我们在/etc/sudoers.d/下创建子目录,针对特定部分,比如给公司的测试(text)部门用户进行授权

    示例:

     # 创建子目录
     [root@localhost ~]# vim /etc/sudoers.d/test  
     #允许用户zhangsan可以以root身份运行挂载命令
     zhangsan  ALL=(root)  /bin/mount
     #设置属主和属组只读权限,加固安全
     [root@localhost ~]# chmod 440 /etc/sudoers.d/test   
     [root@localhost ~]# ll /etc/sudoers.d/test
     -r--r----- 1 root root 33 3月   7 17:51 /etc/sudoers.d/test
    ​
    

    查看sudo操作历史

    查看sudo操作历史需要启动去sudo命令默认的操作日志/var/log/sudo

    #进入sudo配置文件
    [root@localhost log]# visudo          
    -----------------------------
    #一般在最后一行添加 Default logfile 配置,启动sudo操作日志
    Default logfile="/var/log/sudo"      
    #Esc进入末行模式,:保存(w)退出(q)
    Esc :wq
    ​
    //以lisi用户的身份创建文件
    [root@localhost ~]# sudo -u lisi touch /opt/1.txt     
    [root@localhost ~]# tail -4 /var/log/sudo               //日志成功记录sudo操作
    Mar 12 23:12:06 : root : TTY=pts/0 ; PWD=/root ; USER=lisi ; COMMAND=/bin/touch
       /opt/1.txt
    Mar 12 23:13:49 : root : TTY=pts/0 ; PWD=/root ; USER=lisi ; COMMAND=/bin/touch
        /opt/1.txt
    ​
    

    sudo注意事项sudoedit命令(不建议使用)

    允许用户使用suoedit命令,就是允许该用户可以修改/etc/sudoerssudo命令配置文件)那么该用户基本就称为管理员了,可以自己给自己添加可执行命令,安全性比较差,不建议使用

     [root@localhost sudoers.d]#vim /etc/sudoers.d/test
     lisi ALL=(root)  sudoedit
     [root@localhost ~]#su lisi
     [lisi@localhost root]$ sudoedit /etc/sudoers   
    

    1.9 grub加密

    [root@localhost ~]#grub2-setpassword
    //直接设置密码
    

    PAM安全认证

    PAM:Pluggable Authentication Modules,插件式的验证模块,Sun公司于1995 年开发的一种与认证相关的通用框架机制。

    相关文件:

    • 包名: pam
    • 模块文件目录:/lib64/security/*.so
    • 特定模块相关的设置文件:/etc/security/(主要配置文件,只有功能强大的pam模块才会有)
    • man 8 加模块名 可以查看帮助
    • 应用程序调用PAM模块的配置文件
  • 主配置文件:/etc/pam.conf,默认不存在,一般不使用主配置
  • 为每种应用模块提供一个专用的配置文件:/etc/pam.d/APP_NAME
  • 注意:如次要配置文件/etc/pam.d存在,它优先生效,/etc/pam.conf将失效
  • PAM认证顺序:

  • Service(服务)
  • PAM(配置文件)
  • pam_*.so
  • PAM认证首先要确定那一项服务,然后加载相应的PAM的配置文件(位于/etc/pam.d下),最后调用认证文件(位于/lib64/security下)进行安全认证

    7.png

    • required:无论验证成功还是失败 会继续往下验证
    • requisite:验证成功则继续,验证失败则立即结束整个验证过程
    • sufficient:验证成功则立即返回,否则忽略结果并继续
    • optional:一般不用于验证,只显示信息

    配置文件内容解析

    /etc/pam.d/login文件举例

    6.png

    • 第一列:认证类型(module-type)
  • Auth:账号的认证和授权
  • Account:帐户的有效性,与账号管理相关的非认证类的功能,如:用来限制/允许用户对某个服务的访问时间,限制用户的位置(例如:root用户只能从控制台登录)
  • Password:用户修改密码时密码复杂度检查机制等功能
  • Session:用户会话期间的控制,如:最多打开的文件数,最多的进程数等
  • -type 表示因为缺失而不能加载的模块将不记录到系统日志,对于那些不总是安装在系统上的模块有用。
    • 第二列:Control:( 控制位)
  • required :一票否决,表示本模块必须返回成功才能通过认证,但是如果该模块返回失败,失败结果也不会立即通知用户,而是要等到同一type中的所有模块全部执行完毕,再将失败结果返回给应用程序,即为必要条件
  • requisite :一票否决,该模块必须返回成功才能通过认证,但是一旦该模块返回失败,将不再执行同一type内的任何模块,而是直接将控制权返回给应用程序。是一个必要条件
  • sufficient :一票通过,表明本模块返回成功则通过身份认证的要求,不必再执行同一type内的其它模块,但如果本模块返回失败可忽略,即为充分条件,优先于前面的
  • equiredrequisiteoptional :表明本模块是可选的,它的成功与否不会对身份认证起关键作用,其返回值一般被忽略include: 调用其他的配置文件中定义的配置
  • optional 可选项
    • 第三列:PAM模块(根据第一列类型,调用的PAM对于模块)
  • 认证管理(authentication management):接受用户名和密码,进而对该用户的密码进行认证;
  • 帐户管理(account management):检查帐户是否被允许登录系统,帐号是否已经过 期,帐号的登录是否有时间段的限制等;
  • 密码管理(password management):主要是用来修改用户的密码;
  • 会话管理(session management):主要是提供对会话的管理和记账。 控制类型也可以称做 Control Flags,用于 PAM 验证类型的返回结果
  • 列举部分PAM模块

    limits模块

    功能:

    限制用户的资源使用,例如:可打开的文件数量,可运行的进程数量,可用内存空间

    可用通过ulimit 命令查看和设置不同类型资源限制,但ulimitlinux shell的内置命令,它具有一套参数集,用于对shell进程及其子进程进行资源限制。

    ulimit的设定值是 per-process 的,也就是说,每个进程有自己的limits值。使用ulimit进行修改,立即生效。

    ulimit只影响shell进程及其子进程,用户登出后失效。

    可以在profile中加入ulimit的设置,变相的做到永久生效

    ulimit 命令格式:ulimit 选项

    选项:

    • -H 设置硬件资源限制
    • -S 设置软件资源限制.
    • -c 设置core文件的最大值.单位:blocks
    • -d 设置数据段的最大值.单位:kbytes
    • -f 设置创建文件的最大值.单位:blocks
    • -l 设置在内存中锁定进程的最大值.单位:kbytes
    • -m 设置可以使用的常驻内存的最大值.单位:kbytes
    • -n 设置内核可以同时打开的文件描述符的最大值.单位:n
    • -p 设置管道缓冲区的最大值.单位:kbytes
    • -s 设置堆栈的最大值.单位:kbytes
    • -t 设置CPU使用时间的最大上限.单位:seconds
    • -u 最大用户进程数
    • -v 设置虚拟内存的最大值.单位:kbyte
    • -a 显示当前所有的资源限制

    示例:

    [root@localhost ~]#ulimit -a
    core file size          (blocks, -c) 0
    data seg size           (kbytes, -d) unlimited
    scheduling priority             (-e) 0
    file size               (blocks, -f) unlimited
    pending signals                 (-i) 7168
    max locked memory       (kbytes, -l) 64
    max memory size         (kbytes, -m) unlimited
    open files                      (-n) 1024
    pipe size            (512 bytes, -p) 8
    POSIX message queues     (bytes, -q) 819200
    real-time priority              (-r) 0
    stack size              (kbytes, -s) 8192
    cpu time               (seconds, -t) unlimited
    max user processes              (-u) 7168
    virtual memory          (kbytes, -v) unlimited
    file locks                      (-x) unlimited
    ​
    ​
    ​
    ​
    ​
    //open files                      (-n) 1024
    这一条限制了进程能打开的文件数,1024远远不够使用。所以得为其增加内核可以同时打开的文件
    #增加
    [root@localhost ~]#ulimit -n 100000
    [root@localhost ~]#ulimit -a
    core file size          (blocks, -c) 0
    data seg size           (kbytes, -d) unlimited
    scheduling priority             (-e) 0
    file size               (blocks, -f) unlimited
    pending signals                 (-i) 7168
    max locked memory       (kbytes, -l) 64
    max memory size         (kbytes, -m) unlimited
    open files                      (-n) 100000
    pipe size            (512 bytes, -p) 8
    POSIX message queues     (bytes, -q) 819200
    real-time priority              (-r) 0
    stack size              (kbytes, -s) 8192
    cpu time               (seconds, -t) unlimited
    max user processes              (-u) 7168
    virtual memory          (kbytes, -v) unlimited
    file locks                      (-x) unlimited
    ​
    

    limits 生产中的 建议设置(仅供参考)

    PS:通信是相互得,所以两端必须一样设置

    *                soft    core            unlimited
    *                hard    core            unlimited
    *                soft    nproc           1000000
    *                hard    nproc           1000000
    *                soft    nofile          1000000
    *                hard    nofile          1000000
    *                soft    memlock         32000
    *                hard    memlock         32000
    *                soft    msgqueue        8192000
    *                hard    msgqueue        8192000
    ​
    

    shell模块

    功能:检查有效shell

    帮助:man pam_shells

    案例:不允许使用/bin/csh的用户本地登录

    模块: pam_shells.so 只允许 规定的shell类型通过, 是在/etc/shells 文件中存在的 类型通过

    [root@localhost ~]#vim /etc/shells
    ​
    /bin/sh
    /bin/bash
    /sbin/nologin
    /usr/bin/sh
    /usr/bin/bash
    /usr/sbin/nologin
    /bin/tcsh
    /bin/csh
    ​
    ​
    //去掉/bin/csh
    那么shell类型为csh的用户将无法登录
    ​
    

    1.10 nmap 端口扫描,安全检测工具

    nmap需要安装才可以使用

    yum -y install nmap  //安装nmap
    

    nmap的格式和常用选项

    格式: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检测,快速判断目标主机是否存活,不做其他扫描。
    • -P0:跳过ping检测, 这种方式认为所有的目标主机是存活的,当对方不响应ICMP请求时,使用这种方式可以避免因无法ping通而放弃扫描。

    常用服务和端口号:

    服务 端口号
    HTTP 80
    HTTPS 443
    Telnet 23
    FTP 21
    SSH(安全登录)、SCP(文件传输)、端口重定向 22
    SMTP 25
    POP3 110
    WebLogic 7001
    TOMCAT 8080
    WIN2003远程登录 3389
    Oracle数据库 1521
    MS SQL* SEVER数据库sever 1433
    MySQL 数据库sever 3306

    相关文章

    服务器端口转发,带你了解服务器端口转发
    服务器开放端口,服务器开放端口的步骤
    产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
    如何使用 WinGet 下载 Microsoft Store 应用
    百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
    百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

    发布评论