蓝皮书的自留地

运筹帷幄,决胜千里

早上一早起来收到腾讯云的告警短信

【腾讯云】尊敬的腾讯云用户,您好!您的腾讯云账号(账号ID:liups.com,昵称:liups.com)下的服务器:10.a.b.c [CentOS-liups],实例ID:liups-lhmlsc6j,地域:华南地区 (广州),时间:2022-03-19 03:38:42,检测到其密码被(来源IP:1.116.36.133, 来源地:中国:上海市:上海市)的机器破解成功,尝试次数:51次,阻断状态:未阻断。请即刻前往主机安全控制台查看详细信息。

我的乖乖,刚开通的云主机特么的被入侵了,想起来刚在上面创建了 oracle 用户,密码是个弱密码就被扫描到了。反正是测试主机,我就看看攻破我的主机在上面搞了什么小动作吧。

三下五除二登录服务器,

[root@liups oracle]# cd /home/oracle/
[root@liups oracle]# ll
total 4
-rwxr-xr-x 1 root root 518 Mar 18 21:54 dbca_20220318215358.sh
[root@liups oracle]# ls -la
total 52
drwx—— 6 oracle oinstall 4096 Mar 19 03:39 .
drwxr-xr-x. 5 root   root     4096 Mar 18 21:37 ..
-rw——- 1 oracle oinstall   0 Mar 19 03:39 .bash_history
-rw-r–r– 1 oracle oinstall   18 Apr 1 2020 .bash_logout
-rw-r–r– 1 oracle oinstall 825 Mar 18 21:37 .bash_profile
-rw-r–r– 1 oracle oinstall 231 Apr 1 2020 .bashrc
drwxr-xr-x 3 oracle oinstall 4096 Mar 18 21:55 .cache
drwxr-xr-x 3 oracle oinstall 4096 Mar 18 21:55 .config
-rwxr-xr-x 1 root   root     518 Mar 18 21:54 dbca_20220318215358.sh
-rw-r–r– 1 oracle oinstall 172 Nov 25 00:37 .kshrc
drwxr—– 3 oracle oinstall 4096 Mar 19 03:39 .pki
drwx—— 2 oracle oinstall 4096 Mar 18 22:00 .ssh
-rw——- 1 oracle oinstall 6085 Mar 18 22:12 .viminfo

发现多了个 .pki 的文件夹,可以看到这个文件夹也是异常登录时间产生的。

[root@liups oracle]# top
top - 06:01:38 up 14:29, 1 user, load average: 0.13, 0.22, 0.29
Tasks: 139 total,   2 running, 137 sleeping,   0 stopped,   0 zombie
%Cpu(s): 15.6 us, 6.2 sy, 0.0 ni, 78.1 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 3880172 total,   130008 free, 1831100 used, 1919064 buff/cache
KiB Swap: 6143996 total, 5322660 free,   821336 used.   877032 avail Mem

PID USER     PR NI   VIRT   RES   SHR S %CPU %MEM     TIME+ COMMAND
28343 oracle   20   0 780196 119308   3120 R 33.3 3.1 29:56.95 mysqld
1 root     20   0 125660   3264   2092 S   0.0 0.1   0:08.00 systemd
2 root     20   0       0     0     0 S   0.0 0.0   0:00.02 kthreadd
4 root       0 -20       0     0     0 S   0.0 0.0   0:00.00 kworker/0:0H
6 root     20   0       0     0     0 S   0.0 0.0   0:02.19 ksoftirqd/0
7 root     rt   0       0     0     0 S   0.0 0.0   0:00.19 migration/0
8 root     20   0       0     0     0 S   0.0 0.0   0:00.00 rcu_bh
9 root     20   0       0     0     0 S   0.0 0.0   0:20.84 rcu_sched
10 root       0 -20       0     0     0 S   0.0 0.0   0:00.00 lru-add-drain
11 root     rt   0       0     0     0 S   0.0 0.0   0:00.12 watchdog/0
12 root     rt   0       0     0     0 S   0.0 0.0   0:00.10 watchdog/1

发现多了 oracle 用户跑的 mysqld 进程

