Linux 系统安全及应用(账号安全和引导登录控制)(4)

简介: 1 账号安全基本措施1.1 系统账号清理1.1.1 将非登录用户的Shell设为/sbin/nologin在我们使用Linux系统时,除了用户创建的账号之外,还会产生系统或程序安装过程中产生的许多其他账号,除了超级用户root外,其他账号都是用来维护系统运作的,一般不允许登录,常见的非登录用户有bin、adm、mail、lp、nobody、ftp等。查看/etc/passwd 文件,可以看到多个程序用户。


3.2 终端登录安全控制

3.2.1 限制root只在安全终端登录

安全终端配置:/etc/securetty

示例:

将终端tty5、tty6注释掉,禁止root用户从这两个终端登录。

[root@localhost ~]# vi /etc/securetty   //编辑配置文件,将终端tty5、tty6注释掉
 ----------------------
 #tty5
 #tty6
复制代码


网络异常,图片无法展示
|


3.2.2 禁止普通用户登录

  • 建立/etc/nologin文件
  • 删除nologin文件或者重启后即恢复正常
[root@localhost ~]# touch /etc/nologin     //禁止普通用户登录
 [root@localhost ~]# rm -rf /etc/nologin    //取消普通用户登录限制
复制代码


网络异常,图片无法展示
|


网络异常,图片无法展示
|


4 网络端口扫描——nmap工具


4.1 nmap工具

网络异常,图片无法展示
|


网络端口扫描:

控制位 描述
SYN 建立链接
ACK 确认
FIN 结束断开
PSH 传送 0 数据缓存,上层应用协议
RST 重置
URG 紧急


服务和端口号:

服务 端口号
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


安装nmap:

[root@localhost ~]# rpm -qa|grep nmap      //查看nmap
 [root@localhost ~]# yum install -y 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通而放弃扫描。


用于主机发现的一些用法

  • -sL:List Scan 列表扫描,仅将指定的目标的IP列举出来,不进行主机发现。
  • -sn:Ping Scan 只进行主机发现,不进行端口扫描。
  • -Pn:将所有指定的主机视作开启的,跳过主机发现的过程。
  • -PS/PA/PU/PY[portlist]:使用TCPSYN/ACK或SCTP INIT/ECHO方式进行发现。
  • -PE/PP/PM: 使用ICMP echo, timestamp, and netmask 请求包发现主机。
  • -PO[protocollist]:使用IP协议包探测对方主机是否开启。
  • -n/-R:-n表示不进行DNS解析;-R表示总是进行DNS解析。
  • --dns-servers <serv1[,serv2],...>:指定DNS服务器。
  • --system-dns:指定使用系统的DNS服务器。
  • --traceroute::追踪每个路由节点。


Nmap用于端口扫描的一些用法

  • -sS/sT/sA/sW/sM:指定使用 TCP SYN/Connect()/ACK/Window/Maimon scans的方式来对目标主机进行扫描。
  • -sU: 指定使用UDP扫描方式确定目标主机的UDP端口状况。
  • -sN/sF/sX: 指定使用TCP Null, FIN, and Xmas scans秘密扫描方式来协助探测对方的TCP端口状态。
  • --scanflags < flags>: 定制TCP包的flags。
  • -sI < zombiehost[:probeport]>:指定使用idle scan方式来扫描目标主机(前提需要找到合适的zombie host)
  • -sY/sZ: 使用SCTP INIT/COOKIE-ECHO来扫描SCTP协议端口的开放的情况。
  • -sO: 使用IP protocol 扫描确定目标机支持的协议类型。
  • -b < FTP relay host>: 使用FTP bounce scan扫描方式。

示例:

# 分别查看本机开放的TCP端口、UDP端口
 [root@localhost ~]# nmap -sT 127.0.0.1
 [root@localhost ~]# nmap -sU 127.0.0.1
 # 检测192.168.80.0/24网段有哪些主机提供HTTP服务
 [root@localhost ~]# nmap -p 80 192.168.80.0/24
 [root@localhost ~]# nmap -p 80 192.168.91.100/24
 # 检测192.168.80.0/24网段有哪些存活主机
 [root@localhost ~]# nmap -n -sP 192.168.80.0/24 
复制代码


4.2 netstat命令

netstat命令是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息。

命令格式:

netstat  [选项]
复制代码


常用选项

选项 作用
-a 显示主机中所有活动的网络连接信息(包括监听、非监听状态的服务端口)。
-n 拒绝显示别名,以数字的形式显示相关的主机地址、端口等信息。
-t 查看TCP协议相关的信息。
-u 显示UDP协议相关的信息。
-p 显示与网络连接相关联的进程号、进程名称信息(该选项需要root权限)
-r 显示路由表信息。
-l 显示处于监听状态(Listen)的网络连接及端口信息。


常用搭配:

netstat -a       //列出所有端口
 netstat -at      //列出所有TCP端口
 netstat -au      //列出所有UDP端口
 netstat -ax      //列出所有unix端口
 netstat -lt      //列出处于监听状态的TCP端口
 netstat -tnlp    //直接使用ip地址列出所有处于监听状态的TCP端口,且加上程序名
复制代码


示例:

1)netstat -lt,列出处于监听状态的TCP端口。

