OpenSSH

修改openssh-3.x/version.h

找到#define SSH_VERSION      "OpenSSH_3.x"

修改后编译安装

修改SSH-2.0 (不建议)
proto-mismatch.sh
proto-version.sh

SSH

版本号:
修改apps/ssh/ssh2version.h

#define SSH2_VERSION "3.2.9.1"

banner名:
修改apps/ssh/ssh2includes.h
#define SSH2_VERSION_STRING "SSH Secure Shell " SSH2_VERSION \
" (non-commercial version)"
#define SSH2_PROTOCOL_VERSION_STRING SSH2_VERSION \
" SSH Secure Shell (non-commercial)"

修改SSH-2.0 (不建议)
apps/ssh/sshd2.c
apps/ssh/lib/sshproto/trcommon.h
apps/ssh/sshstdiofilter.c

exim4

配置文件:/etc/exim4/exim4.conf.template

找到#smtp_banner = $smtp_active_hostname ESMTP Exim $version_number $tod_full

去掉注释并修改

postfix

配置文件/etc /postfix/main.cf

修改 smtpd_banner=$myhostname ESMTP "Version not Available"

Proftd

配置文件:

伪装登入欢迎信息

修改 ServerIdent on "Serv-U FTP Server v5.0 for WinSock ready...\"

或ServerIdent off

telnet会显示:220 ::ffff:192.168.2.3 FTP server ready

伪装banner信 息

DisplayLogin [msgfile]  DisplayConnect [msgfile]

Vsftpd

配置文件:vsftpd.conf

修改 ftpd_banner=welcome to this FTP server

Apache

配置文件:/etc/apache2/apache2.conf 或/etc/apache2/httpd.conf

找到 ServerSignature on 改为 ServerSignature off

找到ServerTokens Full 改为 ServerTokens prod

经过以上修改,可以隐藏一些 banner

但是用wget -S和curl -I还是可以看到apache字样

彻底伪装的话需要修改源文件

编辑ap_release.h文 件,修改"#define AP_SERVER_BASEPRODUCT\"Apache\""为"#define AP_SERVER_BASEPRODUCT\"Microsoft-IIS/5.0\"

编辑os/unix/os.h文 件修改"#define PLATFORM\"Unix\""为"#define PLATFORM\'Win32"

重新编译apache

PHP

配置文件php.ini

修改expose_php On ——> expose_php = Off

Nginx

