1 安装防火墙
sudo apt-get install ufw
启用
sudo ufw enable
sudo ufw default deny
作用:开启了防火墙并随系统启动同时关闭所有外部对本机的访问(本机访问外部正常)。
sudo ufw disable
2 查看防火墙状态
sudo ufw status
sudo ufw allow 80 允许外部访问80端口
sudo ufw delete allow 80 禁止外部访问80 端口
sudo ufw allow from 192.168.1.1 允许此IP访问所有的本机端口
sudo ufw deny smtp 禁止外部访问smtp服务
sudo ufw delete allow smtp 删除上面建立的某条规则
sudo ufw deny proto tcp from 10.0.0.0/8 to 192.168.0.1 port 22 要拒绝所有的TCP流量从10.0.0.0/8 到192.168.0.1地址的22端口
可以允许所有RFC1918网络(局域网/无线局域网的)访问这个主机(/8,/16,/12是一种网络分级): sudo ufw allow from 10.0.0.0/8 sudo ufw allow from 172.16.0.0/12 sudo ufw allow from 192.168.0.0/16
Ubuntu 16.04修改ssh端口
修改/etc/ssh/sshd_config,在Port 22下添加你的端口
Port 22
Port YOUR_PORT
修改/etc/ssh/ssh_config,在Host *下添加你的端口
Host *
Port 22
Port 你的端口
# ForwardAgent no
...
重启ssh
service ssh restart
查看状态
netstat -an | grep "LISTEN "
注意:
新端口应该添加了允许访问的列表里,免得将自己锁在了服务器外面!!!参考这里,在 Linux 命令行输入的指令为:
想要使用的端口,防火墙必须已经放行,不然可能会把自己当在门外。
还要注意一点的是,如果系统是CentOS7,更改SSH端口之后,还需要在SELinux做相应的处理,我对SELinux不熟悉,一般都是直接关闭的。
阿里云:
firewall-cmd --zone=public --add-port=你的端口/tcp --permanent
查看Auth.log,检查SSH是否被扫
查看用密码登陆成功的IP地址及次数
grep "Accepted password for root" /var/log/auth.log | awk '{print $11}' | sort | uniq -c | sort -nr | more
查看用密码登陆失败的IP地址及次数
grep "Failed password for root" /var/log/auth.log | awk '{print $11}' | sort | uniq -c | sort -nr | more
默认的ssh端口是22,通常远程git是通过ssh端口进行访问的,所以服务器修改了ssh默认端口或者经过防火墙端口映射之后,git clone gituser@server:project.git命令就不能用了。解决的方法如下:
git clone ssh://gituser@server:PORT/project.git
git remote set-url origin ssh://git@36.120.36.210:9401/WM1116/application.git