[root@localhost ~]# netstat -lt      //列出处于监听状态的TCP端口
 Active Internet connections (only servers)
 Proto Recv-Q Send-Q Local Address           Foreign Address         State      
 tcp        0      0 0.0.0.0:sunrpc          0.0.0.0:*               LISTEN     
 tcp        0      0 localhost.locald:domain 0.0.0.0:*               LISTEN     
 tcp        0      0 0.0.0.0:ssh             0.0.0.0:*               LISTEN     
 tcp        0      0 localhost:ipp           0.0.0.0:*               LISTEN     
 tcp        0      0 localhost:smtp          0.0.0.0:*               LISTEN     
 tcp        0      0 0.0.0.0:shell           0.0.0.0:*               LISTEN     
 tcp6       0      0 [::]:sunrpc             [::]:*                  LISTEN     
 tcp6       0      0 [::]:ssh                [::]:*                  LISTEN     
 tcp6       0      0 localhost:ipp           [::]:*                  LISTEN     
 tcp6       0      0 localhost:smtp          [::]:*                  LISTEN     
 tcp6       0      0 [::]:shell              [::]:*                  LISTEN
复制代码


网络异常,图片无法展示
|


2)netstat -tnlp,直接使用ip地址列出所有处于监听状态的TCP端口,且加上程序名。

[root@localhost ~]# netstat -tnlp
 Active Internet connections (only servers)
 Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
 tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      1/systemd           
 tcp        0      0 192.168.122.1:53        0.0.0.0:*               LISTEN      1462/dnsmasq        
 tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1113/sshd           
 tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      1111/cupsd          
 tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1394/master         
 tcp        0      0 0.0.0.0:514             0.0.0.0:*               LISTEN      798/rsyslogd        
 tcp6       0      0 :::111                  :::*                    LISTEN      1/systemd           
 tcp6       0      0 :::22                   :::*                    LISTEN      1113/sshd           
 tcp6       0      0 ::1:631                 :::*                    LISTEN      1111/cupsd          
 tcp6       0      0 ::1:25                  :::*                    LISTEN      1394/master         
 tcp6       0      0 :::514                  :::*                    LISTEN      798/rsyslogd
相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。 &nbsp; &nbsp; 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
4月前
|
安全 Linux iOS开发
SonarQube Server 2025 Release 5 (macOS, Linux, Windows) - 代码质量、安全与静态分析工具
SonarQube Server 2025 Release 5 (macOS, Linux, Windows) - 代码质量、安全与静态分析工具
252 0
SonarQube Server 2025 Release 5 (macOS, Linux, Windows) - 代码质量、安全与静态分析工具
|
5月前
|
安全 Linux C++
PVS‑Studio 7.38 for macOS, Linux & Windows - 代码质量安全静态分析
PVS‑Studio 7.38 for macOS, Linux & Windows - 代码质量安全静态分析
233 0
PVS‑Studio 7.38 for macOS, Linux & Windows - 代码质量安全静态分析
|
6月前
|
安全 应用服务中间件 网络安全
在Linux环境部署Flask应用并启用SSL/TLS安全协议
至此,你的Flask应用应该能够通过安全的HTTPS协议提供服务了。记得定期更新SSL证书,Certbot可以帮你自动更新证书。可以设定cronjob以实现这一点。
431 10
|
6月前
|
安全 Linux iOS开发
Burp Suite Professional 2025.7 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
Burp Suite Professional 2025.7 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
619 0
Burp Suite Professional 2025.7 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
|
6月前
|
Java Linux 网络安全
Linux云端服务器上部署Spring Boot应用的教程。
此流程涉及Linux命令行操作、系统服务管理及网络安全知识,需要管理员权限以进行配置和服务管理。务必在一个测试环境中验证所有步骤,确保一切配置正确无误后,再将应用部署到生产环境中。也可以使用如Ansible、Chef等配置管理工具来自动化部署过程,提升效率和可靠性。
685 13
|
5月前
|
存储 数据采集 监控
ubuntu(linux)系统主要应用于哪些工业场景中?研维三防ubuntu系统的手持工业三防平板电脑在哪些行业中有实际应用
Ubuntu 系统凭借其独特的优势,在众多工业场景中得到了广泛应用,为工业数字化、智能化发展提供了有力支持。而研维三防基于 Ubuntu 定制系统的手持工业三防平板电脑,更是将 Ubuntu 系统的优势与工业级的性能、坚固耐用性完美结合,在电力、物流、制造等多个行业中展现出强大的应用价值,助力企业提高生产效率、优化管理流程、提升产品质量,成为推动工业现代化发展的重要力量。随着技术的不断进步与创新,相信 Ubuntu 系统以及研维三防这类工业级设备将在更多的工业领域中发挥更大的作用,为工业发展带来更多的机遇与变革。
|
8月前
|
安全 Linux iOS开发
PVS‑Studio 7.36 for macOS, Linux & Windows - 代码质量安全静态分析
PVS‑Studio 7.36 for macOS, Linux & Windows - 代码质量安全静态分析
192 1
PVS‑Studio 7.36 for macOS, Linux & Windows - 代码质量安全静态分析
|
安全 Linux 数据安全/隐私保护
Vanilla OS:下一代安全 Linux 发行版
【10月更文挑战第30天】
821 0
Vanilla OS:下一代安全 Linux 发行版
|
存储 缓存 监控
Linux缓存管理:如何安全地清理系统缓存
在Linux系统中,内存管理至关重要。本文详细介绍了如何安全地清理系统缓存,特别是通过使用`/proc/sys/vm/drop_caches`接口。内容包括清理缓存的原因、步骤、注意事项和最佳实践,帮助你在必要时优化系统性能。
1275 78
|
11月前
|
人工智能 Linux iOS开发
Burp Suite Professional 2025.2 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
Burp Suite Professional 2025.2 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
538 12
Burp Suite Professional 2025.2 (macOS, Linux, Windows) - Web 应用安全、测试和扫描

热门文章

最新文章