我们的网站服务器最近经常遭到黑客攻击。我该如何保护它?
答案1
这是什么类型的服务器?(Windows/Unix?)是远程托管的吗?它运行的是什么应用程序?你使用的密码很蠢吗?你使用防火墙吗?
根本没有足够的信息来开始帮助您!
答案2
找到一个称职的管理员。也就是说,雇佣一个。
解雇不称职的开发人员,聘请称职的开发人员。
答案3
付钱让别人为你做这件事。
答案4
我可以给出三条建议:1. 尽可能使用非标准端口。例如,让 ssh 使用端口 3456,远程桌面使用 4567。2. 使用长密码。3. 让程序监听标准端口,例如端口 80 或端口 21。当有人连接该端口时,记录 IP 地址并禁止他们访问整个服务器。
下面是一个树莓派 php 网页的示例,它监听端口 80,并禁止任何使用 iptables 连接到该网页的人:
要从 php 运行 iptables,请将以下内容添加到 /etc/sudoers www-data ALL=(ALL) NOPASSWD: /sbin/iptables
<?php
// Get the ip address of the client.
$remote_addr = $_SERVER['REMOTE_ADDR'];
// Ban them.
if (is_ip($remote_addr)) {
ban_ip($remote_addr);
// Save the banned IP address.
$logfile = '/run/shm/banned.txt';
file_put_contents($logfile,$remote_addr."\n",FILE_APPEND);
}
// Returns true if $ip is a valid ip address.
function is_ip($ip)
{
$count = strlen($ip);
$valid = '0123456789.:';
for($loop=0;$loop<$count;$loop++) {
if (strpos($valid,substr($ip,$loop,1))===false) {
return false;
}
}
return true;
}
// Bans an ip address.
function ban_ip($ip)
{
$cmd = 'sudo /sbin/iptables -A INPUT -s ' . $ip . ' -j DROP';
exec($cmd);
return;
}
?>