- Linux運維最佳實踐
- 胥峰 楊俊俊
- 471字
- 2019-01-04 00:50:52
最佳實踐3:配置chroot加固BIND
chroot是Linux系統對應用程序的一種安全約束機制。在應用程序執行了chroot系統調用后,它的執行被限定到chroot后的目錄下。例如在Perl腳本中,使用chroot/chroot/test后,那么該程序看到的目錄實際上是系統的/chroot/test目錄。這樣操作后,在最差的情況下,如果BIND被入侵了,那么黑客所拿到的目錄權限會被限制到chroot后的目錄,不會對系統的其他文件造成泄露或者被惡意修改。
使BIND支持chroot的操作步驟有以下6步。
1)創建named用戶。使用的命令如下:
groupadd -g 25 named useradd -g 25 -u 25 -d /chroot/named -s /sbin/nologin named
2)創建目錄結構、修改權限。使用的命令如下:
mkdir -p /chroot/named/{dev,etc,var} chown named.named /chroot/named/var
3)創建設備。使用的命令如下:
mknod /chroot/named/dev/null c 1 3 mknod /chroot/named/dev/zero c 1 5 mknod /chroot/named/dev/random c 1 8
4)復制需要的文件。使用的命令如下:
cp /etc/localtime /chroot/named/etc
5)在/chroot/named/etc/named.conf中,直接使用chroot后的目錄結構即可,使用的命令如下:
options { directory "/etc"; #此處實際上對應系統的/chroot/named/etc dump-file "/var/cache_dump.db";#此處實際上對應系統的/chroot/named/ var/cache_dump.db statistics-file "/var/named_stats.txt"; #此處實際上對應系統的/chroot/named/var/named_stats.txt zone-statistics yes; allow-query {any;}; recursion yes; }; logging{ channel query_log { file "/var/query.log" versions 5 size 20m; #此處實際上對應系統的/chroot/named/var/query.log severity info; print-time yes; print-category yes; }; category queries{ query_log; }; };
6)啟動named進程。使用的命令如下:
named -t /chroot/named -u named -c /etc/named.conf
這樣操作完成后,named以普通用戶權限運行,運行環境被限定到/chroot/named目錄下,這樣可以極大地增強BIND的安全性。
推薦閱讀
- Citrix XenApp Performance Essentials
- 零起點學Linux系統管理
- Learn Helm
- Haskell Financial Data Modeling and Predictive Analytics
- Extending Puppet
- 嵌入式應用程序設計綜合教程(微課版)
- Kubernetes從入門到實踐
- 網絡操作系統管理與應用(第三版)
- Windows 7中文版從入門到精通(修訂版)
- 操作系統分析
- Kali Linux高級滲透測試
- Social Data Visualization with HTML5 and JavaScript
- Building Telephony Systems With Asterisk
- Linux網絡配置與安全管理
- 嵌入式微系統