正常情况下服务器都是暴露在公网上的,难免会被人扫描并且日常爆破上万次,下面两种办法可以让你的服务器"隐藏"在公网当中
1. 服务器禁止ping
禁ping可以防止服务器被扫描,让对方误以为服务器没有工作
1.1. 宝塔
如果你的服务器安装了宝塔,点击安装->启用禁ping即可。包括以下的操作你都可以在宝塔面板中直接操作。
1.2. 手动禁ping
1.2.1. Windows
1.2.1.1. 防火墙方案
Windows XP,Windows Server 2003:
Windows防火墙 --> 高级 --> ICMP --> 设置 --> 把“允许传入回显请求”前打上勾 --> 确定 --> 大功告成。
Windows 7,Win 2008 R2,2012 R2 2016 2019:
Windows防火墙 --> 高级设置 --> 入站规则 --> 在列表里找到“文件和打印机共享(回显请求 - ICMPv4-In)” --> 右击选择启用规则,并在其属性里设置为‘阻止连接'--> 确定 --> 大功告成。
要禁止ping,去掉勾选即可.
指令方式:
netsh firewall set icmpsetting 8 disable
开启将disable去掉执行命令即可
注意:你需要开启windows的防火墙才能使上面的操作有效
1.2.1.2. 本地安全策略方案
可以从控制面板打开本地策略,这里只提供win+r,输入 secpol.msc
找到 IP安全策略,在本地计算机
在右侧点击 创建IP安全策略
点击下一步 名称可以自定义(如禁ping) ->下一页直到点击完成。会自动跳出一个窗口(如果没有跳出双击刚刚创建的策略)
点击左下角添加 点击三次下一页,出现ip筛选列表
,点击右侧添加,输入一个自定义名称 -> 点击右侧添加->下一页-> 去掉“镜像...”前面的√ -> 下一页-> 源地址为任何ip地址
-> 目标地址为我的ip地址
-> 下一页-> 选择ICMP-> 下一页直到完成->点击确定。
可以看到ip筛选列表
出现了刚刚创建的策略,选择上->下一页->点击右侧添加-> 安全方法选择阻止
,点击上方的常规,名称输入刚刚创建的规则名-> 点击下一页直到完成,接着点击确定。
接着右击你刚刚创建的安全策略,点击分配。
尝试ping下你的服务器吧,可以发现已经没有响应了。
此方法参考:百度经验
1.2.2. Linux
/etc/sysctl.conf 中增加一行net.ipv4.icmp_echo_ignore_all=1
保存后输入 sysctl -p
即可
如果需要恢复将1改成0即可
不过禁ping之后,如果服务器或网络出现问题,就无法快速判断是哪个造成的问题了。
2. 修改常用服务端口
如果只是禁ping,攻击者可能会直接尝试连接常用的"高危"的服务端口,如ssh和远程桌面
2.1. 修改SSH端口
默认ssh端口是22,如果使用秘钥链接ssh可以不修改端口,如果使用密码登录建议还是换个端口。
修改/etc/ssh/sshd_config
文件,如果怕改错可以先备份下
vim /etc/ssh/sshd_config
找到# Port 22,将#去掉后修改22位其他端口既可以,保存。
接着终端输入下面的指令或者重启服务器。
/etc/init.d/sshd restart
重启ssh服务,修改后记得放行你修改的端口。
iptables -I INPUT -p tcp --dport 端口 -j ACCEPT
不过不是经常换登录设备的话,建议还是使用ssh秘钥登录。
2.2. 修改远程桌面端口
windows远程桌面的端口是3389,如果是使用弱密码的话,很有可能被攻击者跑出密码,建议设置长密码和多符号混用并修改端口,下面是方法。
win+r 输入regedit打开注册表编辑器打开以下路径
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
win10系的可以直接复制路径进去
找到PortNumber
修改成你想要的端口 选择十进制 点击确定即可。修改完后需要重启下服务器。
目前就先写这么多了。