Adresa IP reală în logurile Apache, care funcţionează în spatele unui Proxy

Dacă WEB serverul Apache funcţionează în spatele unui Proxy (de exemplu AWS Elastic Load Balancer, Nginx sau Varnish), atunci, implicit, el va înregistra în loguri adresa acestui Proxy server în loc de adresa reală.
Ceea ce face imposibilă blocarea diferitor atacuri şi monitorizarea traficului, de exemplu.

Una din cele mai simple soluţii este utilizarea modului mod_remoteip pentru Apache 2.4 (apache 2.2 utilizează modului mod_rpaf în acelaşi scop).

Setarea este următoarea:

  1. Se activează modului remoteip:
    a2enmod remoteip
  2. Se modifică fişierul /etc/apache2/apache2.conf (pentru Debian şi Ubuntu), înlocuind %h cu %a în următoarele rînduri:
    LogFormat „%v:%p %h %l %u %t \”%r\” %>s %O \”%{Referer}i\” \”%{User-Agent}i\”” vhost_combined
    LogFormat „%h %l %u %t \”%r\” %>s %O \”%{Referer}i\” \”%{User-Agent}i\”” combined
    LogFormat „%h %l %u %t \”%r\” %>s %O” common
  3. În acelaşi fişier de configurare se adaugă:
    RemoteIPHeader X-Forwarded-For
    RemoteIPTrustedProxy 1.2.3.4 (indicaţi adresa serverului Proxy)
    RemoteIPTrustedProxy 5.6.7.8 (indicaţi adresa serverului Proxy)
  4. Se reporneşte serverul Apache:
    service apache2 restart

Pentru CentOS: http://gurutek.biz/mod_rpaf-and-mod_remoteip/

Modificarea numelui și a numelui de domeniu complet în linux (CentOS și Debian)

Cîteva instrucțiuni simple pentru a modifica și a verifica setarea numelui de domeniu și a numelui de domeniu complet (FQDN) în sistemele de operare linux CentOS și Debian.
Instrucțiunile pentru CentOS ar trebui să fie lucreze și pentru sistemele de operare Fedora, ArchLinux sau RedHat, iar instrucțiunile pentru Debian ar trebui să lucreze și pentru Ubuntu sau alte sisteme derivate.

hostname FQDN

CentOS

În fișierul /etc/hosts, se adaugă pentru IPv4 o înregistrare de tipul:
123.123.123.123 server1.domeniu.md server1
Sau, dacă se folosește șiIPv6, atunci se adaugă:
::1 server1.domeniu.md server1
Dacă serverul trebuie să fie accesibil după ambele adrese IP – atunci adăugați ambele înregistrări.

În /etc/sysconfig/network se modifică/adaugă:
HOSTNAME=server1

Pentru ca schimbările să fie aplicate este nevoie de a restarta serviciul de rețea, o puteți face prin comanda:
service network restart

Debian

În fișierul /etc/hostname se adaugă numele serverului, fără numele domeniului:
server1

În fișierul /etc/hosts, se adaugă pentru IPv4 o înregistrare de tipul:
123.123.123.123 server1.domeniu.md server1
Sau, dacă se folosește șiIPv6, atunci se adaugă:
::1 server1.domeniu.md server1
Dacă serverul trebuie să fie accesibil după ambele adrese IP – atunci adăugați ambele înregistrări.

Pentru a aplica schimbările, rulați comanda:
/etc/init.d/hostname.sh

Verificare

Pentru a vedea numele curent al serverului, folosiți comanda:
hostname
Pentru a vedea nume de domeniu complet (FQDN – Fully Qualified Domain Name), folosiți comanda:
hostname -f

Uneori după modificare nu veți putea vedea schimbările, pentru a rezolva această problemă este suficient să vă logați din nou. În unele cazuri schimbările se aplică doar la repornirea serverului.

Instrucțiunile pentru CentOS ar trebui să fie lucreze și pentru sistemele de operare Fedora, ArchLinux sau RedHat, iar instrucțiunile pentru Debian ar trebui să lucreze și pentru Ubuntu sau alte sisteme derivate.