电脑怎么关闭防火墙?

时间:2025-02-04 06:04 人气:0 编辑:招聘街

一、电脑怎么关闭防火墙?

题主你好,我是小白一键重装软件的客服,问题的解决方法如下:

win10怎么关闭电脑防火墙

首先在Win10桌面找到“网络”图标,然后在其上鼠标右键,在弹出的右键菜单中,点击进入“属性”

在打开的网络和共享中心界面的左下角就可以找到“Windows防火墙”设置选项,点击进入

打开Windows防火墙设置后,就可以进行“启用或关闭Windows防火墙”、“还原默认”、“高级设置”等操作,如果要关闭防火墙,则点击进入“启用或关闭Windows防火墙”选项

最后只需要将网络设置选择为“关闭Windows防火墙(不推荐)”,然后点击底部的“确定”保存设置就可以了。

以上就是win10关闭电脑防火墙的操作流程了。

二、mahout面试题?

之前看了Mahout官方示例 20news 的调用实现;于是想根据示例的流程实现其他例子。网上看到了一个关于天气适不适合打羽毛球的例子。

训练数据:

Day Outlook Temperature Humidity Wind PlayTennis

D1 Sunny Hot High Weak No

D2 Sunny Hot High Strong No

D3 Overcast Hot High Weak Yes

D4 Rain Mild High Weak Yes

D5 Rain Cool Normal Weak Yes

D6 Rain Cool Normal Strong No

D7 Overcast Cool Normal Strong Yes

D8 Sunny Mild High Weak No

D9 Sunny Cool Normal Weak Yes

D10 Rain Mild Normal Weak Yes

D11 Sunny Mild Normal Strong Yes

D12 Overcast Mild High Strong Yes

D13 Overcast Hot Normal Weak Yes

D14 Rain Mild High Strong No

检测数据:

sunny,hot,high,weak

结果:

Yes=》 0.007039

No=》 0.027418

于是使用Java代码调用Mahout的工具类实现分类。

基本思想:

1. 构造分类数据。

2. 使用Mahout工具类进行训练,得到训练模型。

3。将要检测数据转换成vector数据。

4. 分类器对vector数据进行分类。

接下来贴下我的代码实现=》

1. 构造分类数据:

在hdfs主要创建一个文件夹路径 /zhoujainfeng/playtennis/input 并将分类文件夹 no 和 yes 的数据传到hdfs上面。

数据文件格式,如D1文件内容: Sunny Hot High Weak

2. 使用Mahout工具类进行训练,得到训练模型。

3。将要检测数据转换成vector数据。

4. 分类器对vector数据进行分类。

这三步,代码我就一次全贴出来;主要是两个类 PlayTennis1 和 BayesCheckData = =》

package myTesting.bayes;

import org.apache.hadoop.conf.Configuration;

import org.apache.hadoop.fs.FileSystem;

import org.apache.hadoop.fs.Path;

import org.apache.hadoop.util.ToolRunner;

import org.apache.mahout.classifier.naivebayes.training.TrainNaiveBayesJob;

import org.apache.mahout.text.SequenceFilesFromDirectory;

import org.apache.mahout.vectorizer.SparseVectorsFromSequenceFiles;

public class PlayTennis1 {

private static final String WORK_DIR = "hdfs://192.168.9.72:9000/zhoujianfeng/playtennis";

/*

* 测试代码

*/

public static void main(String[] args) {

//将训练数据转换成 vector数据

makeTrainVector();

//产生训练模型

makeModel(false);

//测试检测数据

BayesCheckData.printResult();

}

public static void makeCheckVector(){

//将测试数据转换成序列化文件

try {

Configuration conf = new Configuration();

conf.addResource(new Path("/usr/local/hadoop/conf/core-site.xml"));

String input = WORK_DIR+Path.SEPARATOR+"testinput";

String output = WORK_DIR+Path.SEPARATOR+"tennis-test-seq";

Path in = new Path(input);

Path out = new Path(output);

FileSystem fs = FileSystem.get(conf);

if(fs.exists(in)){

if(fs.exists(out)){

//boolean参数是,是否递归删除的意思

fs.delete(out, true);

}

SequenceFilesFromDirectory sffd = new SequenceFilesFromDirectory();

String[] params = new String[]{"-i",input,"-o",output,"-ow"};

ToolRunner.run(sffd, params);

}

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

System.out.println("文件序列化失败!");

System.exit(1);

}

//将序列化文件转换成向量文件

try {

Configuration conf = new Configuration();

conf.addResource(new Path("/usr/local/hadoop/conf/core-site.xml"));

String input = WORK_DIR+Path.SEPARATOR+"tennis-test-seq";

String output = WORK_DIR+Path.SEPARATOR+"tennis-test-vectors";

Path in = new Path(input);

Path out = new Path(output);

FileSystem fs = FileSystem.get(conf);

if(fs.exists(in)){

if(fs.exists(out)){

//boolean参数是,是否递归删除的意思

fs.delete(out, true);

}

SparseVectorsFromSequenceFiles svfsf = new SparseVectorsFromSequenceFiles();

String[] params = new String[]{"-i",input,"-o",output,"-lnorm","-nv","-wt","tfidf"};

ToolRunner.run(svfsf, params);

}

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

System.out.println("序列化文件转换成向量失败!");

System.out.println(2);

}

}

public static void makeTrainVector(){

//将测试数据转换成序列化文件

try {

Configuration conf = new Configuration();

conf.addResource(new Path("/usr/local/hadoop/conf/core-site.xml"));

String input = WORK_DIR+Path.SEPARATOR+"input";

String output = WORK_DIR+Path.SEPARATOR+"tennis-seq";

Path in = new Path(input);

Path out = new Path(output);

FileSystem fs = FileSystem.get(conf);

if(fs.exists(in)){

if(fs.exists(out)){

//boolean参数是,是否递归删除的意思

fs.delete(out, true);

}

SequenceFilesFromDirectory sffd = new SequenceFilesFromDirectory();

String[] params = new String[]{"-i",input,"-o",output,"-ow"};

ToolRunner.run(sffd, params);

}

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

System.out.println("文件序列化失败!");

System.exit(1);

}

//将序列化文件转换成向量文件

try {

Configuration conf = new Configuration();

conf.addResource(new Path("/usr/local/hadoop/conf/core-site.xml"));

String input = WORK_DIR+Path.SEPARATOR+"tennis-seq";

String output = WORK_DIR+Path.SEPARATOR+"tennis-vectors";

Path in = new Path(input);

Path out = new Path(output);

FileSystem fs = FileSystem.get(conf);

if(fs.exists(in)){

if(fs.exists(out)){

//boolean参数是,是否递归删除的意思

fs.delete(out, true);

}

SparseVectorsFromSequenceFiles svfsf = new SparseVectorsFromSequenceFiles();

String[] params = new String[]{"-i",input,"-o",output,"-lnorm","-nv","-wt","tfidf"};

ToolRunner.run(svfsf, params);

}

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

System.out.println("序列化文件转换成向量失败!");

System.out.println(2);

}

}

public static void makeModel(boolean completelyNB){

try {

Configuration conf = new Configuration();

conf.addResource(new Path("/usr/local/hadoop/conf/core-site.xml"));

String input = WORK_DIR+Path.SEPARATOR+"tennis-vectors"+Path.SEPARATOR+"tfidf-vectors";

String model = WORK_DIR+Path.SEPARATOR+"model";

String labelindex = WORK_DIR+Path.SEPARATOR+"labelindex";

Path in = new Path(input);

Path out = new Path(model);

Path label = new Path(labelindex);

FileSystem fs = FileSystem.get(conf);

if(fs.exists(in)){

if(fs.exists(out)){

//boolean参数是,是否递归删除的意思

fs.delete(out, true);

}

if(fs.exists(label)){

//boolean参数是,是否递归删除的意思

fs.delete(label, true);

}

TrainNaiveBayesJob tnbj = new TrainNaiveBayesJob();

String[] params =null;

if(completelyNB){

params = new String[]{"-i",input,"-el","-o",model,"-li",labelindex,"-ow","-c"};

}else{

params = new String[]{"-i",input,"-el","-o",model,"-li",labelindex,"-ow"};

}

ToolRunner.run(tnbj, params);

}

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

System.out.println("生成训练模型失败!");

System.exit(3);

}

}

}

