【linux】记一次linux(centos)被暴力破解事件,从修改linux默认登录端口为普通账号授权到linux基础操作命令
文章目录
- 查看阶段
- 列出登入系统失败的用户相关信息
- 查找恶意登录的前十个IP
- 统计登录
- 处理阶段
- 处理阶段-更改默认登录端口
- 第一步 输入命令:
- 第二步:
- 第三步 重启ssh服务:
- 第四步: 防火墙开放新端口:
- 第五步:云服务器处理
- 处理阶段-新增账户并禁止root远程登录
- 新增用户
- 设置密码
- 禁止root远程登录:
- 查看用户所属组命令
- 查看当前登录用户所属组
- 查看 yourName的所属组
- 更改用户所属组
- 封禁ip阶段
- 封禁单个ip
- 封禁整个ip段
- 封禁多个ip段
- 解封ip
- 全部解封
- 备份iptables 至tmp目录 (也可以用图形界面操作)
- 只允许访问服务器xxx.xxx.xx.x 的80端口
- 只允许某个ip 111.111.1.1 访问服务器xxx.xxx.xx.x的80端口
- 其它辅助分析命令
- 查看磁盘使用情况
- 查看内存使用情况
- 查看进程
- vim 翻页
- vim 查询
- 查看进程cpu占用情况
- 查看当前路径
- 借助工具查看当前Linux所有登陆用户
- 下载whowatch 会比较慢 耐心等待
- 使用命令
- 使用帮助手册
第一次直面黑客攻击 有点小兴奋 反手就总结了一下知识点 并写了这篇博客。
本教程已在 centos7.6, centos8不同版本中实验
/var/log/btmp 记录登录失败信息
/var/log/secure 一般用来记录安全相关的,授权或登录信息。
如果上述两个文件很大,或者大小一直在增长,说明有人在 爆力破解密码。
基本命令及教程:
查看阶段
列出登入系统失败的用户相关信息
lastb
查找恶意登录的前十个IP
sudo lastb | awk '{ print $3}' | awk '{++S[$NF]} END {for(a in S) print a, S[a]}' | sort -rk2 |head
统计登录
lastb | awk '{ print $3}' | sort | uniq -c | sort -n
需要注意的是,一般被暴力破解 对方都会准备大量的代理ip 这时优先的是更改默认登录端口,封禁ip是下策。
处理阶段
处理阶段-更改默认登录端口
第一步 输入命令:
vim /etc/ssh/sshd_config
第二步:
tips: 按i 键进入编辑模式, 按ESC回到查看模式 , 再按shift+ : 进入命令模式 输入wq (保存退出)
找到Port 22,把注释放开 我们先保留22端口,并在下面另起一行 新增一个Port 例如Port 122
第三步 重启ssh服务:
低版本centos使用:
service sshd restart
高版本centos使用:
systemctl restart sshd.service
如果此时用的122端口登录,很可能连接会马上被断开,所以这也是为什么Port 22不要马上修改,而是新增一个
第四步: 防火墙开放新端口:
新端口我们还是以122端口举例
查看防火墙状态
systemctl status firewalld
如果是dead 需要启动防火墙
systemctl start firewalld
查看122端口是否开放
firewall-cmd --query-port=122/tcp
开放122端口 (注意 这只是防火墙的端口开放 ; 在云服务器中 第四步不能省略)
firewall-cmd --add-port=122/tcp --permanent
如果不小心输错了 需要关闭防火墙则把add替换成remove
重新加载防火墙
firewall-cmd --reload
重启防火墙
systemctl restart firewalld
第五步:云服务器处理
我们还需要在云服务的安全组(腾讯云轻量级服务器中的防火墙)中放开端口122,如果ssh软件122登录成功,
我们再回到第一、二步把22端口删除。
处理阶段-新增账户并禁止root远程登录
新增用户
adduser yourName
设置密码
passwd yourName
输入密码,确认密码
这样就得到一个新账号:yourName # yourName 替换成你的账号名 尽量保证自定义账号及密码的复杂度
禁止root远程登录:
第一步:(没错 就是上面更改登录端口的这个配置文件)
vim /etc/ssh/sshd_config
第二步: 找到PermitRootLogin yes
把yes改成no
第三步: 重启shh服务
低版本centos使用: service sshd restart
高版本centos使用: systemctl restart sshd.service
这样我们通过我们自己的账户进行远程登录,登录完成再通过 su - root 进行切换。
这里会有一个问题,我们平常复制文件到linux系统上 一般会利用图形化界面远程传输 如FileZilla,
我们就新账号权限是不够的,且在该软件中不能切换root用户,这里有两种思路:
如果就只想使用root账号来操作 不想授权给其它账号 且又要保证安全,
那就在需要使用的时候 PermitRootLogin改回 yes ,用完再改回 no我们也可以给我们自定义账号进行授权。
授权步骤:
a. 我们先用自定义的账号登录 再切回root :
命令: su -root
b. 查找sudoers文件
(注意whereis只能用于查找二进制文件、源代码文件和man手册页 通俗点可以理解为某些系统自带文件):
命令: whereis sudoers
c. 一般都是在 /etc/sudoers 目录下 修改配置文件:
命令: ls -l /etc/sudoers #查看原来的权限 并把它记在心里 记不住就备份
命令: vim /etc/sudoers
找到以下内容:
Allow root to run any commands anywhere
root ALL=(ALL) ALL
在root下方新起一行
yourName ALL=(ALL) ALL
这个文件是只读的,我们可以在命令模式下 强制保存并退出
强制保存退出命令: wq!
或者先使用命令修改权限:
chmod 777 /etc/sudoers
在root下方新起一行
yourName ALL=(ALL) ALL
保存退出命令: wq
再将权限改回
chmod 440 /etc/sudoers
当然,chmod 777 这个操作是将所有权限授予给yourName 账户, 具体的授权可以自己组合
tips:
r : 4 读
w : 2 写
x : 1 执行
例如 -r–r----- 就是440 ,-rw------- 就是600
第一个数字:表示当前文件的拥有者的权限
第二个数字:表示当前文件的所属组(同组用户)权限
第三个数字:表示当前文件的组外权限
假设我们想用我们自己新增的账号 来代替root账户 我们还得修改用户的所属组
查看用户所属组命令
查看当前登录用户所属组
groups
查看 yourName的所属组
groups yourName
更改用户所属组
将 yourName加入到root所属组
usermod -g root yourName
注意上述才是更改用户所属组 区分于文件的所有者、所属组更改命令
冒号前表示文件所有者 冒号后表示所有组
chown -R yourName:root 文件名
举个例子 我们在根目录下 用root账号创建一个文件夹后,想使用我们自定义账号来操作这个文件夹,
那我们就需要将自定义账号加入到root组里面 并修改文件夹的所有者 所有组,否则filezilla工具文件传输时会无法启动传输(权限问题)
封禁ip阶段
虽说是下策 , 封禁总比没封禁好 , 或许对方代理ip不多呢
封禁单个ip
iptables -I INPUT -s 211.1.0.0 -j DROP
封禁ip段 0/16 是固定写法,封禁211.1 段, 不是211.1.0.0 至211.1.0.16的含义
iptables -I INPUT -s 211.1.0.0/16 -j DROP
封禁整个ip段
iptables -I INPUT -s 211.0.0.0/8 -j DROP
封禁多个ip段
iptables -I INPUT -s 61.37.80.0/24 -j DROP
iptables -I INPUT -s 61.37.81.0/24 -j DROP
解封ip
iptables -D INPUT -s 211.1.0.0 -j DROP
全部解封
iptables -F
备份iptables 至tmp目录 (也可以用图形界面操作)
cp /etc/sysconfig/iptables /var/tmp
只允许访问服务器xxx.xxx.xx.x 的80端口
iptables -I INPUT -p TCP –dport 80 -j DROP
iptables -I INPUT -s xxx.xxx.xx.x -p TCP –dport 80 -j ACCEPT
service iptables restart
只允许某个ip 111.111.1.1 访问服务器xxx.xxx.xx.x的80端口
iptables -A FORWARD -s 111.111.1.1 -d xxx.xxx.xx.x -p tcp -m tcp –dport 80 -j ACCEPT
iptables -A FORWARD -d xxx.xxx.xx.x -p tcp -m tcp –dport 80 -j DROP
service iptables restart
其它辅助分析命令
查看磁盘使用情况
df -h
查看内存使用情况
free -h
查看进程
ps -ef
tips:
ps -ef得到到是
UID(用户名)
PID (进程id)
PPID(父进程id)
C(CPU占用率)
STIME(开始时间 )
TTY(终端设备)
TIME(持续时间)
CMD(命令名)
vim 翻页
ctrl f (向下翻页 forward的意思)
ctrl b (向上翻页back的意思)
ctrl u (向上翻半页 up)
ctrl d (向下翻半页 down)
vim 查询
/ enter
(按斜杠后 再按回车 输入要查询的字符)
查询状态下:
n 下一个
N 上一个
查看进程cpu占用情况
top -p pid
查看当前路径
pwd
借助工具查看当前Linux所有登陆用户
下载whowatch 会比较慢 耐心等待
yum whowatch
使用命令
whowatch
使用帮助手册
man whowatch
【linux】记一次linux(centos)被暴力破解事件,从修改linux默认登录端口为普通账号授权到linux基础操作命令相关推荐
- 修改ftp服务器开放22端口,linux服务器修改ftp默认21端口方法
1.登录服务器,打开vsftp.conf文件 # vim /etc/vsftpd/vsftpd.conf 2.在文件末尾增加listen_port=8021 #remote_charset=CP125 ...
- linux修改ssh登陆端口号,Linux 6 修改ssh默认远程端口号的操作步骤
linux 默认的ssh远程端口是22,有时默认端口会遭到别有用心的人们扫描或攻击,为了时我们的系统更加安全那就需要修改远程端口号 操作步骤: 1.修改ssh_config配置文件 vim /etc/ ...
- iis端口号 linux,Linux 6 修改ssh默认远程端口号的操作步骤
linux 默认的ssh远程端口是22,有时默认端口会遭到别有用心的人们扫描或攻击,为了时我们的系统更加安全那就需要修改远程端口号 操作步骤: 1.修改ssh_config配置文件vim /etc/s ...
- Linux 修改ssh远程登录端口命令
Linux 修改ssh远程登录端口命令 使用默认22端口登录服务器执行以下命令 sudo vi /etc/ssh/sshd_config 找到 #Port 22这一行,把#号注释去掉同时在下面新增一行 ...
- CentOS7 Linux服务器修改SSH默认22端口
文章目录 1. 安装一些东西
- linux 重启21端口命令,修改SSH默认远程端口为21号端口
在防火墙配置的规则下默认只开放了21端口,需要远程通过ssh管理服务器,经过测试可以设置,具体步骤如下. 一.修改sshd服务默认监听端口 #vim /etc/ssh/sshd_config 找到#p ...
- Linux修改默认登录端口22
目录 一.查看防火墙状态 二.编辑sshd配置 三.重启sshd 四.防火墙开放端口 五.重启防火墙 六.测试连接 七.防火墙关闭22端口 八.重启防火墙以生效 前言:ssh登录的默认端口是22,如果 ...
- linux服务器开启远程端口,Linux修改SSH远程登录端口
1.修改SSH远程登录端口为1211 # vi/etc/ssh/sshd_config Port 1211 #把'#Port 22'修改为'Port 1211': #AddressFamilyany ...
- Linux云计算架构师:SSHD服务搭建管理和防止暴力破解
全套学习资料移步至公众号[学神来啦]更多学习资料添加扣扣资源群:661308959 本节所讲: 1.1 Linux服务前期环境准备.搭建CentOS 7环境 1.2 SSHD服务安装-ss ...
最新文章
- 使用JavaScript实现在页面上所有内容加载完之前一直显示loading...页面
- jQuery 2.0.3 源码分析 Deferred(最细的实现剖析,带图)
- linux进程管理之进程创建
- 【bzoj3280】小R的烦恼 费用流
- 获取Ip所在城市名与详细
- 华为数通HCIE面试题目解密系列之RSTP边缘端口
- android同步aar到jcenter,android上传aar到jcenter
- 编译安装python3.6_编译安装Python3.6及以上
- 苹果调整App Store政策;国内首个5G+8K超高清国产化白皮书发布;Windows计算器移植到到 Linux|极客头条
- liunx 命令 之 mkdir 与 touch
- mysql联合查询的几种方式
- Alexa | Alexa Auto SDK 概述
- 计算机一级最难考题,计算机一级试题
- 记忆网络之Dynamic Memory Networks模型介绍及代码实现
- u盘安装原版window10系统
- 告别脚本小子【编写端口扫描工具】
- 计算机如何新增硬盘,电脑新增加一块硬盘安装并使用的教程
- 在外包公司工作是什么样的体验?
- SAP ECC连接SAP PI系统配置
- shell脚本获取OpenSSH版本