天天看點

使用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,如需轉載請自行聯系原作者