package myTesting.bayes;

import java.io.IOException;

import java.util.HashMap;

import java.util.Map;

import org.apache.commons.lang.StringUtils;

import org.apache.hadoop.conf.Configuration;

import org.apache.hadoop.fs.Path;

import org.apache.hadoop.fs.PathFilter;

import org.apache.hadoop.io.IntWritable;

import org.apache.hadoop.io.LongWritable;

import org.apache.hadoop.io.Text;

import org.apache.mahout.classifier.naivebayes.BayesUtils;

import org.apache.mahout.classifier.naivebayes.NaiveBayesModel;

import org.apache.mahout.classifier.naivebayes.StandardNaiveBayesClassifier;

import org.apache.mahout.common.Pair;

import org.apache.mahout.common.iterator.sequencefile.PathType;

import org.apache.mahout.common.iterator.sequencefile.SequenceFileDirIterable;

import org.apache.mahout.math.RandomAccessSparseVector;

import org.apache.mahout.math.Vector;

import org.apache.mahout.math.Vector.Element;

import org.apache.mahout.vectorizer.TFIDF;

import com.google.common.collect.ConcurrentHashMultiset;

import com.google.common.collect.Multiset;

public class BayesCheckData {

private static StandardNaiveBayesClassifier classifier;

private static Map<String, Integer> dictionary;

private static Map<Integer, Long> documentFrequency;

private static Map<Integer, String> labelIndex;

public void init(Configuration conf){

try {

String modelPath = "/zhoujianfeng/playtennis/model";

String dictionaryPath = "/zhoujianfeng/playtennis/tennis-vectors/dictionary.file-0";

String documentFrequencyPath = "/zhoujianfeng/playtennis/tennis-vectors/df-count";

String labelIndexPath = "/zhoujianfeng/playtennis/labelindex";

dictionary = readDictionnary(conf, new Path(dictionaryPath));

documentFrequency = readDocumentFrequency(conf, new Path(documentFrequencyPath));

labelIndex = BayesUtils.readLabelIndex(conf, new Path(labelIndexPath));

NaiveBayesModel model = NaiveBayesModel.materialize(new Path(modelPath), conf);

classifier = new StandardNaiveBayesClassifier(model);

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

System.out.println("检测数据构造成vectors初始化时报错。。。。");

System.exit(4);

}

}

/**

* 加载字典文件,Key: TermValue; Value:TermID

* @param conf

* @param dictionnaryDir

* @return

*/

private static Map<String, Integer> readDictionnary(Configuration conf, Path dictionnaryDir) {

Map<String, Integer> dictionnary = new HashMap<String, Integer>();

PathFilter filter = new PathFilter() {

@Override

public boolean accept(Path path) {

String name = path.getName();

return name.startsWith("dictionary.file");

}

};

for (Pair<Text, IntWritable> pair : new SequenceFileDirIterable<Text, IntWritable>(dictionnaryDir, PathType.LIST, filter, conf)) {

dictionnary.put(pair.getFirst().toString(), pair.getSecond().get());

}

return dictionnary;

}

/**

* 加载df-count目录下TermDoc频率文件,Key: TermID; Value:DocFreq

* @param conf

* @param dictionnaryDir

* @return

*/

private static Map<Integer, Long> readDocumentFrequency(Configuration conf, Path documentFrequencyDir) {

Map<Integer, Long> documentFrequency = new HashMap<Integer, Long>();

PathFilter filter = new PathFilter() {

@Override

public boolean accept(Path path) {

return path.getName().startsWith("part-r");

}

};

for (Pair<IntWritable, LongWritable> pair : new SequenceFileDirIterable<IntWritable, LongWritable>(documentFrequencyDir, PathType.LIST, filter, conf)) {

documentFrequency.put(pair.getFirst().get(), pair.getSecond().get());

}

return documentFrequency;

}

public static String getCheckResult(){

Configuration conf = new Configuration();

conf.addResource(new Path("/usr/local/hadoop/conf/core-site.xml"));

String classify = "NaN";

BayesCheckData cdv = new BayesCheckData();

cdv.init(conf);

System.out.println("init done...............");

Vector vector = new RandomAccessSparseVector(10000);

TFIDF tfidf = new TFIDF();

//sunny,hot,high,weak

Multiset<String> words = ConcurrentHashMultiset.create();

words.add("sunny",1);

words.add("hot",1);

words.add("high",1);

words.add("weak",1);

int documentCount = documentFrequency.get(-1).intValue(); // key=-1时表示总文档数

for (Multiset.Entry<String> entry : words.entrySet()) {

String word = entry.getElement();

int count = entry.getCount();

Integer wordId = dictionary.get(word); // 需要从dictionary.file-0文件(tf-vector)下得到wordID,

if (StringUtils.isEmpty(wordId.toString())){

continue;

}

if (documentFrequency.get(wordId) == null){

continue;

}

Long freq = documentFrequency.get(wordId);

double tfIdfValue = tfidf.calculate(count, freq.intValue(), 1, documentCount);

vector.setQuick(wordId, tfIdfValue);

}

// 利用贝叶斯算法开始分类,并提取得分最好的分类label

Vector resultVector = classifier.classifyFull(vector);

double bestScore = -Double.MAX_VALUE;

int bestCategoryId = -1;

for(Element element: resultVector.all()) {

int categoryId = element.index();

double score = element.get();

System.out.println("categoryId:"+categoryId+" score:"+score);

if (score > bestScore) {

bestScore = score;

bestCategoryId = categoryId;

}

}

classify = labelIndex.get(bestCategoryId)+"(categoryId="+bestCategoryId+")";

return classify;

}

public static void printResult(){

System.out.println("检测所属类别是:"+getCheckResult());

}

}

