Oidentd
W sieciach bez maskarady komputery za maskaradą nie posiadają identa - czyli ciągu znaków identyfikującego danego użytkownika komputera. Identd jest zalecany przy korzystaniu z wielu usług, a jego brak np. na ircu może przysporzyć wielu kłopotów. Pomysłowi programiści wymyślili Oidentd. Jest to demon identd który podczas połączenia poza sprawdzaniem wśród zalogowanych użytkowników sprawdza wśród połączeń via. maskarada, i zależnie od ustawień albo forwarduje zapytanie do komputera w lanie, albo zwraca identa ustawionego w pliku konfiguracyjnym.
Instalujemy…
wget http://download.sourceforge.net/ojnk/oidentd-2.0.3.tar.gz tar -xzf oidentd-2.0.3.tar.gz cd oidentd-2.0.3 ./configure --prefix=/usr make make install
Oczywiście musisz mieć uprawnienia root’a by wykonać te czynności. Teraz należy unieszkodliwić standardowego demona identd. W systemach bazowanych na RedHacie (nowszych) wystarczy wpisać: chkconfig –level 0123456 identd off, oraz wpisując /etc/rc.d/init.d/identd stop. W systemach bardziej ludzkich (czytaj: Slackware), czyli takich które posiadają uruchomionego demona identd z inetd wystarczy odnaleźć w pliku /etc/inetd.conf linijkę zaczynającą się od słowa ‘auth’ i ją wyhashować. W Slackware 7.1 linijka ta wygląda tak:
auth stream tcp nowait nobody /usr/sbin/in.identd in.identd -P/dev/null
Wystarczy wcisnąć hash (znak #) przed napis auth, zapisać plik konfiguracyjny i przeładować konfiguracje inetd wykonując komendę killall -HUP inetd.
Teraz uruchamiamy demona oidentd. Nas interesują dwa tryby działania oidentd’a:
- albo odczytuje on identy z pliku konfiguracyjnego;
- albo forwarduje on zapytania do hosta za maskaradą (np. program mIRC ma w sobie serwer identa);
Dopisujemy sobie do skryptów startowych (np. /etc/rc.d/rc.local) wywołanie oidentd’a:
# Uruchomienie oidentda bez forwardowania: /usr/sbin/oidentd -m # Uruchomienie oidentda z forwardowaniem zapytań do lanu: /usr/sbin/oidentd -f -m
Niestety w wersji 2.x oidentd nie potrafi współpracować z serwerem inetd.
Po takim uruchomieniu niestety oidentd chodzi z prawami root’a, co nie jest zbytnio porządane. O ile nasz system nie ma ograniczeń w dostępie do /proc (tzn. komenda ‘ps -aux’ wykonana z konta zwykłego użytkownika pokazuje wszystkie procesy a nie tylko te należące do użytkownika) sprawa jest dziecinnie prosta (należy urchomić oidentd’a z dodatkowym parametrem ‘-u nobody), o tyle w systemach gdzie jest ograniczenie w dostępie do proc sprawa się komplikuje. W tym drugim wypadku pomaga przeważnie dodanie ‘-g proc’ i powinno być wszystko oki. Jeżeli to nie pomaga, należy wykonać ‘ls -ald /proc’ - wtedy zobaczymy użytkownika i grupę do którego należy /proc:
dr-xr-xr-x 54 root procfs 0 maj 11 16:29 /proc/
Na tym przykładzie widzimy że /proc należy do użytkownika root i grupy procfs. Wtedy dodajemy do wywyołania oidentd ‘-g procfs’. Jak grupa i użytkownik to root, trzeba modyfikować wpisy w fstab, co odradzam początkującym (zaawansowani użytkonicy pewnie nie będą czytać tego artykułu), którym pozostanie uruchomienie oidenta z usera root.
Aby przypisać identy do adresów IP w lanie tworzymy plik /etc/oidentd_masq.conf który wygląda mniej-więcej tak:
192.168.3.79 piotrek WIN32 192.168.10.4 darek WIN32 192.168.1.2 ranger UNIX
Czyli najpierw adres IP w lanie, ident, system operacyjny. Uf… No to chyba wszystko co można napisać o Oidentd.