
バッファオーバーフロー対策(Exec-Shield)
バッファオーバーフロー対策として「Exec-Shield」を有効化する。
「Exec-Shield」の有効化
[root@CentOS ~]# cat /proc/sys/kernel/exec-shield <= 現在の設定を確認
1 <= 基本的に無効の設定
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」は有効
|