[root@liups oracle]# ps -ef grep 28343
oracle   28343     1 21 03:39 ?       00:30:05 ./mysqld
root     32730 32328 0 06:01 pts/0   00:00:00 grep –color=auto 28343
[root@liups oracle]# ls -al
total 52
drwx—— 6 oracle oinstall 4096 Mar 19 03:39 .
drwxr-xr-x. 5 root   root     4096 Mar 18 21:37 ..
-rw——- 1 oracle oinstall   0 Mar 19 03:39 .bash_history
-rw-r–r– 1 oracle oinstall   18 Apr 1 2020 .bash_logout
-rw-r–r– 1 oracle oinstall 825 Mar 18 21:37 .bash_profile
-rw-r–r– 1 oracle oinstall 231 Apr 1 2020 .bashrc
drwxr-xr-x 3 oracle oinstall 4096 Mar 18 21:55 .cache
drwxr-xr-x 3 oracle oinstall 4096 Mar 18 21:55 .config
-rwxr-xr-x 1 root   root     518 Mar 18 21:54 dbca_20220318215358.sh
-rw-r–r– 1 oracle oinstall 172 Nov 25 00:37 .kshrc
drwxr—– 3 oracle oinstall 4096 Mar 19 03:39 .pki
drwx—— 2 oracle oinstall 4096 Mar 18 22:00 .ssh
-rw——- 1 oracle oinstall 6085 Mar 18 22:12 .viminfo
[root@liups oracle]# pwd
/home/oracle
[root@liups oracle]# cd .pki/
[root@liups .pki]]# ls -al
total 12
drwxr—– 3 oracle oinstall 4096 Mar 19 03:39 .
drwx—— 6 oracle oinstall 4096 Mar 19 03:39 ..
drwxr—– 2 oracle oinstall 4096 Mar 19 03:39 nssdb
[root@liups oracle]# cd nssdb/
[root@liups nssdb]# ls -al
total 8
drwxr—– 2 oracle oinstall 4096 Mar 19 03:39 .
drwxr—– 3 oracle oinstall 4096 Mar 19 03:39 ..
[root@liups .pki]# su - oracle
Last login: Fri Mar 18 22:05:55 CST 2022 on pts/2
Last failed login: Sat Mar 19 03:37:27 CST 2022 from 1.116.36.133 on ssh:notty
There were 2 failed login attempts since the last successful login.
oracle@liups:/home/oracle $history
1 2022-03-19 06:02:24 history
oracle@liups:/home/oracle $w
06:02:27 up 14:30, 1 user, load average: 0.22, 0.22, 0.28
USER     TTY     FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0   10.0.12.11       06:00   3.00s 0.07s 0.05s -bash

这就有点意思了,history 和 被创建的文件夹 .pki 里面都没有信息。

su - oracle 切换到 oracle 用户的时候有一条告警登录失败的信息

Last failed login: Sat Mar 19 03:37:27 CST 2022 from 1.116.36.133 on ssh:notty
There were 2 failed login attempts since the last successful login.

查找 mysqld 文件

[root@liups .pki]# updatedb
[root@liups .pki]# locate mysqld
[root@liups .pki]# cd
[root@liups ~]# locate mysqld

查找 mysqld 没有结果,平常我都是采用 updatedb 然后 locae 查找文件,这样速度快一些,既然查不到结果,那就再用 find 试一下。

[root@liups ~]# find / -name “mysqld”

仍然没有结果,我想肯定是是删除了嘎, 心想这个黑客感觉有点傻,删除了虽然现在脚本可以运行,但是被发现了通过 kill或者重启主机也是无法运行了的,这里想到了定时任务,查看crontab -l

oracle@liups:/home/oracle $crontab -l
no crontab for oracle

也没有结果。

执行lsof 查看

[root@liups ~]# lsof grep deleted
mysqld   28343               oracle txt       REG             253,1   5001216     656437 /home/oracle/mysqld (deleted)
mysqld   28343               oracle   1w     REG             253,1       31     656438 /home/oracle/mysqllogs (deleted)
mysqld   28343               oracle   2w     REG             253,1       31     656438 /home/oracle/mysqllogs (deleted)

^C
[root@liups ~]#

哈哈,果然是被删除了。

