piątek, 26 lipca 2013

xinetd redirect

service some_unique_name
{
 type = UNLISTED
 flags = REUSE
 socket_type = stream
 wait = no
 user = root
 redirect = back.end.ip.address 443
 port = 443
}

czwartek, 23 maja 2013

nginx - secure download


http://wiki.nginx.org/HttpSecureLinkModule
location ~ ^/download/([a-zA-Z0-9_-]+)/([0-9]+)/(.*)$ {
                set $x_uri_hash $1;
                set $x_uri_expires $2;
                set $x_uri_file $3;
                secure_link $x_uri_hash,$x_uri_expires;
                secure_link_md5 SECRETTOKEN$x_uri_file$x_uri_expires;
                if ($secure_link = "") {
                       rewrite ^ /error/access_denied.html last;
                }
                if ($secure_link = "0") {
                       rewrite ^ /error/access_expired.html last;
                }
                rewrite ^ /files/$x_uri_file last
}
location /error/ {
            root /storage/download;
            internal;
 }
location /files/ {
            root /storage/download;
            set $limit_rate  512k;
            internal;
}

nginx - log format dla vhosta

       log_format  vhost '$http_host $remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent"';

        access_log /var/log/nginx/access.log vhost;

piątek, 12 kwietnia 2013

Przerwa techinczna - atrapa

Do użycia z Apache-em:

RewriteEngine on
RewriteRule ^/przerwa  http://domena.pl/przerwa/index.html [P]
RewriteCond %{REMOTE_ADDR} !=192.168.1.1
RewriteRule ^(.*)$     /przerwa [N]

Kompresja w SSL/RedHat/CentOS


Copy/Paste z tego linka:

https://bugzilla.redhat.com/show_bug.cgi?id=857051

OpenSSL enables zlib compression by default for both clients and servers starting with version 0.9.8:
The openssl packages in Red Hat Enterprise Linux 5 (starting with RHBA-2009:0181 update released in Red Hat Enterprise Linux 5.3) and 6, and also in Fedora, contain a patch that makes the library check if OPENSSL_NO_DEFAULT_ZLIB environment variable is set (can have arbitrary value, even empty string) and disable the default zlib support.

Setting the OPENSSL_NO_DEFAULT_ZLIB environment variable before starting a client or a server application using OpenSSL can be used to disable zlib compression support and hence mitigate this flaw.  For example, httpd with mod_ssl has compression enabled by default in Red Hat Enterprise Linux 5 and 6, and hence it is used when client also supports it.  Adding the following line to the /etc/sysconfig/httpd file:

  export OPENSSL_NO_DEFAULT_ZLIB=1

and restarting the httpd service disables the use of SSL/TLS compression in mod_ssl and the compression will not be negotiated even when connecting client supports it.  Note that this environment variable only affects the use of SSL/TLS protocol compression and does not affect the use of HTTP protocol compression implemented by the mod_deflate module.

The openssl packages in Red Hat Enterprise Linux 3 and 4 are based on upstream version 0.9.7a and do not enable SSL/TLS zlib compression.

niedziela, 10 lutego 2013

StarWars traceroute


Aktualizacja, ze zwiększonym TTL-em dla traceroute-a.

#traceroute 216.81.59.173

