なんでもITブログ

技術系の情報発信をしていきます

インフラ勉強会 WAFを作ろう

インフラ勉強会でWAFについて教えていただいたので共有させていただきます

正式な名前
WAF = Web Application Firewall

Firewallとの違い

Firewallはportに対してのセキュリティ
WAFはアプリケーションに対してのセキュリティ

WAFは値段が高い
でも高い。でも使いたい
mod_securityを使って作ってみよう


手順

①Apache HTTPのインストール
②ModSecurityのインストール
③ModSecurity.confの設定
④実験

①について(Apacheのインストール)

// お決まり
$ sudo yum install -y httpd

②について(ModSecurityのインストール)

$ yum install -y mod_security

③ModSecurity.confの設定

// confファイルを配置する位置まで移動
$ cd /etc/httpd/modsecurity.d/activated_rules
// confファイルを作成
$ touch test_modsec.conf

// confファイルを編集
$ vi test_modsec.conf
//以下を書き込んでください
SecRuleEngine On
SecRequestBodyAccess On

SecDefaultAction "phase:1,deny,log,status:403"

secRule QUERY_STRING "zash110" "id:'90000'"
secRule QUERY_STRING "zash.*110" "id:'90001'"

//設定を適用するためにApacheを再起動
$ systemctl restart httpd.service

④実験

$ curl localhost
200を返す

$ curl localhost/?q=zash110
// Permission to accessを返す
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>403 Forbidden</title>
</head><body>
<h1>Forbidden</h1>
<p>You don't have permission to access /
on this server.</p>
</body></html>


初めてやったけど、なかなか面白い
自分でWAFを作れるってなんかかっこいいイメージです


wp.infra-workshop.tech