三、webgis面试题?

1. 请介绍一下WebGIS的概念和作用,以及在实际应用中的优势和挑战。

WebGIS是一种基于Web技术的地理信息系统,通过将地理数据和功能以可视化的方式呈现在Web浏览器中,实现地理空间数据的共享和分析。它可以用于地图浏览、空间查询、地理分析等多种应用场景。WebGIS的优势包括易于访问、跨平台、实时更新、可定制性强等,但也面临着数据安全性、性能优化、用户体验等挑战。

2. 请谈谈您在WebGIS开发方面的经验和技能。

我在WebGIS开发方面有丰富的经验和技能。我熟悉常用的WebGIS开发框架和工具,如ArcGIS API for JavaScript、Leaflet、OpenLayers等。我能够使用HTML、CSS和JavaScript等前端技术进行地图展示和交互设计,并能够使用后端技术如Python、Java等进行地理数据处理和分析。我还具备数据库管理和地理空间数据建模的能力,能够设计和优化WebGIS系统的架构。

3. 请描述一下您在以往项目中使用WebGIS解决的具体问题和取得的成果。

在以往的项目中,我使用WebGIS解决了许多具体问题并取得了显著的成果。例如,在一次城市规划项目中,我开发了一个基于WebGIS的交通流量分析系统,帮助规划师们评估不同交通方案的效果。另外,在一次环境监测项目中,我使用WebGIS技术实现了实时的空气质量监测和预警系统,提供了准确的空气质量数据和可视化的分析结果,帮助政府和公众做出相应的决策。

4. 请谈谈您对WebGIS未来发展的看法和期望。

我认为WebGIS在未来会继续发展壮大。随着云计算、大数据和人工智能等技术的不断进步,WebGIS将能够处理更大规模的地理数据、提供更丰富的地理分析功能,并与其他领域的技术进行深度融合。我期望未来的WebGIS能够更加智能化、个性化,为用户提供更好的地理信息服务,助力各行各业的决策和发展。

四、freertos面试题?

这块您需要了解下stm32等单片机的基本编程和简单的硬件设计,最好能够了解模电和数电相关的知识更好,还有能够会做操作系统,简单的有ucos,freeRTOS等等。最好能够使用PCB画图软件以及keil4等软件。希望对您能够有用。

五、paas面试题?

1.负责区域大客户/行业客户管理系统销售拓展工作,并完成销售流程;

2.维护关键客户关系,与客户决策者保持良好的沟通;

3.管理并带领团队完成完成年度销售任务。

六、面试题类型?

你好,面试题类型有很多,以下是一些常见的类型:

1. 技术面试题:考察候选人技术能力和经验。

2. 行为面试题:考察候选人在过去的工作或生活中的行为表现,以预测其未来的表现。

3. 情境面试题:考察候选人在未知情境下的决策能力和解决问题的能力。

4. 案例面试题:考察候选人解决实际问题的能力,模拟真实工作场景。

5. 逻辑推理题:考察候选人的逻辑思维能力和分析能力。

6. 开放性面试题:考察候选人的个性、价值观以及沟通能力。

7. 挑战性面试题:考察候选人的应变能力和创造力,通常是一些非常具有挑战性的问题。

七、cocoscreator面试题?

