Ubuntu 利用 xinetd 限制 SSH 连接数

时间:2023-03-10 03:38:48
Ubuntu 利用 xinetd 限制 SSH 连接数

安装 xinted

sudo apt-get install xinetd

修改配置文件

sudo vim /etc/xinetd.conf

在配置文件中加入下列配置

defaults

{

instances
= 60

log_type
= SYSLOG daemon info

log_on_success
= HOST PID

log_on_failure
= HOST

cps
= 25 30

}

includedir
/etc/xinetd.d

说明:

-
instances = 60:表示最大连接进程数为60个。

-
log_type = SYSLOG daemon info:表示使用syslog进行服务登记。

-
log_on_success= HOST PID:表示设置成功后记录客户机的IP地址的进程ID.

-
log_on_failure = HOST:表示设置失败后记录客户机的IP地址。

-
cps = 25 30:表示每秒25个入站连接,如果超过限制,则等待30秒。主要用于对付拒绝服务攻击。

includedir
/etc/xinetd.d:表示告诉xinetd要包含的文件或目录是/etc/xinetd.d.

/etc/xinetd.d目录下建立文件ssh

包含下面这些内容

service
ssh

{

socket_type
= stream

protocol
= tcp

wait
= no

user
= root

server
= /usr/sbin/sshd

server_args
= -i

log_on_success
+= DURATION

disable
= no

}

下一步停用SSH守护进程,为xinetd接管22端口铺平道路

sudo
/etc/init.d/ssh stop

重新启动xinetd使配置生效

sudo
/etc/init.d/xinetd restart

运行netstat
-tulnp
命令查看22端口的情况

sudo
netstat -tulnp | grep 22

查看22端口状态

tcp
0 0 0.0.0.0:22

0.0.0.0:*
LISTEN 8356/xinetd