[root@liups ~]#cd /proc/28343/fd/
[root@liups ~]#ls -l
lrwx—— 1 oracle oinstall 64 Mar 19 05:34 963 -> socket:[5314429]
lrwx—— 1 oracle oinstall 64 Mar 19 05:34 964 -> socket:[5317669]
lrwx—— 1 oracle oinstall 64 Mar 19 05:34 965 -> socket:[5317783]
lrwx—— 1 oracle oinstall 64 Mar 19 05:34 966 -> socket:[5317643]
lrwx—— 1 oracle oinstall 64 Mar 19 05:34 967 -> socket:[5317652]
lrwx—— 1 oracle oinstall 64 Mar 19 05:34 968 -> socket:[5317177]
lrwx—— 1 oracle oinstall 64 Mar 19 05:34 969 -> socket:[5317142]
lrwx—— 1 oracle oinstall 64 Mar 19 05:33 97 -> socket:[5316339]
lrwx—— 1 oracle oinstall 64 Mar 19 05:34 970 -> socket:[5314555]
lrwx—— 1 oracle oinstall 64 Mar 19 05:34 971 -> socket:[5316303]
lrwx—— 1 oracle oinstall 64 Mar 19 05:34 972 -> socket:[5317805]
lrwx—— 1 oracle oinstall 64 Mar 19 05:34 973 -> socket:[5318775]
lrwx—— 1 oracle oinstall 64 Mar 19 05:34 974 -> socket:[5317825]
lrwx—— 1 oracle oinstall 64 Mar 19 05:34 975 -> socket:[5316510]
lrwx—— 1 oracle oinstall 64 Mar 19 05:34 976 -> socket:[5226654]
lrwx—— 1 oracle oinstall 64 Mar 19 05:34 977 -> socket:[5317814]
lrwx—— 1 oracle oinstall 64 Mar 19 05:34 978 -> socket:[5316573]
lrwx—— 1 oracle oinstall 64 Mar 19 05:34 979 -> socket:[5315553]
lrwx—— 1 oracle oinstall 64 Mar 19 05:33 98 -> socket:[5317434]
lrwx—— 1 oracle oinstall 64 Mar 19 05:34 980 -> socket:[5316928]
lrwx—— 1 oracle oinstall 64 Mar 19 05:34 981 -> socket:[5289721]
lrwx—— 1 oracle oinstall 64 Mar 19 05:34 982 -> socket:[5316980]
lrwx—— 1 oracle oinstall 64 Mar 19 05:34 983 -> socket:[5316491]
lrwx—— 1 oracle oinstall 64 Mar 19 05:34 984 -> socket:[5018272]
lrwx—— 1 oracle oinstall 64 Mar 19 05:34 985 -> socket:[5315655]
lrwx—— 1 oracle oinstall 64 Mar 19 05:34 986 -> socket:[5317701]
lrwx—— 1 oracle oinstall 64 Mar 19 05:34 987 -> socket:[5290690]
lrwx—— 1 oracle oinstall 64 Mar 19 05:34 988 -> socket:[5316555]
lrwx—— 1 oracle oinstall 64 Mar 19 05:34 989 -> socket:[5318771]
lrwx—— 1 oracle oinstall 64 Mar 19 05:33 99 -> socket:[5317328]
lrwx—— 1 oracle oinstall 64 Mar 19 05:34 990 -> socket:[5318783]
lrwx—— 1 oracle oinstall 64 Mar 19 05:34 991 -> socket:[5218358]
lrwx—— 1 oracle oinstall 64 Mar 19 05:34 992 -> socket:[5318826]
lrwx—— 1 oracle oinstall 64 Mar 19 05:34 993 -> socket:[5318718]
lrwx—— 1 oracle oinstall 64 Mar 19 05:34 994 -> socket:[5318716]
lrwx—— 1 oracle oinstall 64 Mar 19 05:34 995 -> socket:[5317459]
lrwx—— 1 oracle oinstall 64 Mar 19 05:34 996 -> socket:[5318982]
lrwx—— 1 oracle oinstall 64 Mar 19 05:34 997 -> socket:[5290721]
lrwx—— 1 oracle oinstall 64 Mar 19 05:34 998 -> socket:[5317468]
lrwx—— 1 oracle oinstall 64 Mar 19 05:34 999 -> socket:[5317594]
查看当前目录有一堆 socket 文件。
[root@liups fd]# ls -lgrep -v soc
total 0
lr-x—— 1 oracle oinstall 64 Mar 19 05:33 0 -> /dev/null
l-wx—— 1 oracle oinstall 64 Mar 19 05:33 1 -> /home/oracle/mysqllogs (deleted)
l-wx—— 1 oracle oinstall 64 Mar 19 05:33 2 -> /home/oracle/mysqllogs (deleted)
lrwx—— 1 oracle oinstall 64 Mar 19 05:33 3 -> anon_inode:[eventpoll]
lr-x—— 1 oracle oinstall 64 Mar 19 05:33 4 -> pipe:[1055407]
l-wx—— 1 oracle oinstall 64 Mar 19 05:33 5 -> pipe:[1055407]
[root@liups fd]# cd 1
-bash: cd: 1: Not a directory
[root@liups fd]# cat 1
Your MySQL connection id is 12
[root@liups fd]# cat 2
Your MySQL connection id is 12
[root@liups fd]# ps -ef grep mysqld
root     17438 32328 0 06:49 pts/0   00:00:00 grep –color=auto mysqld
oracle   28343     1 21 03:39 ?       00:40:16 ./mysqld
[root@liups fd]# rpm -qagrep mysql
[root@liups fd]#
[root@liups fd]# cd

