tcp_wrapper

tcp_wrapper sizi servislerin hatalı kullanımından koruyan bir kütüphanedir.

Süzme yetenekleri

tcp_wrapper'ı iki şekilde kullanabilirsiniz:

  • Kaynak adresine göre süzme (IPv4 veya IPv6)
  • Kullanıcılara göre süzme (istemcide ident artalan sürecinin çalışmasını gerektirir)

tcp_wrapper kullanan uygulamalar

tcp_wrapper kullandığı bilinen iki uygulama:

  • xinetd tarafından çağrılan tüm servisler (eğer xinetd, tcp_wrapper kütüphanelerini kullanacak şekilde derlenmişse)
  • sshd (eğer tcp_wrapper kullanılarak derlenmişse)

Kullanım

tcp_wrapper iki dosya ile kontrol edilir; /etc/hosts.allow ve /etc/hosts.deny. Daha fazla bilgi için:

# $ man hosts.allow

Örnek 4.13. Örnek /etc/hosts.allow dosyası

Bu dosyada bağlantısı kabul edilecek her servis için bir satır bulunmalıdır.

sshd:           1.2.3. [2001:0db8:100:200::]/64
daytime-stream: 1.2.3. [2001:0db8:100:200::]/64

Not

IPv6 ağ tanımlaması hatalı olan bazı gösterimler de vardır: [3ffe:ffff:100:200::/64].

Örnek 4.14. Örnek /etc/hosts.deny dosyası

Bu dosya tüm olumsuz filtreleme girdilerini barındırmalı ve kalan herşeyi,

ALL: ALL

ile reddetmelidir.

Eğer bu düğüm daha duyarlıysa yukarıdaki satır aşağıdaki ile değiştirilebilir ama kısa zamanda çok fazla bağlantı olması durumunda DoS saldırısına neden olabilir. Bir günlük kaydı böyle işler için daha iyidir.

ALL: ALL: spawn (echo "Attempt from %h %a to %d@`date`"
 | tee -a /var/log/tcp.deny.log | mail root@localhost)

Günlük Kayıtları

Syslog'un yapılandırma dosyası olan /etc/syslog.conf içindeki girdiye bağlı olarak değişebilse de tcp_wrapper kayıtlarını normal olarak /var/log/secure dizininde tutar.

Reddedilen bağlantı
Kayıt dosyasında daytime-stream servisi tarafından reddedilen her bağlantı için aşağıdakine benzer bir satır bulunur:

Jan 2 20:40:44 gate xinetd-ipv6[12346]: FAIL: daytime-stream libwrap from=::ffff:1.2.3.4
Jan 2 20:32:06 gate xinetd-ipv6[12346]: FAIL: daytime-stream libwrap  from=2001:0db8:100:200::212:34ff:fe12:3456

Kayıt dosyasında sshd servisi tarafından reddedilen her bağlantı için aşağıdakine benzer bir satır bulunur:

Jan 2 20:24:17 gate sshd[12345]: refused connect from ::ffff:1.2.3.4 (::ffff:1.2.3.4)
    Jan 2 20:39:33 gate sshd[12345]: refused connect from 2001:0db8:100:200::212:34ff:fe12:3456    (2001:0db8:100:200::212:34ff:fe12:3456)

İzin verilen bağlantı
Kayıt dosyasında daytime-stream servisi tarafından izin verilen bağlantılar için aşağıdakine benzer bir satır bulunur:

Jan 2 20:37:50 gate xinetd-ipv6[12346]: START: daytime-stream pid=0 from=::ffff:1.2.3.4
Jan 2 20:37:56 gate xinetd-ipv6[12346]: START: daytime-stream pid=0 from=2001:0db8:100:200::212:34ff:fe12:3456

Kayıt dosyasında sshd servisi tarafından izin verilen bağlantılar için aşağıdakine benzer bir satır bulunur:

Jan 2 20:43:10 gate sshd[21975]: Accepted password for user from ::ffff:1.2.3.4 port 33381 ssh2
Jan 2 20:42:19 gate sshd[12345]: Accepted password for user from 2001:0db8:100:200::212:34ff:fe12:3456 port 33380 ssh2