需要具体分析 因为cocoscreator是一款游戏引擎,面试时的问题会涉及到不同的方面,如开发经验、游戏设计、图形学等等,具体要求也会因公司或岗位而异,所以需要根据实际情况进行具体分析。 如果是针对开发经验的问题,可能会考察候选人是否熟悉cocoscreator常用API,是否能够独立开发小型游戏等等;如果是针对游戏设计的问题,则需要考察候选人对游戏玩法、关卡设计等等方面的理解和能力。因此,需要具体分析才能得出准确的回答。

八、mycat面试题?

以下是一些可能出现在MyCat面试中的问题:

1. 什么是MyCat?MyCat是一个开源的分布式数据库中间件,它可以将多个MySQL数据库组合成一个逻辑上的数据库集群,提供高可用性、高性能、易扩展等特性。

2. MyCat的优势是什么?MyCat具有以下优势:支持读写分离、支持分库分表、支持自动切换故障节点、支持SQL解析和路由、支持数据分片等。

3. MyCat的架构是怎样的?MyCat的架构包括三个层次:客户端层、中间件层和数据存储层。客户端层负责接收和处理客户端请求,中间件层负责SQL解析和路由,数据存储层负责实际的数据存储和查询。

4. MyCat支持哪些数据库?MyCat目前支持MySQL和MariaDB数据库。

5. MyCat如何实现读写分离?MyCat通过将读请求和写请求分别路由到不同的MySQL节点上实现读写分离。读请求可以路由到多个只读节点上,从而提高查询性能。

6. MyCat如何实现分库分表?MyCat通过对SQL进行解析和路由,将数据按照一定规则划分到不同的数据库或表中,从而实现分库分表。

7. MyCat如何保证数据一致性?MyCat通过在多个MySQL节点之间同步数据,保证数据的一致性。同时,MyCat还支持自动切换故障节点,从而保证系统的高可用性。

8. MyCat的部署方式有哪些?MyCat可以部署在单机上,也可以部署在多台服务器上实现分布式部署。

九、怎么才能精通防火墙技术?

一、防火墙基础知识

防火墙主要用于保护一个网络免受来自另一个网络的攻击和入侵行为。因其隔离、防守的属性,防火墙灵活应用于网络边界、子网隔离等位置,如企业网络出口、大型网络内部子网隔离、数据中心边界等

防火墙与路由器、交换机是有区别的。路由器用来连接不同的网络,通过路由协议保证互联互通,确保将报文转发到目的地;交换机用来组建局域网,作为局域网通信的重要枢纽,通过二层、三层交换快速转发报文;防火墙主要部署在网络边界,对进出网络的访问行为进行控制,安全防护是其核心特性。路由器与交换机的本质是转发,防火墙的本质是控制。

1、接口、网络和安全区域

安全区域,security zone,是一个或多个接口的集合,防火墙通过安全区域来划分网络、标识报文流动的 路线。

在华为防火墙上,一个接口只能加入到一个安全区域中。

Trust区域: 该区域内网络的受信任程度高,通常用来定义内部用户所在的网络。

Untrust区域:该区域代表的是不受信任的网络,通常用来定义Internet等不安全的网络。

Dmz区域:该区域内网络的受信任程度中等,通常用来定义内部服务器所在的网络。

Local区域: 防火墙上提供Local区域,代表防火墙本身。凡是由防火墙主动发出的报文均可认为是从Local区域中发出,凡是需要防火墙响应并处理,而不是转发的报文均可认为是由 Local接收。

Local 区域中不能添加任何接口,但防火墙上所有接口本身都隐含属于Local区域。也就是说,报文通过接口去往某个网络时,目的安全区域是该接口所在的安全区域;报文通过接口到达防火墙本身时,目的安全区域是Local区域。

安全级别

在华为防护墙上,每个安全区域都必须有一个安全级别,该安全级别是唯一的,范围是1-100,数值越大,则代表该区域内的网络越可信。

Local: 100

Trust:85

DMZ: 50

Untrust: 5

华为规定:报文从低级别的安全区域向高级别的安全区域流动时为入方向,从高级别的安全区域向低级别的安全区域流动时为出方向。

如何确定报文的源目安全区域呢?

普通情况下,防火墙从哪个接口接收到报文,该接口所属的安全区域就是报文的源安全区域。

三层模式下,防火墙通过查找路由表确定报文将从哪个接口发出,该接口所属的安全区域就是报文的目的安全区域,二层模式下,防火墙通过查找MAC地址转发表确定报文将要从哪个接口发出,该接口所属的安全区域就是报文的目的安全区域。

VPN场景中,防火墙收到的是封装的报文,将报文解封装后得到原始报文,然后还是通过查找路由表来确定目的安全区域,报文将要从哪个接口发出,该接口所属的安全区域就是报文的目的安全区域。

而源安全区域不能简单地根据收到报文的接口来确定,此时防火墙会采用“反向查找路由表”的方式来确定原始报文的源安全区域。具体来说,防火墙会把原始报文中的源地址假设成是目的地址,然后通过查找路由表确定这个目的地址的报文将要从哪个接口发出,该接口所属的安全区域是报文将要去往的安全区域。反过来说,报文也就是从该安全区域发出的,所以反查路由表得到的这个安全区域就是报文的源安全区域。

确定报文的源和目的安全区域是我们精确的配置安全策略的前提条件,请大家一定要掌握判断报文的源和目的安全区域的方法。

2、安全区域的配置

[FW] firewall zone name test //创建安全区域

[fw-zone-test] set priority 10 //必须先设置安全级别,才能将接口加入到安全区域

[fw-zone-test] add interface gi 0/0/1 //将接口 gi 0/0/1加入安全区域

除了物理接口,防火墙还支持逻辑接口,如子接口、vlanif接口、GRE中的TUNNEL接口,L2TP中的virtual-template接口等,这些接口在使用时也需要加入到安全区域。

3、状态监测与会话机制

状态监测使用基于连接的检测机制,将通信双方之间交互的属于同一连接的所有报文都作为整体的数据流来对待。同一个数据流内的报文不再是孤立的个体,而是存在联系的。例如,为数据流的第一个报文建立会话,后续报文就会直接匹配会话转发,不需要在进行规制的检查,提高了转发效率。

