修改Linux终端登录提示(login banner)



修改Linux终端登录提示(login banner)

由于在Windows下用虚拟机安装了Linux,然后通过ssh登录到Linux这样比直接在虚拟机下要好一些。通过ssh登录就要知道ip地址,装了两个不同的Linux系统,而且使用的是dhcp,ip地址可能会发生变化。尽管,使用vmware发现ip地址一般是固定的,但也会莫名其妙的就变了,所以希望在vmware中启动Linux时,在最终的登录提示中显示ip地址。在Google里搜索发现,实现起来并不难。

Linux下登录提示是记录在/etc/issue和/etc/motd中,这两者的区别是,前者是在用户登录前就显示,而后者则是在用户登录后显示。我们当然需要更改/etc/issue中的内容。而Linux在重新启动过程中会执行一系列脚本,使更改的Banner恢复脚本定议的内容,用户可以用#注释掉相关脚本,用户也可以在rc.local脚本中添加内容,这样就可以在启动过程中执行。在Arch上rc.local位于/etc/rc.local,而在Slackware中,其位于/etc/rc.d/rc.local。

知道了以上的信息后就不难办了。使用管理员权限修改rc.local文件的内容如下所示:

#!/bin/bash

ipaddr=$(ifconfig | sed -ne ‘s/ *inet addr:\([0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\) *B.*/\1/p’)

echo $’\x1b\x5b\x48\x1b\x5b\x32\x4a\x0a”Arch Linux \r ['$ipaddr'] (\n) (\l)’ > /etc/issue
以上需要说明的是第二行,是通过正则获取ifconfig命令输出的ip地址,最后一行是输出信息到issue文件。
最后一行中前边的字符串是用来清除终端显示的,而issue文件中转义字符也有不同的含义,可以通过man agetty 8来获取所有转义字符的含义。

 

一,ftp服务Linux Banner修改法:

wu-ftp修改
用十六进制文本编辑器修改/usr/sbin/in.ftpd文件,找到如下几行:
/var/log/lastlog
Could not write %.100s:%.100s
Version wu-2.6.1-16
改成:
Microsoft FTP Service(Version.6.0)
或者:
Serv-U FTP Server v6.4 for WinSock ready… 通过上面的方法将自己的WU-FTP修改成SERV-U或IIS自带的FTP,从而达到迷惑黑客的目的。

vsftpd的修改 编辑配置文件 vsftpd.conf 找到这行#ftpd_banner= 将#号删除,把=号后面的修改成你要的名称 我这里修改成了 ftpd_banner=Serv-U FTP Server v6.4 for WinSock ready…


二,Telnet Linux Banner修改法:

编辑文件/etc/issue.net,找到类似这几行(不同版本的Linux内容不太一样):
Red Hat Linux release 8.0(Psyche)
Kernel \r on an \m
改成:
Microsoft Windows Version 5.00(Build 2195)
Welcome to Microsoft Telnet Service
Telnet Server Build 5.00.99206.1
由于issue.net重启后会自动恢复,为了保护这些伪造的信息,还需要编辑文件/etc/rc.local,
在这些行前加“#”号,注释掉恢复的功能:
#echo””>/etc/issue
#echo”$R”>>/etc/issue
#echo “Kernel $(uname –r) on $a $SMP$(umame –m)”>>/etc/issue
#cp-f/etc/issue/etc/issue.net
#echo>>/etc/issue通过上面的方法将自己linux系统下的telnet服务修改成windows下的telnet服务,从而达到迷惑黑客的目的。

三,Apache Linux Banner修改法:

在安装Apache前,在源文件/src/include目录下找到httpd.h头文件。此文件定义了Apache的版本信息,Apache安装时需要调用它。编辑http.h文件,找到如下几行:
#define Server_BASEVENDOR “Apache Group”
#define Server_BASEPRODUCT “Apache”
#define Server_BASEREVISION “1.3.20”
可以根据自己的意愿改成其他信息,笔者改的是Microsoft-IIS/5.0。
编辑文件/etc/ssh/sshd_config,找到这行:
Banner/etc/issue.net
在此行前加#进行注释就可以不显示SSH的Banner了。通过上面的方法将自己的APACHE banner修改成windows下的IIS,从而达到迷惑黑客的目的。

四,Sendmail Linux Banner修改法:

在sendmail.mc文件中去掉$v、$z这两个宏,并包含下面的内容:
define(confSMTP_LOGIN_MSG’,$j Sendmail Sencure/Recure/Rabid;$b)
然后生成sendmail.cf文件
#m4/etc/mail/sendmail.mc>/etc/sendmail.cf
如果sendmail.mc中没有include(‘/usr/share/sendmail.cf/m4/cf.m4’)这一行就需要
和Sendmail 提供的预设的配置文件cf.m4一起使用来生成文件sendmail.cf:
#m4 /usr/share/sendmail-cf/m4/cf.m4 /etc/mail/sendmail.mc>/etc/sendmail.cf通过上面的方法有效的对sendmail服务的banner进行修改,从而达到迷惑黑客的目的。

五,修改linux机器的ttl值运行

echo 128 > /proc/sys/net/ipv4/ip_default_ttl 将数字128写入ip_default_ttl文件,128段通常为windows系统 可以将此语句写入启动,/etc/rc.local 这样开机有自动修改了ttl数值了,保护了linux安全

总结:

经过上述的几个步骤,Linux系统的基本安全性能就得到了很大的增强。我们成功的将黑客阻挡在入侵之外。当然要得到最大化的安全性能,当然还要根据实际需求配置Apache等,由于篇幅所限,这里就不详细介绍了。