Newsgroup: it.comp.sicurezza.unix
Titolo: Redirezioni autorizzare con IPTABLES

Buongiorno a tutti,
nella mia rete č sorto questo problema:
dalle nostre filiali utilizziamo il client access per accedere
all'as/400 via internet, questo ha bisogno (per la sola emulazione) di
due porte la 8476 per l'autenticazione e la 23 per l'emulazione.
Inserendo le seguenti regole all'interno dello script tutto funziona
iptables -A PREROUTING -t nat -p tcp -d $DMZ --dport 23 -j DNAT
--to-destination $AS400:23
iptables -A PREROUTING -t nat -p tcp -d $DMZ --dport 8476   -j DNAT
--to-destination $AS400:8476
ma il livello di protezione č nullo, perchč con un semplice telnet
sulla 23 mi si presenta la schermata di login dell'as/400.
Tenendo conto del fatto che devono potersi collegare anche utenti in
dial-up mi č venuto in mente questo:
come faccio a tradurre con IPTABLES la seguente regola?
redirigi la porta 23 veso il mio AS/400 solo se hai contattato anche
la porta 8476?
Spero che qualcuno piů esperto di me possa aiutarmi.
Grazie.
P.S.
Accetto anche altri consigli.
Ciao

 porta 8476?
Non lo fai. Forse scrivendoti un helper per netfilter risolvi, ma non è
l'approccio da tenersi.
Pensa piuttosto alla possibilità di poptop come concentratore vpn e far
viaggiare il traffico lì dentro, se accedono direttamente con i client
via modem.
La limitazione non è di iptables, ma dell'OS/400 che permette l'accesso
via telnet anche in assenza di autenticazione sull'altra porta, per cui
dovresti casomai agire qui, ammesso che sia possibile (e questo non lo so
causa scarsa conoscenza di OS/400...).
Hope it helps (ma ne dubito...)
-- 
Emanuele Balla  aka Skull -  Public Key #661E5CBF on 
www.keyserver.com
+----------------------------------------------------------------------+
"And 1.1.81 is officially BugFree(tm), so if you receive any bug-reports
on it, you know they are just evil lies." (By Linus Torvalds)

 Hope it helps (ma ne dubito...)
---------------------------------------------------------------------------
Messaggio inviato attraverso 
http://www.trucchiperpc.it
 - sezione newsgroup

 e di consegunza autorizzare quest''ultimo ad accedere alla 23...
Questa IMHO e' una possibilita' ch puoi prendere in considerazione ma
a mio parere la soluzione migliore e' il tunneling che ti ha proposto
skull. Se non vuoi fare dei tunnel puoi pensare di usare un tool tipo
logsurfer o sec per aggiungere delle regole a netfilter quando accade
un evento significativo. Il problema e' trovare questo evento :-/ Una
possibilita' potrebbe essere di usare il modulo string che cerchi una
stringa tipica della avvenuta autenticazione sul traffico da/per 8476
tcp generando una riga di log con una label significativa. Poi con un
tool di quelli citati rilevi l'apparizone della riga di log ed esegui
l'inserimento di una regola di netfilter per accettare le connessioni
NEW sulla porta 23/tcp dell'as400 provenienti dall'ip del client. Poi
dovresti levare di torno quella regola in seguito a un secondo evento
da definire. Se imposti la scrittura immediata delle righe di log non
e' escluso che il tutto avvenga in un tempo compatibile con i timeout
di connessione del client access. Se il matching con il modulo string
e' troppo semplicistico puoi anche pensare di usare snort, per creare
la riga di log necessaria ad attivare il tutto.
... vabbe', fai il tunnel, che e' meglio :-)
A proposito: io ho traffico anche sulla 449/tcp nell'uso di CA.
Fabio

 A proposito: io ho traffico anche sulla 449/tcp nell'uso di CA.