会话表

http VPN: public ---->public 192.168.0.1:2049---->172.16.0.1:80

http 表示协议

192.168.0.1 表示源地址

2049 表示源端口

172.16.0.1 表示目的地址

80 表示目的端口

五元组:源地址、源端口、目的地址、目的端口和协议 ,唯一确定一条连接,这5个元素相同的报文即可认为属于同一条流。

还有一些协议,他们的报文中没有端口信息,防火墙处理这些协议的报文时,如何生成会话表呢?如ICMP协议,报文中不存在端口信息,那么防火墙会把ICMP报文头中ID字段值作为icmp会话的源端口,会以固定值2048作为ICMP会话的目的端口。

[FW]dis firewall session table

2022-10-19 04:18:45.930

Current Total Sessions : 5

icmp VPN: public --> public 192.168.10.1:41338 --> 172.16.0.1:2048

icmp VPN: public --> public 192.168.10.1:41082 --> 172.16.0.1:2048

icmp VPN: public --> public 192.168.10.1:41850 --> 172.16.0.1:2048

icmp VPN: public --> public 192.168.10.1:42106 --> 172.16.0.1:2048

icmp VPN: public --> public 192.168.10.1:41594 --> 172.16.0.1:2048

[FW]dis firewall session table verbose

2022-10-19 04:21:43.590

Current Total Sessions : 5

icmp VPN: public --> public ID: c387fe127dddb48858634f7b51

Zone: trust --> untrust TTL: 00:00:20 Left: 00:00:15

Recv Interface: GigabitEthernet1/0/1

Interface: GigabitEthernet1/0/0 NextHop: 172.16.0.1 MAC: 5489-985b-694f

<--packets: 1 bytes: 60 --> packets: 1 bytes: 60

192.168.10.1:20603 --> 172.16.0.1:2048 PolicyName: trust-untrust

Zone:表示报文在安全区域之间流动的方向,trust --> untrust表示报文是从Trust区域流向Untrust区域。

TTL:表示报文的老化时间,这条会话到期后,这条会话也将会被清楚。

Left: 表示该会话的剩余时间。

Interface: 出接口

Nexthop :下一跳地址

MAC地址 :报文去往的下一跳MAC地址,本组网中是WEB服务器的MAC地址。

<--packets: 1 bytes: 60 表示会话反向方向上的报文统计信息,即WEB服务器向PC发送报文的个数和字节数

--> packets: 1 bytes: 60 表示会话正向方向上的报文统计信息,即PC向WEB服务器发送报文的个数和字节数

华为防火墙为不同的协议设置了响应的会话默认老化时间,比如ICMP的会话老化时间是20s,DNS的会话老化时间是30S等。

通常情况下采用这些默认值就可以保证各个协议正常运行,如果需要调整默认值,可以通过 firewall session aging-time 命令在配置。如

【FW] firewall session aging-time dns 10

调试命令

display zone 查看防火墙安全区域

状态检查防火墙核心技术就是分析通信双方的连接状态,然后建立会话辅助后续报文转发。所以当业务不通时,在防火墙上检查会话是否成功建立,也是一个定位故障的重要切入点。

配置完成后,如果业务不通,我们可以在防火墙上使用display firewall session table 命令查看是否存在该业务的会话,然后分情况进一步排查。

1、防火墙上不存在该业务的会话

如果防火墙上没有为该业务建立会话,可能的原因包括:第一,业务报文没有到达防火墙;第二,业务报文被防火墙丢弃。

[fw]display firewall statistics system discard

packets discard statistic

total packets discarded: 2

interzone miss packets discarded: 2

造成上述丢包的原因是接口没有加入到安全区域。此时就可以进一步检查接口是否加入安全区域了,可见通过查看防火墙丢包信息能比较快速地定位问题所在。

[fw]display firewall statistics system discard

packets discard statistic

total packets discarded: 2

ARP miss packets discarded: 2

如果发现上述信息,说明防火墙因为无法找到ARP表项而丢包。此时需要检查防火墙上下行连接的设备的ARP功能是否工作正常。

[fw] display firewall statistic system discard

packets discarded statistic

total packets discarded :2

FIB miss packets discarded: 2

造成上述丢包的原因是防火墙上的路由配置出现问题,此时应该检查防火墙上是否存在去往目的地址的路由

[fw] display firewall statistic system discard

packets discarded statistic

total packets discarded :2

session miss packets discarded: 2

造成上述丢包的原因可能是防火墙只收到了后续报文,没有收到首包报文,此时请检查网络环境中是否存在报文来回路径不一致的情况。如果需要的话,可以在防火墙上执行

undo firewall session link-state check 命令关闭状态检测功能,然后再验证业务是否正常。

[fw] display firewall statistic system discard

packets discarded statistic

total packets discarded :2

session create fail packets discarded: 2

造成上述丢包的原因可能是防火墙上的会话数量已经达到规格限制,无法再创建新的会话。此时应该检查防火墙上是否存在大量的其他业务的会话,并且长时间没有老化,占用了系统资源。

2、防火墙上存在该业务的会话

如果发现如下信息,说明会话的正向方向上有统计信息(有报文经过),而反向方向上没有统计信息(没有报文经过)

造成会话反向方向上没有统计信息的原因可能是回应报文没有到达防火墙或者回应报文被防火墙丢弃,此时应首先检查报文在到达防火墙之前是否被其他网络设备丢弃,然后在防火墙上查看丢包统计信息。

二、安全策略

安全策略是基于安全区域的域间关系来呈现,其内容包括两个组成部分。

条件 检查报文的依据,防火墙将报文中携带的信息与条件逐一对比,以此来判断报文是否匹配。

