Twitter RSS

Intr-un articol precedent referitor la restrictionarea accesului la serverul ssh am facut o mica introducere in tcpwrappers, un sistem ACL care ne poate fi de folos cand situatia nu ne permite setarea unor reguli stricte in firewall. tcpwrappers e un sistem de control al accesului care poate fi implementat in orice aplicatie, nu doar in serverul ssh, folosind libraria libwrap.

Exista situatii in care documentatia unei aplicatii lipseste sau este vag explicata. In astfel de cazuri e bine sa stim metode ocolitoare pentru a verifica daca aplicatia in cauza are suport tcpwrappers sau nu. Pentru verificarea suportului pentru tcpwrappers se poate aplica una din cele doua metode prezentate mai jos.

Prima metoda este folosirea comenzii ldd cu ajutorul careia verificam modulele dinamice de care aplicatia are nevoie. Spre deosebire de alte aplicatii care verifica librariile dinamice incarcate de aplicatia studiata, ldd are avantajul ca afiseaza si dependentele indirecte aparute ca urmare a utilizarii unor librarii folosite. Vom folosi ldd pentru a verifica daca aplicatia in cauza foloseste libraria libwrap sau nu. Daca o foloseste, inseamna ca avem suport pentru tcpwrappers inclus in aplicatie. Pentru exemplificare vom folosi fisierul /usr/sbin/sshd, daemonul serverului ssh.

[root@server ~]# /usr/bin/ldd /usr/sbin/sshd | grep libwrap
        libwrap.so.5 => /usr/lib/libwrap.so.5 (0x809cb000)
[root@server ~]#

Dupa cum se poate observa, in rezultatul returnat s-a gasit o linie care ne spune ca binarul studiat incarca libraria libwrap.

Exista situatii aparte in care suportul pentru tcpwrappers este implementat printr-o librarie proprie, fara a folosi libraria libwrap. In astfel de cazuri ldd ne poate induce in eroare, motiv pentru care putem folosi o a doua metoda de verificare si anume utilizarea comenzii strings. Comanda strings ne returneaza toate sirurile printabile mai lungi de patru caractere care sunt salvate in binarul studiat. Pornind de la premisa ca in cadrul binarului trebuie sa existe un text sugestiv daca exista suport pentru tcpwrappers, vom folosi comanda strings pentru a cauta in cadrul sirurilor de caractere printabile numele fisierelor folosite. Pentru exemplificare vom folosi binarul /usr/sbin/amd.

[root@server ~]# /usr/bin/strings /usr/sbin/amd | awk '/host.allow|hosts.deny/{print $1}'
        /etc/hosts.deny
[root@server ~]#

E posibil sa existe si alte metode pentru a determina implementarea tcpwrappers intr-o aplicatie, dar aceste doua metode sunt convins ca acopera majoritatea situatiilor.

Popularity: 1% [?]

Ai intrebari?

* Te rog sa postezi pe NetHelp orice intrebare care nu are legatura cu articolul.

Retele sociale
Reclamã
Sharing makes you cool!
Categorii
Apache
Articole si tutoriale legate de serverul web Apache.
/articole-tutoriale-apache/

cPanel
Articole si tutoriale legate de utilizarea si administrarea sistemului de gestiune a serverelor de hosting, cPanel.
/articole-tutoriale-cpanel-whm/

DNS
Vezi toate articolele din categoria DNS
/dns-bind-domain-name-services/

Linux
Articole si tutoriale legate de Linux, sisteme BSD sau alte sisteme de operare din familia UNIX.
/articole-tutoriale-linux/

Mail
Vezi toate articolele din categoria Mail
/mail/

MySQL
Articole si tutoriale despre serverul de baze de date MySQL.
/articole-tutoriale-optimizare-mysql/

Perl
Vezi toate articolele din categoria Perl
/perl-practical-extraction-and-report-language/

PHP
Vezi toate articolele din categoria PHP
/php-language-hypertext-preprocessor/

Retele
Tutoriale despre retele de calculatoare, configurarea interfetelor de retea si rutarea IP-urilor.
/retele-networking/

Virtualizare
Articole si tutoriale despre virtualizare si sistemel virtuale create cu Xen sau OpenVZ.
/virtualizare-xen-openvz/

Web hosting
Articole despre serviciile de gazduire web, dedicate sau in regim shared.
/web-hosting/

Webmin / Virtualmin
Articole si tutoriale legate de sistemul de gestiune gratuit Webmin sau modulul Virtualmin.
/webmin-virtualmin/





Newsletter
LAMP Recomandã
NetHelp
SRV.ro
cpadmin.ro
ABCDomenii