Ti riporto cosa dice mamma IBM a rigaurdo del CA/400 :
<<APAR#: II12227
Component: INFOAS400 - AS/400 Information
Release(s): R440
Abstract
SERVERS AND PORTS REQUIRED BY ISERIES ACCESS FOR WINDOWS
(CLIENT ACCESS EXPRESS FOR WINDOWS)
Error Description
** Last updated on December 6, 2002 **
NOTE:  The latest modifications are marked with a "*" in the
first column.  The changes made on December 6, 2002 were only
to the format and not the content.
This information is for all releases of Client Access
Express for Windows, now called "iSeries Access for Windows"
in V5R2.
The following servers are used by Client Access Express for
Windows.  In addition to the servers listed, the Port Mapper
(Port 449) is also used by all functions.  However, if the
user changes the Connection properties for an iSeries connection
so that "Where to look up Remote Port" is set to "Standard" or
"Local," then the Port Mapper will not be used.  In addition,
if a DNS server is to be accessed, Port 53 should be made
available to the client.
NOTE:  The port number in parentheses is the one used to
connect to the server via SSL (encrypted session).
See more notes after the following list of servers.
--------------------------------------------------------------
SERVER:  Port Mapper
DEFAULT PORT:  449
DESCRIPTION:   Port mapper returns the port number
   for the requested server
----------------------------------
SERVER:  Sign-on
DEFAULT PORT:  8476 (9476)
DESCRIPTION:   Sign-on server is used for every Client Access
  connection to authenticate users and to change passwords
----------------------------------
SERVER:  Central
DEFAULT PORT:  8470 (9470)
DESCRIPTION:  Central server is used when a Client Access
  license is required, and also for downloading translation
  tables.
----------------------------------
SERVER:  Data Queue
DEFAULT PORT:   8472 (9472)
DESCRIPTION:  Data Queue server allows access to the AS/400
  data queues, used for passing data between applications.
----------------------------------
SERVER:  Database
DEFAULT PORT:  8471 (9471)
DESCRIPTION:  Database server is used for accessing the
  AS/400 database.
----------------------------------
SERVER:  Remote Command
DEFAULT PORT:  8475 (9475)
DESCRIPTION:  Remote command server is used to send commands
  from a PC to an AS/400 and for program calls
----------------------------------
SERVER:   File
DEFAULT PORT:   8473 (9473)
DESCRIPTION:  File Server is used for accessing
  any part of the AS/400 file system
----------------------------------
SERVER:  Print
DEFAULT PORT:  8474 (9474)
DESCRIPTION:  Printer Server is used to access
  printers known to the AS/400
----------------------------------
SERVER:  Web Admin
DEFAULT PORT:  2001 (2010)
DESCRIPTION:  Used to access web applications
  served by the AS/400
----------------------------------
SERVER:  DDM
DEFAULT PORT:  446 (448)
DESCRIPTION:  DDM server is used to access data
  via DRDA and for record level access
----------------------------------
SERVER:  Telnet
DEFAULT PORT:  23 (992)
DESCRIPTION:  Telnet server is used to access 5250 emulation
----------------------------------
SERVER:  NetServer
DEFAULT PORT:  137, 138, 139, 8474
DESCRIPTION:  AS/400 NetServer allows access to
  AS/400 integrated file system from Windows PCs
----------------------------------
SERVER:  USF
DEFAULT PORT:   8480
DESCRIPTION:  Ultimedia services are used for multimedia data
----------------------------------
SERVER:  LDAP
DEFAULT PORT:  389 (636)
DESCRIPTION:  Provides a network directory service
----------------------------------
SERVER:  Mgmt Central
DEFAULT PORT:  5555 (5566)  5544  5577
DESCRIPTION:   Management Central server is used
  to manage multiple AS/400s in a network    (See Note 5)
--------------------------------------------------------------
Note 1: Ports 449, 8xxx, and 9xxx can be started with the
       STRHOSTSVR *ALL command.  The others need to be started
       individually, or can be set to autostart when TCP/IP is
       started (as can 449, 8xxx, and 9xxx).
Note 2: Although 8474 is listed next to NetServer, it is only
       used internally so does not have to be set in your
       firewall IP filtering.  However, that server (print
       server) must be started for NetServer to work properly.
Note 3: If any applications are registered under Application
       Administration, then the remote command server will be
       required in addition to what is listed below.
Note 4: Port 5544 is required only on V5R1 and later systems
       and is used for both non-SSL and SSL traffic.
       Port 5577 is only required for SSL connections
       between the "central" system and "endpoint" systems.