动作 允许permit 拒绝通过 deny 一条策略中只能有一个动作

安全策略中的条件,可分为多个字段,如源地址、目的地址、源端口、目的端口等,这些字段之间是“与”的关系,也就是说,只有报文中的信息和所有字段都匹配上,才算是命中了这条策略。

如果同一个字段中有多个匹配项,如同时有两个源地址或三个目的地址,那么这些匹配项之间是 “或 ”的关系,只要报文匹配了其中的一项,就算匹配了该条件。

1、匹配顺序

安全策略之间是存在顺序的,防火墙在两个安全区域之间转发报文时,会按照从上到下的顺序逐条查找域间存在的安全策略。如果报文命中了某一条安全策略,就会执行该安全策略中的动作,或允许通过或拒绝通过,不会再继续向下查找;如果报文没有命中某条安全策略,则会向下继续查找。

基于上述实现方式,我们在配置安全策略时要遵循“先精细,后粗犷”的原则。具体来说,就是先配置匹配范围小、条件精确的安全策略,然后在配置匹配范围大、条件宽泛的安全策略。相信大家都配置过ACL规则,安全策略的配置和ACL规则是同一个道理。

例如:

允许Trust安全区域到Untrust安全区域的、源地址是192.168.0.0/24网段、目的地址是172.16.0.0/24网段的报文通过。

拒绝192.168.0.0网段中的特定地址192.168.0.100 访问172.16.0.0/24网段,该如何配置呢?

要先配置第一条安全策略:拒绝Trust 安全区域到Untrust 安全区域的、源地址是192.1689.0.100的报文通过;

然后配置第二条安全策略:允许Trust安全区域到Untrust安全区域的、源地址是192.168.0.0/24网段、目的地址是172.16.0.0/24网段的报文通过。

防火墙在查找安全策略时,源地址是192.168.0.100的报文会首先命中第一条策略,然后执行拒绝通过的动作;而192.168.0.0/24网段的其他报文会命中第二条策略,执行允许通过的动作。如果我们把两条安全策略的顺序调换,源地址是192.168.0.100的报文就永远不会命中动作为拒绝通过的那条策略,目的也没法达到。

如果查找安全策略时,所有的策略都没有命中,防火墙该如何处理呢?

报文如果没有命中任何一条安全策略,最后将会命中缺省包过滤,防火墙将会对报文执行缺省包过滤中配置的动作。

默认情况下,缺省包过滤的动作是拒绝通过。有时候,为了简化配置,会把两个安全区域之间缺省包过滤的动作设置为允许通过。这样操作确实省事省时,但是会带来极大的安全风险,网络隔离和访问控制都没法实现。

华为防火墙默认情况下,报文在安全区域之内流动是不受安全策略控制的。报文可以自由通行。

2、local 区域的安全策略

管理员会登录到防火墙上进行管理、INternet上的设备或用户会与防火墙建立VPN、防火墙和路由器之间会运行OSPF路由协议、防火墙会与认证服务器对接等。

这些业务如果想要正常运行,必须在防火墙上配置相应的安全策略,允许防火墙接收各个业务的报文。具体来说,就是要在防火墙的Local区域与业务使用的接口所在的安全区域之间配置安全策略。

(1)针对OSPF协议配置Local区域的安全策略

本实验验证的是防火墙本身参与到OSPF路由计算得场景,即验证防火墙接口所在安全区域与LOcal区域之间如何配置安全策略。在防火墙不参与OSPF路由计算,只是透传OSPF路由报文的场景中,接收和发送OSPF报文的两个接口属于不同的安全区域时,则必须配置安全策略,运行OSPF报文通过。

防火墙上配置如下:

interface GigabitEthernet1/0/0

undo shutdown

ip address 10.1.13.3 255.255.255.0

ospf 1 router-id 3.3.3.3

area 0.0.0.0

network 10.1.13.0 0.0.0.255

路由器R1上配置:

interface GigabitEthernet0/0/0

ip address 10.1.13.1 255.255.255.0

interface GigabitEthernet0/0/1

ip address 10.1.12.1 255.255.255.0

ospf 1 router-id 1.1.1.1

area 0.0.0.0

network 10.1.12.0 0.0.0.255

network 10.1.13.0 0.0.0.255

路由器R2上配置:

interface GigabitEthernet0/0/0

ip address 10.1.12.2 255.255.255.0

ospf 1 router-id 2.2.2.2

area 0.0.0.0

network 10.1.12.0 0.0.0.255

[FW]dis ospf peer brief

2022-10-20 02:17:48.760

OSPF Process 1 with Router ID 3.3.3.3

Peer Statistic Information

----------------------------------------------------------------------------

Area Id Interface Neighbor id State

0.0.0.0 GigabitEthernet1/0/0 1.1.1.1 ExStart

----------------------------------------------------------------------------

Total Peer(s): 1

dis ospf peer brief

OSPF Process 1 with Router ID 1.1.1.1

Peer Statistic Information

----------------------------------------------------------------------------

Area Id Interface Neighbor id State

0.0.0.0 GigabitEthernet0/0/0 3.3.3.3 ExStart

0.0.0.0 GigabitEthernet0/0/1 2.2.2.2 Full

----------------------------------------------------------------------------

可以看出,防火墙和R1之间OSPF邻居状态停留在ExStart状态。

我们怀疑,可能是防火墙丢弃了DD报文。在防火墙上使用display firewall statistic system discarded 命令查看丢包信息。

dis firewall statistics system discard

2022-10-20 02:23:38.660

Discard statistic information:

Fib miss packets discarded: 3

Invalid receive zone packets discarded: 181

Invalid send zone packets discarded: 179

接下来我们在防火墙上开启LOCAL和UNTRUST区域的安全策略,允许OSPF报文通过。需要注意的是,因为防火墙既要发送又要接收ospf报文,所以inbound和outbound方向的安全策略都要开启。

