Setup HTML Pages With Nginx and Modsecurity
Setup HTML Pages With Nginx and Modsecurity
First, update your package list and install the necessary dependencies.
# Build ModSecurity
• cd ModSecurity
• sudo git submodule init
• sudo git submodule update
• sudo ./build.sh
• sudo ./configure
• sudo make
• sudo make install
• cd /etc/nginx
• sudo mkdir modsec
• cd modsec
• sudo git clone --depth 1 https://github.com/coreruleset/coreruleset.git
• sudo cp coreruleset/crs-setup.conf.example /etc/nginx/modsec/crs-
setup.conf
• sudo cp coreruleset/rules/*.conf /etc/nginx/modsec/
• Include /etc/modsecurity/modsecurity.conf
• Include /etc/nginx/modsec/crs-setup.conf
• Include /etc/nginx/modsec/rules/*.conf
Edit the Nginx configuration files for each website to include ModSecurity.
# AxisPay
server {
listen 80;
server_name axispay.com;
modsecurity on;
modsecurity_rules_file /etc/nginx/modsec/main.conf;
root /var/www/axispay.com;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
# Axis-01
server {
listen 80;
server_name axis-01.com;
modsecurity on;
modsecurity_rules_file /etc/nginx/modsec/main.conf;
root /var/www/axis-01.com;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
# Axis-02
server {
listen 80;
server_name axis-02.com;
modsecurity on;
modsecurity_rules_file /etc/nginx/modsec/main.conf;
root /var/www/axis-02.com;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
• sudo /usr/local/nginx/sbin/nginx -t
8. Restart Nginx
To verify that ModSecurity is working, you can check the Nginx error log and ModSecurity
audit log. The default location for the ModSecurity audit log is /var/log/modsec_audit.log.
Conclusion
By following these steps, you have installed and configured ModSecurity with Nginx on Ubuntu.
ModSecurity is now enabled for all three websites (axispay.com, axis-01.com, and axis-
02.com), providing a layer of security to protect against common web application attacks.