The following is a list of iSeries Access for Windows functions
and which servers are used by those functions:
--------------------------------------------------------------
FUNCTION:  PC5250 display and printer emulation
SERVERS USED:  Sign-on, Central, Telnet
------------------------------------------
FUNCTION:  Data Transfer
SERVERS USED:  Sign-on, Central, Database
------------------------------------------
FUNCTION:  Base Operations Navigator Support
SERVERS USED:  Sign-on, Remote Command
------------------------------------------
FUNCTION:  All Operations Navigator function
SERVERS USED:  Sign-on, Remote Command, File, Print,
  Database, Web Admin, Mgmt Central, USF, NetServer,
  LDAP, Data Queue
------------------------------------------
FUNCTION:  ODBC
SERVERS USED:   Sign-on, Database
------------------------------------------
FUNCTION:  OLE DB
SERVERS USED:  Sign-on, Database, DDM, Remote Command,
  Data Queue
------------------------------------------
FUNCTION:  AFP Viewer
SERVERS USED:  Sign-on, Print
------------------------------------------
FUNCTION:  Client Access Install
SERVERS USED:  NetServer
__________________________________________
FUNCTION:  Incoming Remote Command
SERVERS USED:  Uses no specific server, and AS/400
  port will vary.  PC-side port is 512
------------------------------------------
FUNCTION:  Fax support
SERVERS USED:   Sign-on, Print
------------------------------------------
FUNCTION:  Management Central
SERVERS USED:
  Required:  Mgmt Central, Signon, Remote Command
  Optional:  Data Queue, File
--------------------------------------------------------------
For other applications that use Client Access APIs, the sign-on
server will be needed, as well as whatever servers support
the specific APIs being used.
DISCLAIMER:  This list could potentially change in future
releases, or even in service packs.  If you find that an
additional server is accessed that is not mentioend here,
please send a note to 
LLHI...@us.ibm.com
 and include
"Update to II12227" in the subject line.  We will update
the chart.  Also, be aware that the port numbers listed
above are just the default values.  System administrators
have the ability to map these to different port numbers.>>
Ciao
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 Ti riporto cosa dice mamma IBM a rigaurdo del CA/400 :
[...]
Ok, e' solo un portmapper che si puo' evitare di usare, a quanto pare.
Non mi ero mai posto il problema (uso l'as solo in LAN).
Fabio

 Cos'è poptop?
è un server pptp che gira su linux.
Vpn MiscroSoft Style, per intenderci. Consigliavo questo in luogo di altre
vpn perchè più semplice da mettere in piedi per client in roadwarrior.
Byez, spiacente per lo scarso aiuto...


 Accetto anche altri consigli.
[...]
Se parli di iptables il traffico passa da un linux o bsd, giusto?
A naso farei autenticare gli utenti da Unix con una normale
login ssh il cui .profile lo rimbalza direttamente sull'AS400
In pratica l'utente si logga su uno unix e ma gli appare
l'AS
-- 
-- 
Fabbro Claudio - Networking expert since yesterday
Nipotino di Zio Spam, 
http://www.unclespam.org
Vecchia casetta da ristrutturare, per gli amanti
di aforismi e stupidess: 
http://www.texnet.it/cfabbro
Aderente alla lega per la salvaguardia dei pisolini
:wq

 la porta 8476?
Potresti usare un proxy che sta in ascolto sulla 8476 e sulla 23 e
che controlla che l'ip che richiede una connessione sulla 23 si sia
già connesso/autenticato sulla 8476 .
Non so se ne esista già uno che fa alla bisogna, di esempi di proxy ne
trovi diversi (
freshmeat.net
, google).
Ciao

potresti indicarmi come fare ?

 
Premesso che posso aver capito male visto che
il treadh si sviluppa verso iptables, dovendo dare
accesso da remoto verso un as400, dove i remoti sono
ip variabili e altro, non potendo quindi discriminare
con un firewall il traffico su porte lecite ne'
tantomeno per ip, e avendo comunque tra le mani
un unix (quello che fa girare iptables) la cosa
piu' veloce potrebbe essere creare delle utenze
su unix, dove l'autenticazione e' piu' certa e agevole,
cioe' fare entrare l'utente (chiunque sia da dovunque sia)
con una login ssh su unix.
Una volta entrato e quindi autenticato per benino, il .profile
o il .login o comunque nello script di start dell'utente,
lo telnetti sull'as400 e gli fai fare quello che vuole.
Questo sempre che abbia capito il quesito, neh...