バッファオーバーフロー対策(Exec-Shield)

バッファオーバーフロー対策として「Exec-Shield」を有効化する。

「Exec-Shield」の有効化
[root@CentOS ~]# cat /proc/sys/kernel/exec-shield <= 現在の設定を確認<= 基本的に無効の設定
 0 : 無効
 1 : 基本的に無効(実行ファイルごとに有効にする)
 2 : 基本的に有効(実行ファイルごとに無効にする)
 3 : 常に有効
 
[root@CentOS ~]# echo 2 > /proc/sys/kernel/exec-shield <= 有効にする

このままではサーバを再起動すると「Exec-Shield」が無効になってしまうので、常に有効となるようにする。

[root@CentOS ~]# vi /etc/sysctl.conf <= 設定ファイルの編集
kernel.exec-shield = 2 <= 追加
特定ソフトに対しての「Exec-Shield」の無効化

「Exec-Shield」が有効だと動作しないソフトが出てくる為、ソフトごとに無効にする。
ここでは、「vsFTPd」を無効にする。

[root@CentOS ~]# execstack -s /usr/sbin/vsftpd <= 「vsftpd」に対して「Exec-Shield」を無効にする
[root@CentOS ~]# execstack -q /usr/sbin/vsftpd <= 確認
X /usr/sbin/vsftpd <= 「Exec-Shield」は無効

・再び有効にする場合
[root@CentOS ~]# execstack -c /usr/sbin/vsftpd <= 「vsftpd」に対して「Exec-Shield」を有効にする
[root@CentOS ~]# execstack -q /usr/sbin/vsftpd <= 確認
- /usr/sbin/vsftpd <= 「Exec-Shield」は有効
▲ページのトップへ