我的Linux安全保护
来源:互联网 发布:js和jsp的区别 编辑:程序博客网 时间:2024/05/04 10:04
我的Linux安全保护
配置好WAN IP后
1、增加新用户
#useradd XXX
#passwd XXX
2、编辑ssh规则
#vi /etc/ssh/sshd_config
修改ssh端口
Port 43210
禁止root直接ssh
PermitRootLogin no
#/etc/ssh/sshd restart
3、修改防火墙开放ssh端口
#vi /etc/sysconfig/iptables
添加策略
-A INPUT -m state --state NEW -m tcp -p tcp --dport 43210 -j ACCEPT
#/etc/init.d/iptables restart
这样就可以用你的账号XXX:43210 ssh该主机了。
4、因为iptables允许ping,所以会有不少肉鸡通过扫描察觉主机所在,从而不断发起恶意的ssh访问。因此若不需要ping,可以进行禁ping操作。
方法一可以修改iptables
#-A INPUT -p icmp -j ACCEPT 注释掉这句,即是不开放ping
或者将ACCEPT修改为DROP,即是将ping包丢弃
-A INPUT -p icmp -j DROP
方法二也可以直接在命令行输入:echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all 表示Linux禁ping
由于该命令只是对该开机状态起效,重启机器后将会失效,所以一般将该命令放进/etc/rc.d/rc.local,表示开机自运行。
echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all 表示Linux允许ping
但是由于一些监控服务可能需要通过ping来判断服务器的健康状态,所以可能不能禁ping.
5、为避免恶意的ssh,可以使用脚本自动识别恶意的IP并将其加入禁止访问列表
#vi /usr/bin/Prevent.sh
#!/bin/bash
#Prevent SSH Attack
SLEEPTIME=30 每30秒检测一次
lastb -n 500 | grep -v "^$" | grep -v "btmp" | awk '{print $3}' | sort | uniq -c | sort -nr > attack.log
while true
do
while read line
do
IP=`echo $line | awk '{print $2}'`
TIME=`echo $line | awk '{print $1}'`
if [ "$TIME" -gt 10 ];then
grep "$IP" /etc/hosts.deny &> /dev/null
if [ "$?" -ne 0 ];then
echo "sshd:$IP">>/etc/hosts.deny
fi
fi
done <attack.log
/bin/sleep $SLEEPTIME
done
赋予脚本可执行的权限。
#chmod 770 Prevent.sh
#sh Prevent.sh
同理,重启机器后该脚本失效。所以一般将该命令放进/etc/rc.d/rc.local,表示开机自运行。
#vi /etc/rc.d/rc.local
sh /usr/bin/Prevent.sh
6、至此,安全防护配置完成。
配置好WAN IP后
1、增加新用户
#useradd XXX
#passwd XXX
2、编辑ssh规则
#vi /etc/ssh/sshd_config
修改ssh端口
Port 43210
禁止root直接ssh
PermitRootLogin no
#/etc/ssh/sshd restart
3、修改防火墙开放ssh端口
#vi /etc/sysconfig/iptables
添加策略
-A INPUT -m state --state NEW -m tcp -p tcp --dport 43210 -j ACCEPT
#/etc/init.d/iptables restart
这样就可以用你的账号XXX:43210 ssh该主机了。
4、因为iptables允许ping,所以会有不少肉鸡通过扫描察觉主机所在,从而不断发起恶意的ssh访问。因此若不需要ping,可以进行禁ping操作。
方法一可以修改iptables
#-A INPUT -p icmp -j ACCEPT 注释掉这句,即是不开放ping
或者将ACCEPT修改为DROP,即是将ping包丢弃
-A INPUT -p icmp -j DROP
方法二也可以直接在命令行输入:echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all 表示Linux禁ping
由于该命令只是对该开机状态起效,重启机器后将会失效,所以一般将该命令放进/etc/rc.d/rc.local,表示开机自运行。
echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all 表示Linux允许ping
但是由于一些监控服务可能需要通过ping来判断服务器的健康状态,所以可能不能禁ping.
5、为避免恶意的ssh,可以使用脚本自动识别恶意的IP并将其加入禁止访问列表
#vi /usr/bin/Prevent.sh
#!/bin/bash
#Prevent SSH Attack
SLEEPTIME=30 每30秒检测一次
lastb -n 500 | grep -v "^$" | grep -v "btmp" | awk '{print $3}' | sort | uniq -c | sort -nr > attack.log
while true
do
while read line
do
IP=`echo $line | awk '{print $2}'`
TIME=`echo $line | awk '{print $1}'`
if [ "$TIME" -gt 10 ];then
grep "$IP" /etc/hosts.deny &> /dev/null
if [ "$?" -ne 0 ];then
echo "sshd:$IP">>/etc/hosts.deny
fi
fi
done <attack.log
/bin/sleep $SLEEPTIME
done
赋予脚本可执行的权限。
#chmod 770 Prevent.sh
#sh Prevent.sh
同理,重启机器后该脚本失效。所以一般将该命令放进/etc/rc.d/rc.local,表示开机自运行。
#vi /etc/rc.d/rc.local
sh /usr/bin/Prevent.sh
6、至此,安全防护配置完成。
0 0
- 我的Linux安全保护
- 保护网络的安全
- 保护Apache的安全
- 保护HTTP的安全
- HTTPS的安全保护
- 悬镜教您9招,保护您的linux服务器安全
- 保护我的代码
- 保护我们的代码安全
- 保护Web服务器的安全
- 保护Oracle数据库的安全
- 14.1 保护HTTP的安全
- 保护SQL服务器的安全-安全安装
- 斯诺登爆“棱镜”短信泄密,谁来保护我的短信安全?
- 使用日志系统保护Linux安全
- 对Linux服务器平台如何安全保护
- 对Linux服务器平台如何安全保护
- 十大最佳用于隐私和安全保护的 Linux 发行版
- 保护 ASP.NET 应用的安全
- 测试了几个PHP框架
- hihoCoder 1075 开锁魔法III
- 3.22
- 深圳市盟奈特国际贸易有限公司
- 二维数组指针的使用
- 我的Linux安全保护
- python调用调用Linux命令
- 第二单元作业 2.29
- MySQL 备份与恢复
- R语言数据分析系列之五
- ORACLE-基础三(手动创建数据库)
- hihocoder 1075 开锁魔法III(置换+DP)
- openlayers 高亮显示记录
- java如何对ArrayList中对象按照该对象某属性排序