在nginx.conf 的 http {  里头加入 server_tokens 的参数

server_tokens off;

http {
include       mime.types;
default_type  application/octet-stream;
server_tokens off;
client_header_timeout       3m;
client_body_timeout         3m;
send_timeout                3m;

彻底屏敝需要修改源码

src/core/nginx.h

找到

#define NGINX_VERSION      "0.6.35"    
#define NGINX_VER          "nginx/" NGINX_VERSION
#define NGINX_VAR          "NGINX"

修改后编译

TTL

用以下命令修改Red Hat Linux的TTL基数为128(默认为64):
echo 128 > /proc/sys/net/ipv4/ip_default_ttl
用以下命令修改Red Hat Linux的TTL基数为128(默认为64):
net.ipv4.ip_default_ttl = 128

iptables

利用iptables来限制22端口的 SSH登录,让非授权的IP扫描不到TCP 22端口的存在:
#iptables -I INPUT -s ! xx.xx.xx.xx -p tcp --dport 22 -j DROP

利用iptables,将本机的TCP 3389端口转移到其它开有3389端口的计算机上,给Linux系统伪装出一个提供服务的TCP 3389端口。命令如下:
#echo 1 > /proc/sys/net/ipv4/ip_forward
#iptables -t nat -I PREROUTING -p tcp --dport 3389 -j DNAT --to xx.xx.xx.xx
#iptables -t nat -I POSTROUTING -p tcp --dport 3389 -j MASQUERADE
第一条命令表示允许数据包转发;第二条命令表示转发TCP 3389到xx.xx.xx.xx;第三条命令表示使转发数据包实现“双向通路”,给数据包设置一个正确的返回通道。若想使转发永久生效,可以把以上命令 添加到/etc/rc.local文件中。
这样,当***扫描服务器所开端口的时候,就找不到22号端口,而是看到一个伪装的3389端口,从而不能正确判断出操作系统的类型。

针对netcraft

netcraft是一个很厉害的扫描引擎,它通过简单的TCP 80,就可以知道所测服务器的操作系统、Web服务程序和服务器开机时间(Uptime)等信息。
上面介绍的几种方法对netcraft来说,均不奏效。针对netcraft,可利用iptables进行系统伪装,使netcraft错误判断操作系 统:
#iptables -t nat -I PREROUTING -s 195.92.95.0/24
-p tcp --dport 80 -j DNAT --to xx.xx.xx.xx
#iptables -t nat -I POSTROUTING -s 195.92.95.0/24
-p tcp --dport 80 -j MASQUERADE
由于通过抓包发现,netcraft的服务器不止一台,所以需要对它所在网段进行转发欺骗处理。

转载于:https://blog.51cto.com/missuniverse110/398676

隐藏和伪装端口banner相关推荐

  1. 端口Banner信息的获取

    端口的分类 端口范围0-65535,TCP端口和UDP端口是相互独立的(因为TCP和UDP两个协议是相互独立的),两者并不冲突. 端口分为: 1.周知端口:即范围从0-1023,其中80端口分配给WW ...

  2. 2.1.4.2 端口Banner信息获取

    4-2端口Banner信息获取 端口的分类 端口范围 0-65535 端口分为: 1.周知端口 2.动态端口 3.注册端口 端口Banner获取-nmap 使用Nmap扫描指定主机的端口信息,并返回B ...

  3. 快速了解端口banner

    端口banner信息 1.它是端口的欢迎语. 2.banner信息包括:软件开发商.软件名称.服务类型.版本号等信息. 3.可通过banner信息,进行漏洞测试.如:对应的CVE漏洞等.

  4. linux服务器IP伪造,Linux服务器间同网段IP伪装端口映射

    Linux服务器间同网段IP传伪装端口映射 主机(网关)ip:192.168.4.18 目标主机 ip :192.168.4.25 映射端口: 21 echo "1" > / ...

  5. Rootkit隐藏进程和端口检测

    Rootkit是一种特殊的恶意软件,它的功能是在安装目标上隐藏自身及指定的文件.进程和网络链接等信息,比较多见到的是Rootkit一般都和木马.后门等其他恶意程序结合使用. 例如:inetd或者log ...

  6. android 隐私伪装原理,加锁、隐藏和伪装!三招严防私密App被偷看

    随着手机等智能设备的普及,人们的物质生活得到极大的丰富,但随之而来的隐私泄露问题却使得每一个人都几乎变得"透明".同事.朋友有意无意的把玩起你的手机,随意翻看你的相册.甚至点开一些 ...

  7. Linux登录安全及用户操作审计 ,linux下清理日志脚本

    一.合理使用Shell历史命令记录功能 Linux下可通过history命令查看用户所有历史操作记录,同时shell命令操作记录默认保存在用户目录下的.bash_history文件中,有时候***会删 ...

  8. SSH Iptables访问控制

    方法一: 在/etc/hosts.allow中添加允许ssh登陆的ip或者网段    sshd:192.168.1.2:allow 或者 sshd:192.168.1.0/24:allow 在/etc ...

  9. LInux系统木马植入排查分析 及 应用漏洞修复配置(隐藏bannner版本等)

    在日常繁琐的运维工作中,对linux服务器进行安全检查是一个非常重要的环节.今天,分享一下如何检查linux系统是否遭受了入侵? 一.是否入侵检查 1)检查系统日志 检查系统错误登陆日志,统计IP重试 ...

最新文章

  1. socket网络编程udp
  2. bootstrap select2 php,JS组件Bootstrap Select2使用方法详解
  3. linux 关机命令总结
  4. python四分位数_Python解释数学系列——分位数Quantile
  5. 为啥我从后台查到的值在页面显示的是undefined_短说开发日报:2.7版本后台财务管理(11.19周四)...
  6. 2022年计算机专业程序员笔记本电脑推荐
  7. InnoDB中Adaptive hash index存在问题、Percona改进及一个bug
  8. Matlab并行编程cellfun arrayfun
  9. 刷题记录 kuangbin带你飞专题五:并查集
  10. 【概率统计】(在更)
  11. mysql索引失效的情况
  12. 带左右箭头的图片轮播
  13. Mysql 错误1366, Incorrect string value: '\\xE6\\xB7\\xB1\\xE5\\x85\\xA5...' for column '
  14. Linux中的PS1变量
  15. 四色定理java_四色定理中公理的证明
  16. SeaweedFS 分布式 上传、下载、删除附件公共接口
  17. Centos7.5 升级openssh到9.0p1
  18. 微信能用支付宝钱包了
  19. win32应用程序内存不足
  20. 数据中心交换机基础自学系列 | MAC简介

热门文章

  1. char栈java,Java数据结构与算法-栈和队列(示例代码)
  2. Spark详解(七):SparkContext源码分析以及整体作业提交流程
  3. vivo手机解锁_关于手机“解锁”的话题,vivo屏幕指纹技术很有话语权
  4. 测开之路二十:比较v1和v2
  5. ajax中的async
  6. 在 asp.net core \ vs2015 update2 情况况下创建 asp.net core web application 的问题
  7. Ubuntu 13.04 安装 SSH SERVER记
  8. 抽象数据类型Triplet的C语言实现
  9. Hibernate 双向一对一实现(基于annotation)
  10. 要注意页面中加载的第三方脚本