firewall zone untrust

set priority 5

add interface GigabitEthernet1/0/0

security-policy

rule name local-untrust

source-zone local

destination-zone untrust

service ospf

action permit

rule name untrust-local

source-zone untrust

destination-zone local

service ospf

action permit

验证结果

[FW]dis ospf peer brief

2022-10-20 02:33:26.290

OSPF Process 1 with Router ID 3.3.3.3

Peer Statistic Information

----------------------------------------------------------------------------

Area Id Interface Neighbor id State

0.0.0.0 GigabitEthernet1/0/0 1.1.1.1 Full

----------------------------------------------------------------------------

Total Peer(s): 1

dis ospf peer b

OSPF Process 1 with Router ID 1.1.1.1

Peer Statistic Information

----------------------------------------------------------------------------

Area Id Interface Neighbor id State

0.0.0.0 GigabitEthernet0/0/0 3.3.3.3 Full

0.0.0.0 GigabitEthernet0/0/1 2.2.2.2 Full

可以看出,防火墙和R1之间已经建立了FULL的邻居关系。

总结,一般情况下,单播报文是受安全策略控制,所以需要配置安全策略允许报文通过;而组播报文不受安全策略控制,也就不需要配置相应的安全策略。

网络类型是broadcast类型时,ospf报文中的DD报文和LSR报文都是单播报文,需要配置安全策略;网络类型是P2P时,OSPF报文都是组播报文,因此无需配置安全策略。

在实际网络环境中,如果防火墙上的OSPF运行状态不正常,也可以从安全策略这个角度入手,检查是不是由于没有配置安全策略允许报文通过所导致的。

3、ASPF

应用:

1、帮助FTP数据报文穿越防火墙

2、帮助QQ/MSN报文穿越防火墙

3、帮助用户自定义协议报文穿越防火墙

此外,防火墙上的ASPF功能还可以阻断HTTP协议中的有害插件。HTTP协议中会包含Java和ActiveX插件,他们非常容易被制作成木马和病毒,危害内网主机安全。Java和ActiveX插件通常被包含在HTTP报文的载荷中进行传输,如果只检查HTTP报文头信息,无法将其识别出来。所以必须通过ASPF来对HTTP报文的载荷信息进行检测,识别并阻断Java和ActiveX插件,保护内网主机。

阻断HTTP协议中有害插件的配置也很简单,在安全区域的域间或域内执行detect activex-blocking或detect java-blocking命令即可。当然,不同型号的防火墙产品上的支持情况和命令格式略有不同。

FTP数据报文穿越防火墙

在这里把PC换成一台路由器

在路由器上配置静态路由 ip route-static 172.16.0.1 24 192.168.10.254

在防火墙上配置安全策略

rule name trust-untrust

source-zone trust

destination-zone untrust

service ftp

action permit

在路由器上做测试

ping 172.16.0.1

PING 172.16.0.1: 56 data bytes, press CTRL_C to break

Reply from 172.16.0.1: bytes=56 Sequence=1 ttl=254 time=10 ms

Reply from 172.16.0.1: bytes=56 Sequence=2 ttl=254 time=20 ms

ftp 172.16.0.1

Trying 172.16.0.1 ...

Press CTRL+K to abort

Connected to 172.16.0.1.

220 FtpServerTry FtpD for free

User(172.16.0.1:(none)):

331 Password required for .

Enter password:

230 User logged in , proceed

FTP协议是一个典型的多通道协议,在其工作过程中,FTP客户端和FTP服务器之间将会建立两条连接:控制连接和数据连接。控制连接用来传输FTP指令和参数,其中就包括建立数据连接所需要的的信息;数据连接用来获取目录及传输数据。

根据数据连接的方式,FTP协议分为两种工作模式:

主动模式(PORT模式): FTP服务器主动向FTP客户端发起数据连接

被动模式(PASV模式): FTP服务器被动接收FTP客户端发起的数据连接

ASPF主要是检测报文的应用层信息,记录应用层信息中携带的关键数据,使得某些在安全策略中没有明确定义要放行的报文也能够得到正常转发。

记录应用层信息中关键数据的表项成为server-map表,报文命中该表后,不再受安全策略的控制,这相当于在防火墙上开启了一条“隐形通道".

这条server-map表项不会永远存在,老化时间到期之后就会被删除,这就确保了这条“隐形通道”不会永久开启,保证了安全性。

调试命令 display firewall server-map 查看server-map表

华三防火墙怎样通过命令查看策略命中数

# 显示IPv4安全策略下名称为abc的规则的统计信息。

display security-policy statistics ip rule 安全策略的名字

dis acl all //查看ACL的命中数

十、如何配置windows的防火墙?

一、前言

SQL Server 使用的端口

二、数据库引擎使用的端口

1 默认情况下

SQL Server 使用的典型端口和关联的数据库引擎服务是:

TCP:143340221351434

UDP:1434

2 命名实例使用动态端口

1.在 SQL Server 配置管理器的控制台窗格中,展开 "SQL Server 网络配置",选择 "实例名称的协议",然后在右窗格中双击 "tcp/ip"。

2.在“TCP/IP 属性”对话框的“IP 地址”选项卡上,将显示若干个 IP 地址,格式为:IP1IP2...,一直到 IPAll。 这些 IP 地址中有一个是环回适配器的 IP 地址 (127.0.0.1)。 其他 IP 地址是计算机上的各个 IP 地址。 (可能会同时看到 IP 版本 4 和 IP 版本 6 地址。) 右键单击每个地址,再单击“属性”,标识要配置的 IP 地址。

3.如果 "TCP 动态端口" 对话框中包含0,则指示数据库引擎正在侦听动态端口,请删除0。

4.在“IPn属性”区域框的“TCP 端口”框中,键入希望此 IP 地址侦听的端口号,然后单击“确定”。 通过逗号分隔,可指定多个端口。 选择“确定”。