13  * * *
14  Episode.IV (206.214.251.1)  194.025 ms   194.481 ms   194.397 ms
15  A.NEW.HOPE (206.214.251.6)  193.665 ms   193.283 ms   194.109 ms
16  It.is.a.period.of.civil.war (206.214.251.9)  196.600 ms   196.196 ms   195.902 ms
17  Rebel.spaceships (206.214.251.14)  193.859 ms   193.985 ms   193.562 ms
18  striking.from.a.hidden.base (206.214.251.17)  196.112 ms   195.560 ms   195.244 ms
19  have.won.their.first.victory (206.214.251.22)  194.610 ms   194.616 ms   196.651 ms
20  against.the.evil.Galactic.Empire (206.214.251.25)  195.857 ms   195.574 ms   197.134 ms
21  During.the.battle (206.214.251.30)  194.717 ms   195.741 ms   195.960 ms
22  Rebel.spies.managed (206.214.251.33)  195.630 ms   195.526 ms   196.053 ms
23  to.steal.secret.plans (206.214.251.38)  195.816 ms   195.899 ms   195.847 ms
24  to.the.Empires.ultimate.weapon (206.214.251.41)  197.349 ms   197.263 ms   197.640 ms
25  the.DEATH.STAR (206.214.251.46)  196.548 ms   196.289 ms   196.176 ms
26  an.armored.space.station (206.214.251.49)  198.743 ms   198.547 ms   199.878 ms
27  with.enough.power.to (206.214.251.54)  197.455 ms   199.070 ms   198.058 ms
28  destroy.an.entire.planet (206.214.251.57)  197.052 ms   197.153 ms   196.872 ms
29  Pursued.by.the.Empires (206.214.251.62)  196.742 ms   196.596 ms   197.565 ms
30  sinister.agents (206.214.251.65)  196.223 ms   197.166 ms   197.179 ms
31  Princess.Leia.races.home (206.214.251.70)  197.703 ms   197.550 ms   198.363 ms
32  aboard.her.starship (206.214.251.73)  195.231 ms   196.112 ms   196.717 ms
33  custodian.of.the.stolen.plans (206.214.251.78)  196.517 ms   196.404 ms   197.438 ms
34  that.can.save.her (206.214.251.81)  197.341 ms   197.171 ms   198.273 ms
35  people.and.restore (206.214.251.86)  195.883 ms   196.842 ms   196.716 ms
36  freedom.to.the.galaxy (206.214.251.89)  197.627 ms   197.918 ms   197.958 ms
37  0-----I-------I-----0 (206.214.251.94)  195.863 ms   196.012 ms   196.248 ms
38  0------------------0 (206.214.251.97)  197.153 ms   197.650 ms   198.571 ms
39  0-----------------0 (206.214.251.102)  196.416 ms   198.332 ms   199.400 ms
40  0----------------0 (206.214.251.105)  196.873 ms   197.293 ms   198.519 ms
41  0---------------0 (206.214.251.110)  198.359 ms   198.467 ms   199.567 ms
42  0--------------0 (206.214.251.113)  197.187 ms   198.051 ms   197.967 ms
43  0-------------0 (206.214.251.118)  197.513 ms   197.691 ms   197.728 ms
44  0------------0 (206.214.251.121)  199.513 ms   199.378 ms   200.795 ms
45  0-----------0 (206.214.251.126)  198.132 ms   199.380 ms   199.335 ms
46  0----------0 (206.214.251.129)  198.208 ms   197.987 ms   197.929 ms
47  0---------0 (206.214.251.134)  198.643 ms   199.408 ms   199.463 ms
48  0--------0 (206.214.251.137)  196.648 ms   198.952 ms   198.785 ms
49  0-------0 (206.214.251.142)  198.764 ms   200.082 ms   199.938 ms
50  0------0 (206.214.251.145)  196.786 ms   198.682 ms   198.474 ms
51  0-----0 (206.214.251.150)  202.874 ms   203.497 ms   204.951 ms
52  0----0 (206.214.251.153)  199.413 ms   200.129 ms   201.437 ms
53  0---0 (206.214.251.158)  201.110 ms   200.964 ms   202.536 ms
54  0--0 (206.214.251.161)  200.539 ms   201.192 ms   201.172 ms
55  0-0 (206.214.251.166)  194.664 ms   198.520 ms   198.950 ms
56  00 (206.214.251.169)  199.843 ms   199.505 ms   199.380 ms
57  I (206.214.251.174)  199.500 ms   199.278 ms   200.058 ms
58  By.Ryan.Werber (206.214.251.177)  198.327 ms   199.702 ms   201.169 ms
59  Blizzards.Breed.CCIE.Creativity (206.214.251.182)  198.761 ms   199.984 ms   199.690 ms
60  Please.Try.Again.Tracerote.to.obiwan.scrye.net (206.214.251.185)  198.737 ms   198.593 ms   198.569 ms
61  read.more.at.beaglenetworks.net (206.214.251.190)  193.581 ms * *

środa, 2 stycznia 2013

PATCH/mod_vhost_alias.c

Poniżasz łątka dodaję dwie nowe funkcjonalności do modułu Apache-a mod_vhost_alias.
SetVirtualDocumentRoot yes|no
SetVirtualSeparator SEPARATOR
Pierwsza umożliwia prawidłowe ustawienie zmiennej środowiskowej DOCUMENT_ROOT dla vhostów tworzonych za pomocą VirtualDocumentRoot. Nie jestem jej autorem. Autora można odszukać tutaj: https://issues.apache.org/bugzilla/show_bug.cgi?id=26052.
Tej funkcjonalności używam już od bardzo, bardzo dawna i nie miałem z nią problemów.

Druga opcja umożliwia zmianę separatora z domyślnej kroki na inny pojedynczy znak. Praktycznie można tego użyć by zmienić kropkę na np. "-". Ta druga opcją jest mojego autorstwa.

Przykład użycia:
VirtualDocumentRoot /storage/home/%3/web/%2/%1/public
SetVirtualDocumentRoot yes
SetVirtualSeparator -
 Która działa dla np. takiego URL-a: http://projekt-klient-user.dev.adres.pl/
Bardziej praktycznie i główny powód istnienia opcji SetVirtualSeparator to  obsługa połączeń https:// dla certyfikatów wilcard (*.example.pl) - czyli zamiast https://projekt.klient.user.dev.adres.pl to otrzymujemy https://projekt-klient-user.dev.adres.pl/ i jeden działający certyfikat dla *.dev.adres.pl).

Patch jest dostępny tutaj: DOWNLOAD

Podobny efekt można uzyskać wykorzystując mod_rewirte. Wybrałem modyfikację mod_vhost_alias ze względu na to, że umożliwiało to wykorzystanie aktualnie działających konfiguracji bez potrzeby przepisywania ich na regułki mod_rewrite.