An Auditor’s Checklist for Securing WordPress Backends on Linode
Server-Level Hardening: Linode Instance Configuration
Before diving into WordPress-specific configurations, a robust backend begins with a hardened Linode instance. This involves minimizing the attack surface and ensuring essential services are secured.
1. Firewall Rules (UFW): A well-configured Uncomplicated Firewall (UFW) is paramount. We’ll restrict access to only necessary ports, typically SSH (22), HTTP (80), and HTTPS (443).
Initial setup and enabling UFW:
sudo apt update && sudo apt upgrade -y sudo apt install ufw -y sudo ufw enable
Allowing essential ports:
sudo ufw allow ssh sudo ufw allow http sudo ufw allow https sudo ufw status verbose
2. SSH Security: Disabling root login and enforcing key-based authentication are critical steps.
Edit the SSH daemon configuration:
sudo nano /etc/ssh/sshd_config
Ensure the following directives are set:
PermitRootLogin no PasswordAuthentication no PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys
After modifying the configuration, restart the SSH service:
sudo systemctl restart sshd
3. Fail2Ban Deployment: Protect against brute-force attacks by automatically banning IPs exhibiting malicious behavior.
sudo apt install fail2ban -y sudo systemctl enable fail2ban sudo systemctl start fail2ban
Configure specific jails, for instance, to monitor SSH and WordPress login attempts (requires WordPress plugin integration or log parsing). A basic SSH jail configuration:
# /etc/fail2ban/jail.local [sshd] enabled = true port = ssh filter = sshd logpath = /var/log/auth.log maxretry = 3 bantime = 1h
Restart Fail2Ban after creating or modifying jail.local:
sudo systemctl restart fail2ban
Web Server Configuration (Nginx Example)
For Nginx, securing the web server involves disabling unnecessary modules, enforcing TLS, and implementing specific security headers. Assuming Nginx is installed and configured for your WordPress site.
1. TLS/SSL Configuration: Enforce HTTPS using Let’s Encrypt or a commercial certificate. Ensure strong cipher suites and disable older TLS versions.
Example Nginx server block for SSL:
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name yourdomain.com www.yourdomain.com;
ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;
# Modern TLS configuration
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
ssl_session_tickets off;
# HSTS Header
add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" always;
# Other security headers
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-Content-Type-Options "nosniff" always;
add_header Referrer-Policy "strict-origin-when-cross-origin" always;
# add_header Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline'; object-src 'none';" always; # CSP requires careful tuning
root /var/www/yourdomain.com/html;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php8.1-fpm.sock; # Adjust PHP version as needed
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
# Deny access to sensitive files
location ~* /(?:uploads|files)/.*\.php$ {
deny all;
}
location ~ /\.ht {
deny all;
}
}
Test Nginx configuration and reload:
sudo nginx -t sudo systemctl reload nginx
2. Limiting Access to Sensitive Files: Prevent direct access to configuration files and sensitive directories.
The Nginx configuration above includes directives to deny access to .ht files and PHP files within upload directories. Ensure your php.ini also restricts file uploads if necessary.
PHP-FPM Configuration
PHP-FPM (FastCGI Process Manager) is commonly used with Nginx. Securing its configuration is vital to prevent execution of malicious code and limit resource abuse.
1. Disable Dangerous Functions: Limit the execution of potentially harmful PHP functions.
Edit your php.ini file (path may vary based on PHP version and installation method, e.g., /etc/php/8.1/fpm/php.ini):
sudo nano /etc/php/8.1/fpm/php.ini
Locate and modify the disable_functions directive:
disable_functions = exec,passthru,shell_exec,system,proc_open,popen,curl_exec,curl_multi_exec,parse_ini_file,show_source,pcntl_exec,pcntl_fork,pcntl_wait,pcntl_waitpid,pcntl_signal,pcntl_sigprocmask,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl_strerror,pcntl