系统安全及应用
一.开关机安全控制
① 调整BIOS引导设置
② GRUB限制
二.终端登录安全控制
① 限制root只在安全终端登录
② 禁止普通用户登录
举例
三.系统弱口令检测
① Joth the Ripper,简称为 JR
② 安装JR工具
③ 检测弱口令账号
④ 密码文件的暴力破解
四.网络端口扫描
① NMAP
② 常用的选项和扫描类型
举例

一.开关机安全控制
① 调整BIOS引导设置
• 将第一引导设备设为当前系统所在硬盘

• 禁止从其他设备(光盘、U盘、网络)引导系统

• 将安全级别设为setup,并设置管理员密码

② GRUB限制
• 使用grub2-mkpasswd-pbkdf2生成密钥

• 修改/etc/grub.d/00_ header文件中, 添加密码记录

• 生成新的grub.cfg配置文件

限制更改GRUB 引导参数

通常情况下在系统开机进入GRUB菜单时,按 e 键可以查看并修改GRUB引导参数,这对服务器是–个极大的威胁

可以为GRUB菜单设置一个密码,只有提供正确的密码才被允许修改引导参数

二.终端登录安全控制
限制root只在安全终端登录
安全终端配置:/etc/securetty

② 禁止普通用户登录
• 建立/etc/nologin文件

• 删除nologin文件或重启后即恢复正常

详情:

禁止root用户登录

在Linux系统中,login 程序会读取/etc/securetty文件,以决定允许root 用户从哪些终端(安全终端)登录系统

禁止普通用户登录

login程序会检查/etc/nologin文件是否存在,如果存在,则拒绝普通用户登录系统(root 用户不受限制)

举例

vim /etc/securetty
限制root只在安全终端登录

注:按ctrl+Alt+F1回到图形化界面

建立/etc/nologin文件
禁止普通用户登录

注:此操作是临时性的,且只对普通用户有用

三.系统弱口令检测
John the Ripper是一款开源的密码破解工具,可使用密码字典(包含各种密码组合的列表文件)来进行暴力破解

① Joth the Ripper,简称为 JR
• 一款密码分析工具,支持字典式的暴力破解

• 通过对shadow文件的口令分析,可以检测密码强度

• 官方网站: http://www.openwall.com/john/

② 安装JR工具
• 安装方法
make clean 系统类型

• 主程序文件为john

③ 检测弱口令账号
• 获得Linux/Unix服务器的shadow文件

• 执行john程序,将shadow文件作为参数

④ 密码文件的暴力破解
• 准备好密码字典文件,默认为password.lst

• 执行john程序,结合- -wordlist=字典文件

详情步骤:

四.网络端口扫描
NMAP是一个强大的端1扫描类安全评测工具,支持ping扫描、多端口检测等多种技术

安装NMAP软件包
rpm -qa | grep nmap
yum install -y nmap

① NMAP
namp 【扫描类型】【选项】<扫描目标>

• 一款强大的网络扫描、安全检测工具

• 官方网站: htp://nmap.org/

• CentOS 7.3光盘中安装包nmap-6.40-7.el7 .x86_ 64.rpm

② 常用的选项和扫描类型
-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通而放弃扫描

natstat命令常用选项:
-a: 显示主机中所有活动的网络连接信息(包括监听、非监听状态的服务端口)

-n: 以数字的形式显示相关的主机地址、端CI等信息

-t: 查看TCP相关的信息

-u: 显示UDP协议相关的信息

-P: 显示与网络连接相关联的进程号、进程名称信息( 该选项需要root 权限)

-r: 显示路由表信息

-l:显示处于监听状态的网络连接及端口信息

示例:

注:127.0.0.1本机回环网口

举例

netstat -natp
查看正在运行的使用TCP协议的网络状态信息

netstat -naup
查看正在运行的使用UDP协议的网络状态信息

