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 点击打开 进入之后,右键点击你想要检查分区方案的磁盘,在右键菜单里选择属性! 在属性窗口,切换到卷, ...
随机推荐
- php冒泡排序
<?php $arr = array(1,4,2,9,0,10,12,3,7); foreach($arr as $val) { echo $val."--"; } echo ...
- Kafka实战系列--Kafka API使用体验
前言: kafka是linkedin开源的消息队列, 淘宝的metaq就是基于kafka而研发. 而消息队列作为一个分布式组件, 在服务解耦/异步化, 扮演非常重要的角色. 本系列主要研究kafka的 ...
- odoo.cli.main()指的是哪里?OpenERP的第二根线头儿
接上回,odoo-bin中调用了odoo.cli.main(),去哪儿找? cli目录容易找 跟随__init__.py的脚步 import logging import sys import os ...
- struts2 ajax的一种实现方式
/** * ajax请求,通过省份id获取学习中心 */ public void getSitesByPid() { HttpServletResponse response = ServletAct ...
- UIKIT的简介
// // UIKIT各框架的简介 // IOS笔记 // // Created by 刘威成 on 13/12/14. // Copyright © 2015年 刘威成. All rights re ...
- find命令学习
find命令与locate命令的区别: locate: 非实时查找: 依赖于索引,而索引构建非常占用资源,索引的创建是在系统空闲时系统自动进行,可以用updatedb命令更新索引: 查找速度快: 非精 ...
- [hdu 3376]Matrix Again
这题就是真正的费用流了,用 大屁 就算不超时,你也有个 CE :数组 so large 拆点,费用取反,最大费用最大流即可了喵~ 不过似乎这题很不兼容 dijkstra 的样子 就算用 spfa 重赋 ...
- Python中optionParser模块的使用方法[转]
本文以实例形式较为详尽的讲述了Python中optionParser模块的使用方法,对于深入学习Python有很好的借鉴价值.分享给大家供大家参考之用.具体分析如下: 一般来说,Python中有两个内 ...
- 鼠标滚动事件兼容性 wheel、onwheel
wheelEvent = "onwheel" in document.createElement("div") ? "wheel" : // ...
- 【C】 03 - 数据类型
程序说到底就是对数据的处理,所以首先要弄清楚需要处理哪些数据,计算机如何存储这些数据.C语言根据需要,抽象出了一些基本数据类型和衍生数据类型.这些可以满足大部分需求,更复杂的抽象数据类型亦可通过它们来 ...