天天看点

使用history环境变量提升系统安全性

1) 应用场景

系统如果被黑客攻入,他就可以查看一下histroy就能知道了系统的一些敏感信息,像登录的密码之类的:比如有马虎的维护工程师,直接输入了数据库的密码:

<code>[root@mysql-master ~]</code><code># history </code>

<code>   </code><code>16  </code><code>history</code> 

<code>   </code><code>17  </code><code>clear</code>

<code>   </code><code>18  mysql -u root -p</code><code>'redhat12345'</code> <code>-S </code><code>/data/3306/mysql</code><code>.sock</code>

<code>   </code><code>19  </code><code>history</code>

<code>如上,我们可以发现数据库的密码为redhat12345</code>

2)如何让系统不记录这些敏感信息了?

<code>[root@mysql-master ~]</code><code># export HISTCONTROL=ignorespace</code>

<code>   </code><code>19  </code><code>history</code> 

<code>   </code><code>20  </code><code>export</code> <code>HISTCONTROL=ignorespace</code>

<code>   </code><code>21  </code><code>history</code> 

<code>   </code><code>22  </code><code>clear</code>

<code>   </code><code>23  </code><code>history</code> 

<code>[root@mysql-master ~]</code><code># who am i</code>

<code>root     pts</code><code>/0</code>        <code>2016-10-14 21:13 (10.10.10.1)</code>

<code>[root@mysql-master ~]</code><code>#  mysql -u root -predhat12345 -S /data/3306/mysql.sock -e "show databases;"</code>

<code>+--------------------+</code>

<code>| Database           |</code>

<code>| information_schema |</code>

<code>| blog               |</code>

<code>| dawnpro            |</code>

<code>| eip                |</code>

<code>| ems                |</code>

<code>| hangzhou_dawnpro   |</code>

<code>| james              |</code>

<code>| kitty              |</code>

<code>| mysql              |</code>

<code>| opark              |</code>

<code>| performance_schema |</code>

<code>| test123            |</code>

<code>| wanlong            |</code>

<code>| www                |</code>

<code>[root@mysql-master ~]</code><code># w</code>

<code> </code><code>03:19:43 up 1 day, 21:26,  2 </code><code>users</code><code>,  load average: 1.00, 1.00, 1.00</code>

<code>USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT</code>

<code>root     pts</code><code>/0</code>    <code>10.10.10.1       21:13    0.00s  0.76s  0.01s w</code>

<code>root     pts</code><code>/1</code>    <code>10.10.10.1       03:03   14:32   0.19s  0.19s -</code><code>bash</code>

<code>   </code><code>24  </code><code>who</code> <code>am i</code>

<code>   </code><code>25  w</code>

<code>   </code><code>26  </code><code>history</code> 

<code>如上可知,“空格+命令”,可以不让histroy记录这些敏感信息</code>

3)其它方法

<code>输入重要命令前,先输入</code><code>export</code> <code>HISTIGNORE=*,然后输入重要命令,输入完成后,再通过"</code><code>export</code> <code>HISTIGNORE=”恢复记录</code>

<code>[root@mysql-master ~]</code><code># history -c</code>

<code>[root@mysql-master ~]</code><code># export HISTIGNORE=*</code>

<code>[root@mysql-master ~]</code><code># mysql -uroot -predhat12345 -S /data/3306/mysql.sock</code>

<code>Welcome to the MySQL monitor.  Commands end with ; or \g.</code>

<code>Your MySQL connection </code><code>id</code> <code>is 65</code>

<code>Server version: 5.5.32-log Source distribution</code>

<code>Copyright (c) 2000, 2013, Oracle and</code><code>/or</code> <code>its affiliates. All rights reserved.</code>

<code>Oracle is a registered trademark of Oracle Corporation and</code><code>/or</code> <code>its</code>

<code>affiliates. Other names may be trademarks of their respective</code>

<code>owners.</code>

<code>Type </code><code>'help;'</code> <code>or </code><code>'\h'</code> <code>for</code> <code>help. Type </code><code>'\c'</code> <code>to </code><code>clear</code> <code>the current input statement.</code>

<code>mysql&gt; \q</code>

<code>Bye</code>

<code>[root@mysql-master ~]</code><code># export HISTIGNORE=</code>

<code>   </code><code>16  </code><code>export</code> <code>HISTIGNORE=*</code>

<code>   </code><code>17  </code><code>history</code>

本文转自 冰冻vs西瓜 51CTO博客,原文链接:http://blog.51cto.com/molewan/p8,如需转载请自行联系原作者