linux如何禁止某个ip连接服务器?

linux如何禁止某个ip连接服务器?,第1张

两个文件是控制远程访问设置的,通过设置这个文件可以允许或者拒绝某个ip或者ip段的客户访问linux的某项服务

如 果请求访问的主机名或IP不包含在/etc/hosts.allow中,那么tcpd进程就检查/etc/hosts.deny。看请求访问的主机名或 IP有没有包含在hosts.deny文件中。如果包含,那么访问就被拒绝;如果既不包含在/etc/hosts.allow中,又不包含在/etc /hosts.deny中,那么此访问也被允许。

文件的格式为:<daemon list>:<client list>[:<option>:<option>:...]

daemon list:服务进程名列表,如telnet的服务进程名为in.telnetd

client list:访问控制的客户端列表,可以写域名、主机名或网段,如.python.org或者192.168.1.

option:可选选项,这里可以是某些命令,也可以是指定的日志文件

文件示例:hosts.deny文件

in.telnetd:.python.org

vsftpd:192.168.0.

sshd:192.168.0.0/255.255.255.0

第一行vpser.net表示,禁止python.org这个域里的主机允许访问TELNET服务,注意前面的那个点(.)。

第二行表示,禁止192.168.0这个网段的用户允许访问FTP服务,注意0后面的点(.)。

第三行表示,禁止192.168.0这个网段的用户允许访问SSH服务,注意这里不能写192.168.0.0/24。在CISCO路由器种这两中写法是等同的。

服务器定义:

服务器,也称伺服器,是提供计算服务的设备。由于服务器需要响应服务请求,并进行处理,因此一般来说服务器应具备承担服务并且保障服务的能力。

服务器的构成包括处理器、硬盘、内存、系统总线等,和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。

在网络环境下,根据服务器提供的服务类型不同,分为文件服务器,数据库服务器,应用程序服务器,WEB服务器等。

Linux系统虽然比Windows系统安全很多,是很好的程序开发环境,但多少还是存在一些安全隐患的。在Linux用户退出系统后,还是会有多个IP登录的风险,那么Linux退出后要如何限制IP登录Shell脚本呢?下面小编介绍一些实例。

生产环境中,有可能会出现被其他管理员或使用者修改hosts.allow允许更多的ip登陆机器为了方便统一管理,我们可以在用户退出的时候统一修改allow和deny文件成默认设置。同时也能自动获取机器所配ip的整个ip段为允许登陆。

test -f /root/.bash_logout &&chattr -i /root/.bash_logout

cat 》/root/.bash_logout 《《EOF

export TERM=xterm

/usr/bin/chattr -i /etc/hosts.allow /etc/hosts.deny

#for hosts.deny

/bin/awk ‘BEGIN{FS=“[=。]”RS=“n”}/^IPADDR/{print “sshd:all EXCEPT ”$2“。”$3“。”$4“.0/255.255.255.0”}’ /etc/sysconfig/network-scripts/ifcfg-* | grep -v 127.0.0 | uniq 1》/etc/hosts.deny

/bin/cat 》》/etc/hosts.deny 《《 iEOF

sshd:all EXCEPT ip

iEOF

#for hosts.allow

/bin/awk ‘BEGIN{FS=“[=。]”RS=“n”}/^IPADDR/{print “sshd:”$2“。”$3“。”$4“.0/255.255.255.0”}’ /etc/sysconfig/network-scripts/ifcfg-* | grep -v 127.0.0 | uniq 1》/etc/hosts.allow

/bin/cat 》》/etc/hosts.allow 《《 iEOF

sshd:ip(www.111cn.net)

iEOF

/usr/bin/chattr +i /etc/hosts.allow /etc/hosts.deny

clear

EOF

sh /root/.bash_logout 2》&1 》/dev/null

例子

这个只是检测有非法ip登录到服务器上就自动给运维报警,当然也可以改成短信报警,前提是你有短信网关。

#!/bin/bash

#该脚本作用是检测是否有恶意IP登陆服务器并邮件报警

#可以结合139邮箱以达到短信及时通知到手机的功能

#适用系统centos5

Ldate=`which date`

Lawk=`which awk`

Llast=`which last`

Lgrep=`which grep`

Lsendmail=`which sendmail`

Lifconfig=`which ifconfig`

serverip=`$Lifconfig eth0|$Lgrep inet|$Lawk -F : ‘{print $2}’|$Lawk ‘{print $1}’`

cutdate=`$Ldate |$Lawk ‘{print $1“ ”$2“ ”$3}’`

hackerip=`$Llast|$Lgrep “$cutdate”|$Lawk ‘{print $3}’|$Lgrep -v 192.168.1x.xx`

if [ -z $hackerip ]

then

exit

else

for logip in $hackerip

do

echo “hacker ip is $logip already login $serverip”|mail -s “SOS” rocdk890@139.com

done

fi

在服务器上进行如下命令 *** 作进行规则设置即可: #iptables -A INPUT -s ip段/网络位数 -j DROP 例如:禁止172.16.1.0/24网段访问服务器,直接在服务器上用命令就可以实现 #iptables -A INPUT -s 172.16.1.0/24 -j DROP


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8180952.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存