TCP 服务端程序安全问题考虑

renyaow 2016-11-09 10:14:49
现在有一个windows平台下C\S结构的项目,服务端程序运行在公网中,所以需要考虑安全的问题。现在我查找了一些资料,总结起来包括:
1. DOS\SYN攻击:这个主要是防火墙硬件等配置,WIndows的注册表的有一些也需要配置。
2.缓冲区溢出攻击
3.非法客户端
4.数据加密
请问大家,针对上面的问题,有什么好的解决方法吗?还有什么需要注意的吗?
...全文
282 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2016-11-10
  • 打赏
  • 举报
回复
学习5楼。
汪宁宇 2016-11-10
  • 打赏
  • 举报
回复
引用 楼主 yaoyaoli1 的回复:
现在有一个windows平台下C\S结构的项目,服务端程序运行在公网中,所以需要考虑安全的问题。现在我查找了一些资料,总结起来包括:
1. DOS\SYN攻击:这个主要是防火墙硬件等配置,WIndows的注册表的有一些也需要配置。
2.缓冲区溢出攻击
3.非法客户端
4.数据加密
请问大家,针对上面的问题,有什么好的解决方法吗?还有什么需要注意的吗?


234主要是代码健壮性的处理,尽量使用MS安全函数就可以避免了

1的话,偷偷告诉你:
WSAAccept(pThis->m_socListen,NULL,&nLen,ConnectAcceptCondition,(DWORD)pThis); 

int CALLBACK IOCPS::ConnectAcceptCondition(IN LPWSABUF lpCallerId,
IN LPWSABUF lpCallerData,
IN OUT LPQOS lpSQOS,
IN OUT LPQOS lpGQOS,
IN LPWSABUF lpCalleeId,
OUT LPWSABUF lpCalleeData,
OUT GROUP FAR *g,
IN DWORD dwCallbackData)
{

sockaddr_in* pCaller=(sockaddr_in*)lpCallerId->buf;
sockaddr_in* pCallee=(sockaddr_in*)lpCalleeId->buf;

IOCPS* pThis = reinterpret_cast<IOCPS*>(dwCallbackData);

// Do not take connections from ourself.
/* if ( pCaller->sin_addr.S_un.S_addr == inet_addr("127.0.0.1") )
{

return CF_REJECT;
}
*/
if ( pThis->IsInBannedList(pCaller) || pThis->IsAlreadyConnected(pCaller) )
{
//
// Do not send ACK, the attacker do not know if the server
// exist or not.
//
return CF_REJECT;
}

return CF_ACCEPT;
}


hurryboylqs 2016-11-10
  • 打赏
  • 举报
回复
自己的程序做好数据加解密就行,其它的交给杀毒软件和路由器,自己又不是做安全软件的,考虑好自己软件功能就行
赵4老师 2016-11-09
  • 打赏
  • 举报
回复
将服务端放在阿里云上……
renyaow 2016-11-09
  • 打赏
  • 举报
回复
引用 1 楼 oyljerry 的回复:
服务器上安装一个安全软件,然后进行一些配置。
嗯,这个是系统管理员要做的,但是我们能在在自己的程序中做哪些保护措施呢?
oyljerry 2016-11-09
  • 打赏
  • 举报
回复
服务器上安装一个安全软件,然后进行一些配置。

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