只能看到 /home/oracle/mysqllogs (deleted) 但是看不到 mysqld 的信息。

想着安装个 extundelete 软件进行恢复一下呢。wget 了软件包,编译了下,缺少软件包,算了,不看这是什么东东(既然被删除了,攻击者都放弃了第二次运行的脚本,肯定是不想让我看到内容了),直接kill进程得了。之前遇到的被破解登录,都是部署了加密脚本和定时任务,脚本即使被看到也无法解密,可能这个脚本没有加密,不想让其他人看到吧。哈哈,这不失也是一个巧妙的办法,对linux 删除文件也不太熟悉,同时周末一大早,也不想折腾了。

kill 进程之后,mysqld进程没有再出现。

问题后续

1、重新安装os,启用密钥登录。 2、修改 ssh 22 号端口为其他不常用端口 3、启用腾讯云防火墙将 ssh 服务设置为固定ip 访问

本来腾讯云是默认开启密码登录的,为了安装 oracle 方便,新建的 oracle 是使用的密码登录,临时取消了ssh的密钥登录。

腾讯云的安全功能不错,这里推广下腾讯云,目前新春购活动持续进行,新老用户都有优惠。可以通过以下链接进行购买。我有返利哟。

【腾讯云】爆款2核2G云服务器首年40元

[toc]

查看CRS是否随操作系统自动启动

1
crsctl config crs

[root@rac02 ~]# crsctl config crs CRS-4622: Oracle High Availability Services ==autostart is enabled==.

启用 CRS 系统重启而自动启动

1
crsctl enable crs

禁用开机自动启动CRS

1
crsctl disable crs

启动集群

默认开机自启动

手动启动集群

1
crsctl start crs
阅读全文 »

计划内 MySQL 传统主从切换,相当于 ORACLE 的switch over,就是主从切换。

主库A、从库B

从库B执行show processlsit;如果出现 Slave has read all relay log; waiting for more updates 说明主从的状态是正常。

从库B多次执行 show slave status\G;

阅读全文 »

[toc]

发现用户的统计信息被锁定:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
hr@(20_CBTDEPDB)> select owner,table_name,STATTYPE_LOCKED from dba_tab_statistics where owner='HR';
OWNER     TABLE_NAME STATTYPE_LOCKED
-------------------- -------------------- --------------------
HR     REGIONS  ALL
HR     COUNTRIES  ALL
HR     LOCATIONS  ALL
HR     DEPARTMENTS  ALL
HR     JOBS  ALL
HR     EMPLOYEES  ALL
HR     JOB_HISTORY  ALL
HR     REGIONS_COL  ALL
HR     TBSPAR_ORDER  ALL
HR     REGIONS2  ALL
HR     REGIONS  ALL
HR     TAB1  ALL
HR     TDE1  ALL
HR     TBSPAR_ORDER  ALL
14 rows selected.
hr@(20_CBTDEPDB)>

解锁 schema下的所有统计信息

阅读全文 »

1
SELECT b.trx_mysql_thread_id AS 'blocked_thread_id' ,b.trx_query AS 'blocked_sql_text' ,c.trx_mysql_thread_id AS 'blocker_thread_id' ,c.trx_query AS 'blocker_sql_text' ,( Unix_timestamp() - Unix_timestamp(c.trx_started) ) AS 'blocked_time' FROM information_schema.innodb_lock_waits a INNER JOIN information_schema.innodb_trx b ON a.requesting_trx_id = b.trx_id INNER JOIN information_schema.innodb_trx c ON a.blocking_trx_id = c.trx_id WHERE ( Unix_timestamp() - Unix_timestamp(c.trx_started) ) > 4;
阅读全文 »

ORACLE DG 搭建、切换及日常维护手册

ORACLE DG 数据库信息

数据库版本 19.18

/etc/hosts

1
2
3
4
181.18.1.190  liups  
131.31.1.133 tcloud
10.0.12.11 liups # 190
10.0.24.4 tcloud #133
角色 IP (外部IP/内网IP) db_unique_name ORACLE_SID ORACLE_HOME tns_name
主库 181.18.1.190/10.0.12.11 ora19cl ora19cl /data/app/oracle/product/19.3.0/db primarytns
DG 131.31.1.133/10.0.24.4 ora19cdg ora19cdg /data/app/oracle/product/19.3.0.0/dbhome_1 standbytns

配置归档模式
阅读全文 »

0%