L inux系统安全及应用---暴力破解密码的更多相关文章

  1. C#.NET 大型企业信息化系统集成快速开发平台 4.2 版本 - 防止暴力破解密码、提高大型信息系统安全

    几十万人使用的系统.覆盖全国.每天营业额上好几个亿的.若信息安全方面太薄弱了.那将会是致命的打击.甚至威胁到企业的正常运转.从国家层面到企业级别大家都在重视信息的安全.可控. 运行速度慢一点点可以忍受 ...

  2. python 暴力破解密码脚本

    python 暴力破解密码脚本 以下,仅为个人测试代码,环境也是测试环境,暴力破解原理都是一样的, 假设要暴力破解登陆网站www.a.com 用户 testUser的密码, 首先,该网站登陆的验证要支 ...

  3. 教你用免费的hihttps开源WEB应用防火墙阻止暴力破解密码

    教你用免费的hihttps开源WEB应用防火墙阻止暴力破解密码 很多企业都有自己的网站,需要用户登录后才能访问,但有大量的黑客攻击软件可以暴力破解网站密码,即使破解不了也非常恶心.有没有免费的解决办法 ...

  4. Windows Server 2016 服务器总是有暴力破解密码导致的审核失败

    最近看了一下公司服务器的日志,在安全里,总是有审核失败,特别烦人,尝试密码特别弱智,总是用Administrator做用户名,不停的变换密码,真的烦,用户里面根本就没有Administrator,早就 ...

  5. ASP.NET基础学习(暴力破解密码)

    首先写出一段登陆程序: //ashx端 <%@ WebHandler Language="C#" Class="AddCalation" %> us ...

  6. CUDA—使用GPU暴力破解密码

    GPU支持大规模的并行加速运算,胜在量上,CPU处理大量的并行运算显得力不从心,它是胜在逻辑上.利用显卡加速的应用越来越多,但如果说GPU即将或最终将替代CPU还有点言过其实,二者最终将优势互补,各尽 ...

  7. 用python 编写redis 暴力破解密码的程序

    本文摘自http://blog.knownsec.com/2015/11/analysis-of-redis-unauthorized-of-expolit/ import redisimport l ...

  8. Centos下防止暴力破解密码 - Denyhost

    参考: http://www.centoscn.com/shell/2015/0703/5781.html 从http://sourceforge.net/projects/denyhosts/fil ...

  9. Centos下防止ssh暴力破解密码

    参考文章地址:https://yq.aliyun.com/ziliao/48446 https://www.cnblogs.com/lsdb/p/7095288.html 1.收集 /var/log/ ...

随机推荐

  1. [leetcode] 875. 爱吃香蕉的珂珂(周赛)

    875. 爱吃香蕉的珂珂 这题时间要求比较严格... 首先,将piles排序,然后二分查找. 总之,答案K肯定位于piles[?]piles[?+1]或者1piles[0]之间 所以我们先二分把?找到 ...

  2. Step By Step(Lua表达式和语句)

    Step By Step(Lua表达式和语句) 一.表达式:    1. 算术操作符:    Lua支持常规算术操作符有:二元的"+"."-"."*& ...

  3. 多级中间表示概述MLIR

    多级中间表示概述MLIR MLIR项目是一种构建可重用和可扩展的编译器基础结构的新颖方法.MLIR旨在解决软件碎片,改善异构硬件的编译,显着降低构建特定于域的编译器的成本以及帮助将现有编译器连接在一起 ...

  4. 操作系统-gcc编译器驱动程序

    gcc编译器驱动程序,读取x.c文件,翻译成可执行目标文件x 1.预处理阶段 预处理器(cpp)将x.c(源程序,文本文件)中的#等直接插入程序文本中,成为另一个c程序x.i(文本文件) 2.编译阶段 ...

  5. Spring Cloud系列(一):服务注册中心

    一.Spring Cloud简介 Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智能路由,微代理,控制总线).分布式系统的协调导致了样 ...

  6. 关于switch语句的使用方法---正在苦学java代码的新手之菜鸟日记

    输入月份与年份,判断所输入的月份有多少天. switch支持和不支持的类型 支持的类型 int 类型 short 类型 byte 类型 char 类型 enum (枚举)类型 (java5.0 之后支 ...

  7. Mybatis映射文件中的参数传递

    一.接口中只有一个参数 1.参数是基本类型or基本类型的包装类or字符串类型 这种情况下映射文件中#{}里的内容可以是任意的,你可以使用#{xxx} 或 #{abc} .....因为此时#{}相当于一 ...

  8. C#构造函数中:this()的作用

    通俗来说,可以说是构造函数的继承 (1) :this()用来继承无参时的构造函数,例如下面代码 static void Main(string[] args) { AA aA = new AA(&qu ...

  9. gRPC趁现在还没大火,抢先了解一下

    前言 系统分布式已经成为程序员的家常,将大型单体划分为相对简单的小模块,分散系统能力,提升系统扩展性.功能模块复用性等:各功能模块之间肯定会有很多数据共享和交互的应用场景,那就避免不了各模块之间的通信 ...

  10. Go语言深度比较值是否相等

    Go语言深度比较值是否相等 需求描述: 我们在开发过程中经常会遇到一些需要比较值是否相等的场景,例如比较两个数组.结构体.Map.等,自己写这些代码比较繁琐,大部分时候这里都可以使用到反射reflec ...