Linux_09------Linux上系统扫描和安全策略
先谢慕课网
/**
* linux系统扫描技术
*
* 主机扫描、路由扫描、批量服务扫描、系统安全策略(防SYN和ddos攻击)
*/ /**
* 主机扫描
* ping fping hping
*
* fping
* fping安装
* 下载:
* (mkdir /Services && cd /Services)
* wgget http://www.fping.org/dist/fping-3.13.tar.gz
* 解压:
* tar -zxvf ./fping-3.13.tar.gz
* 安装:
* cd fping-3.13
* ./configure
* make
* make install
*
* fping参数
* -h
* -a 只显示出存活的主机
* -u 只显示出不存活的主机
* -g 支持主机段的方式
* -f 支持文件的方式
*
* fping +IP1 + IP2
* fping -g 192.168.1.1 192.168.1.255
* fping -g 192.168.1.1/24
* fping -f filename
* fping -a -g 120.77.140.1 120.77.140.10 > alive.log
*
*
* hping
* icmp包被屏蔽时,用hping,支持TCP/IP数据包组装
* hping安装
* 下载:
* wget https://github.com/antirez/hping/archive/master.zip
* 解压:
* unzip master.zip
* 安装:
* error: pcap.h: No such file or directory ->需要依赖包(pcap)
* yum list |grep pcap
* yum -y install "*pcap*"
* error: net/bpf.h: No such file or directory->找不到bpf.h
* find / -name bpf.h
* ln -sf /usr/include/pcap/bpf.h /usr/include/net/bpf.h
* /usr/bin/ld: cannot find -ltcl->需要安装ltcl
* yum list |grep tcl
* yum -y install "*tcl*"
* ./configure
* make
* make strip
* make install
*
* hping参数
* 对特定目标发起tcp探测
* -p 端口 探测目标主机的端口
* -S 设置TCP模式 SYN包
* -a 伪造ip 伪造来源IP,模拟ddos攻击
*
* hping -p 22 -S 121.43.156.66
* ping 121.43.156.33
* 可以ping通,
* 连接上121.43.156.66:sysctl -w net.ipv4.icmp_echo_ignore_all=1 禁ping
* 再次通过hping和ping发现ping不通了但是hping还是可以通的。
*
* 在121.43.156.66上通过tcpdump -np -ieth1 src host 120.76.140.88抓取120.76.140.88发送过来的包
* hping -p 22 -S 121.43.156.66 -a 121.76.140.88
*/ /**
* 路由扫描
* 查询一个主机到另一个主机经过的路由跳数,及数据延迟情况
* tracert ntr
* mtr能测试出一个主机到每一个路由间的连通性
*
* tracerout
* 默认已经安装的
* 1.默认使用的是UDP协议(30000以上的读研口)
* 2.使用TCP协议 -T -P
* 3.使用ICMP协议 -I
*
* traceroute www.baidu.com
* traceroute -n www.baidu.com
* traceroute -T -p 80 -n www.baidu.com
*
* mtr
* 默认已经安装
* mtr www.baidu.com
* loss项
*
* 查看路由跳数,丢包情况。
*/ /**
* 批量主机服务扫描
* 目的:批量主机存活扫描、针对主机服务扫描
* 能快捷获取网络中主机的存活状态
* 更加细致、只能获取主机服务侦查情况
* nmap ncat
*
* nmap
* -P ICMP协议类型 ping扫描
* -sS TCP SYN扫描 TCP半开放扫描
* -sT TCP connect()扫描 TCP全开放扫描
* -sU UDP扫描 UDP协议扫描
*
* nmap -sP 120.76.140.1/24 主机段扫描,查看存活的主机
* name -sS 120.76.140.1/24 没有建立三次握手,只发送SYN包
*
* nmap -sS 121.43.156.66 查看主机开启的端口(通常扫描到1024及常用端口)
* nmap -sS -p 0-30000 121.43.156.66 指定扫描端口范围
*
* nmap -sT -p 0-30000 121.43.156.66 建立全握手,模拟真实的用户请求
*
* nmap -sU 121.43.156.66 有效透过防火墙,但是比较慢
*
* ncat
* 安全测试的工具
* -w 设置超时时间
* -z 一个输入输出模式
* -v 显示命令执行过程
*
* * yum -y install nc
* 方式一、基于tcp协议(默认)
* nc -v -z -w2 121.43.156.66 1-50
* 方式二、基于udp协议-u
* nc -v -u -z -w2 121.43.156.66 1-50->要等待很久
*/ /**
* 预防策略
* 常见的攻击方法:SYN攻击、DDOS攻击、恶意扫描
*
* SYN攻击:
* 利用TCP协议缺陷,导致系统服务停止,网络带宽跑满或者响应缓慢
* 攻击的机器伪造一个源IP(hping -a),目标机器回应给伪造IP,增加记录到backlog,但是目标机器无法获得第三次响应,
* 会不断重试,一直处于等待,backlog无法删除,导致带宽跑满等问题。
* 1.增加backlog队列长度
* 2.调节重试的次数
* 3.拒绝第三次握手
* DDOS攻击:
* 分布式访问拒绝服务(多个访问,海量访问导致服务响应不过来)
*
* (永久生效需要修改/etc/sysctl.config文件,减少到3次)
* 方式一:减少发送syn+ack包时的重试次数
* sysctl -w net.ipv4.tcp_synack_retries=3
* sysctl -w net.ipv4.tcp_syn_retries=3
* 方式二:SYN cookies技术
* sysctl -w net.ipv4.tcp_syncookies=1
* 方式三:增加backlog队列长度
* sysctl -w net.ipv4.tcp_max_syn_backlog=2048
* 这个值和内存有关。
*
* 其他预防策略
* 1.关闭icmp协议请求
* sysctl -w net.ipv4.icmp_echo_ignore_all=1
* 2.通过iptables方式拒绝扫描
* iptables -A FORWARD -p tcp -syn -m limit -limit 1/s -limit-burst 5 -j ACCEPT
* iptables -A FORWARD -p tcp -tcp-flags SYN,ACK,FIN,RST RST -m limit -limit 1/s -j ACCEPT
* iptables -A FORWARD -p icmp -icmp-type echo-request -m limit -limit 1/s -j ACCEPT
* (iptables后续)
*/
Linux_09------Linux上系统扫描和安全策略的更多相关文章
- linux上如何安装postgresql
安装对应的postgresql的yum源 rpm -Uvh https://download.postgresql.org/pub/repos/yum/9.4/redhat/rhel-7-x86_64 ...
- Linux系统扫描技术及安全防范
1.概述 一.主机扫描 二.路由扫描 三.批量服务扫描 四.linux防范恶意扫描安全策略 一个典型的网络安全事件 ·案例:通过网络扫描方式获取某运营商核心设备管理权限 step01:通过tracer ...
- 安卓手持智能POS端上能扫描开单的软件-店面销售开单系统
安卓移动POS终端上能扫描开单的软件: 一.登录验证,以业务员.密码登录: 二.订单列表,显示相关信息,包括日期.单据号.客户名.金额.单据状态.有新增订单及按特定条件查询订单的功能(日期.客户等). ...
- Linux Centos 系统上安装BT客户端 Transmission
Linux Centos 系统上安装BT客户端 Transmission Transmission是一种BitTorrent客户端,特点是一个跨平台的后端和其上的简洁的用户界面,以MIT许可证和G ...
- 如何在 Linux 上复制文件/文件夹到远程系统?
从一个服务器复制文件到另一个服务器,或者从本地到远程复制是 Linux 管理员的日常任务之一. 我觉得不会有人不同意,因为无论在哪里这都是你的日常操作之一.有很多办法都能处理这个任务,我们试着加以概括 ...
- Linux CentOS系统上安装Eclipse
Linux CentOS系统上安装Eclipse 1. 下载Eclipse软件 下载网址:http://www.eclipse.org/downloads/packages/release/Juno/ ...
- sar 找出系统瓶颈的利器 目前Linux上最为全面的系统性能分析工具之一 直接 sar -dur 1 30 即可看内存 CPU和IO占用
12. sar 找出系统瓶颈的利器 sar是System Activity Reporter(系统活动情况报告)的缩写.sar工具将对系统当前的状态进行取样,然后通过计算数据和比例来表达系统的当前运行 ...
- [apue] Linux / Windows 系统上只能建立不超过 PATH_MAX / MAX_PATH 长度的路径吗?
问题的提出 在处理文件系统路径的时候,我们一般会先开辟一块内存区,用来接收路径.或者拼接好路径传递给系统调用.这是因为路径在各个系统上都有最大长度限制,在 Windows 上这个值是 MAX_PATH ...
- 如何在 Windows 和 Linux 上确定系统使用的是 MBR 分区还是 GPT 分区详细步骤!!!
在 Windows 上检查系统使用的是 MBR 分区还是 GPT 分区 点击放大镜搜索输入disk 点击打开 进入之后,右键点击你想要检查分区方案的磁盘,在右键菜单里选择属性! 在属性窗口,切换到卷, ...
随机推荐
- 【Avalon】factory
(function(global, factory) { if (typeof module === "object" && typeof module.expor ...
- JSP内置对象的解析
JSP九大对象及四大作用域并与之对应图表: 隐式对象 作用域 所属类 application application javax.servlet.ServletContext session sess ...
- HDU 2577(DP)
题意:要求一个字符串输入,按键盘的最少次数.有Caps Lock和Shift两种转换大小写输入的方式 思路:用dpa与dpb数组分别记录Caps Lock的开关状态,dpa表示不开,dpb表示开 代码 ...
- Mac 下 Intellij IDEA 2016.1.2+maven+jetty+ JRebel 6.4.3 破解+spring mvc
准备阶段: Intellij IDEA 2016.1.2 (官方下载,作者下载的是社区版): JRebel for IntelliJ插件安装,可选择在线安装,在线安装的是最新版,我选择本地安装, 下 ...
- pt-online-schema-change 实例
pt-pmp (http://www.cnblogs.com/ivictor/p/6012183.html) pt-online-schema-change (http://blog.csdn.net ...
- Emmet 真是个好东西
他的官网:http://docs.emmet.io/ 给广大程序员节省时间 #page>div.logo+ul#navigation>li*5>a{Item $}生产 <div ...
- SpringMVC学习系列(1) 之 初识SpringMVC
1.前言: 与SpringMVC的结识源于个人之前想做一个微信公众账号的管理平台玩玩,既然要做就需要考虑平台的选择问题.由于我的朋友只有一台运行了Linux系统的虚拟主机,且上面还运行有他自己的一些论 ...
- VS2010 + Entity FrameWork 4.4 +Mvc 4.0 出现的错误
Compiler Error Message: CS0012: The type 'System.Data.Objects.DataClasses.EntityObject' is defined i ...
- SpringMVC 中获取所有的路由配置。
ApplicationContext context = TMSContextLookup.getApplicationContext(); String[] controllerList = con ...
- ssh 协议执行repo sync 报错:Permission denied (publickey)
1.ssh key 已经添加ssh key到gerrit服务器,并且执行ssh协议的git clone可以正常克隆代码到本地,可见不是ssh key的问题. 2.manifest清单文件配置 最初在m ...