5.在控制台窗格中,单击“SQL Server 服务”。

6.在详细信息窗格中,右键单击 " SQL Server ( 实例名称 > ">然后单击 "重新启动" 以停止并重新启动 SQL Server。

3 将命名实例配置为侦听固定端口的一种替代方法

在防火墙中为 SQL Server 程序创建例外,如数据库引擎)sqlservr.exe(。 当使用高级安全 Windows 防火墙 MMC 管理单元时,端口号将不会显示在“入站规则”页的“本地端口”列中 。

使用高级安全 Windows Defender 防火墙向防火墙添加程序例外:

  1. 从“开始”菜单键入 wf.msc 。 按 Enter 或选择搜索结果 wf.msc 打开“高级安全 Windows Defender 防火墙”。
  2. 在左窗格中,选择“入站规则” 。
  3. 在右窗格的“操作”下,选择“新建规则...”。“新建入站规则向导”随即打开。
  4. 在“规则类型”中,选择“程序” 。 选择“下一页”。
  5. 在“程序”中,选择“此程序路径” 。 选择“浏览”,找到 SQL Server 实例 。 该程序名为 sqlservr.exe。 通常位于:C:\Program Files\Microsoft SQL Server\MSSQL15.<InstanceName>\MSSQL\Binn\sqlservr.exe选择“下一页”。
  6. 在“操作”上,选择“允许连接”。 选择“下一页”。
  7. 在“配置文件”上,包括所有三个配置文件。 选择“下一页”。
  8. 在“名称” 中键入规则的名称。 选择“完成” 。

三、Analysis Services 使用的端口

默认情况下,SQL Server Analysis Services 使用的典型端口和关联的服务是:

TCP

  • 2382:Analysis Services 的默认实例的标准端口。
  • 2383:不指定端口号的 Analysis Services 命名实例的客户端连接请求会定向到端口2382,即 SQL Server 浏览器侦听的端口。 SQL Server 浏览器然后将请求重定向到该命名实例所使用的端口。
  • 80:用于通过 URL 实现的 HTTP 连接。
  • 443:用于通过 URL 实现的 HTTPS 连接。 HTTPS 是使用 TLS 的 HTTP 连接。

如果用户通过 IIS 和 Internet 访问 Analysis Services,则必须打开 IIS 侦听的端口。 接下来,在客户端连接字符串中指定端口。 在这种情况下,不需要打开任何端口就能直接访问 Analysis Services。 默认端口 2389 和端口 2382 应当与所有其他并非必需的端口一起受到限制。

四、Reporting Services 使用的端口

默认情况下,SQL Server Reporting Services 和关联的服务使用的典型端口是:

TCP

  • 80:用于通过 URL Reporting Services 的 HTTP 连接。 建议不要使用预配置的规则“万维网服务 (HTTP)”。
  • 443:用于通过 URL 实现的 HTTPS 连接。 HTTPS 是使用 TLS 的 HTTP 连接。 建议不要使用预配置的规则“安全万维网服务 (HTTPS)”。

当 Reporting Services 连接到数据库引擎或 Analysis Services 的实例时,还必须为这些服务打开相应的端口。

五、Integration Services 使用的端口

TCP 135:Integration Services 服务在端口135上使用 DCOM。 服务控制管理器使用端口135来执行任务,例如启动和停止 Integration Services 服务,以及将控制请求传输到正在运行的服务。 此端口号无法更改。

注意:仅当要从 Management Studio 或自定义应用程序连接到 Integration Services 服务的远程实例时,才需要打开此端口。

六、使用高级安全 Windows 防火墙管理单元

可以通过使用高级安全 Windows 防火墙 MMC 管理单元来配置高级防火墙设置。 此管理单元包括规则向导以及“控制面板”的“Windows 防火墙”项中未提供的设置。 这些设置包括:

  • 加密设置
  • 服务限制
  • 按名称限制计算机的连接
  • 限制连接到特定用户或配置文件
  • 边缘遍历允许通信绕过网络地址转换 (NAT) 路由器
  • 配置出站规则
  • 配置安全规则
  • 传入连接需要 IPsec

使用新建规则向导创建新防火墙规则

  1. 在“开始”菜单上,选择“运行”,键入 wf.msc,然后选择“确定” 。
  2. 在“高级安全 Windows 防火墙”的左窗格中,右键单击“入站规则”,然后选择“新建规则” 。
  3. 使用所需设置完成 “新建入站规则向导”

七、解决防火墙设置问题

以下工具和方法对于解决防火墙问题会非常有用:

  • 有效端口状态是与端口相关的所有规则的总体作用结果。 试图阻止访问某一端口时,查看引用该端口号的所有规则会非常有用。 使用高级安全 Windows 防火墙 MMC 管理单元查看规则,并按端口号对入站和出站规则进行排序。
  • 查看运行该端口的计算机上处于活动状态SQL Server端口。 此查看过程包括确认正在侦听的 TCP/IP 端口,同时确认这些端口的状态。若要验证正在侦听哪些端口,请使用 netstat 命令行实用工具显示活动的 TCP 连接和 IP 统计信息。列出正在侦听的 TCP/IP 端口
  1. 打开命令提示符窗口。
  2. 在命令提示符下,键入 netstat -n -a-n 开关指示 netstat 以数字方式显示活动 TCP 连接的地址和端口号。 -a 开关指示 netstat 显示计算机正在侦听的 TCP 和 UDP 端口。
  • PortQry 实用工具可用于报告 TCP/IP 端口的状态(正在侦听、未在侦听或已筛选)。 (如果实用工具具有筛选状态,则它可能不会从端口接收响应。) PortQry 实用工具可以从 Microsoft 下载中心下载
  • 八、结语

    感谢支持 :):):)

    相关资讯
    热门频道

    Copyright © 2024 招聘街 滇ICP备2024020316号-38