Discussion:
Pre Dev Q - Please
(too old to reply)
Miron
2004-11-23 03:49:22 UTC
Permalink
I am preparing to begin a large project and security is a big issue. I am
considering the option of developing in C and having the application run on
a Linux box. The only question now is, how would a windoze user access this
application running natively on Linux in C?

I am NOT considering browser based options at this time.

Thank you in advance for any assistance.
Steven
Rich Gibbs
2004-11-23 04:33:17 UTC
Permalink
Post by Miron
I am preparing to begin a large project and security is a big issue. I am
considering the option of developing in C and having the application run on
a Linux box. The only question now is, how would a windoze user access this
application running natively on Linux in C?
I am NOT considering browser based options at this time.
Thank you in advance for any assistance.
Steven
Steven,

You haven't really given us enough information to make any very specific
suggestions. If you did develop the application on Linux, how would
Linux users access it (across some kind of network connection)?

If the application's user interface is terminal based (using, say,
something like 'curses'), then Linux or Windows users could access it
across the network using SSH [Secure Shell]: there are SSH clients for
both Linux and Windows.

If it's an X application, then things are a bit more complicated, but
SSH can still be used with X forwarding. (Obviously you would require
an X server on the Windows or Linux client.)

You might also look into the possibilities available with VNC.

None of this addresses any security concerns that are particular to the
application. (For example, is there concern about confidential
information being written to swap space, or hijacked by malware, on the
client machines?)

As far as I can see, having the application written in C (as opposed to
some other language) is not of much relevance to the issue as you've
stated it.

HTH
--
Rich Gibbs
***@alumni.princeton.edu
Miron
2004-11-23 06:48:26 UTC
Permalink
Rich,

Thank you for your response. My lack of explanation is evident.

I am desiring the most secure environment possible. By centralizing the
data storage and the execution of the application ...

The application, becuase of where we have come to today by those leading the
user populas around... needs to have a graphical front end. The Linux world
does offer a Graphical Frontend but at the cost of running Xwindows. Is
this to understand that if a user to connect to the server that they would
have to have Xwindows abilities? Is there no other shell environment short
of Internet browsers?

I am trying my hardest to stay away from developing an application to run
natively on any Micro$oft OS. Due to M$'s obvious lack of
security/stability understanding, need I say more? Additionally, each time
an enhancement (and God forbid, a bug update) needs to be applied, how many
machines would have to be updated? (yes, M$ terminal server is an option,
but again what about security? and to what expense to the client?)

Some underlying issues have to do with very personal information and would
have to be accessible from workstations located at various points throughout
a large/multi-story structure and may even include wireless...

A GUI application executed from a Linux Server addresses some of my
concerns, but obviously not all of them.

Possibly you might have another idea or some insight for me to consider?
Again, thank you.
- Steven
Rich Gibbs
2004-11-24 04:34:46 UTC
Permalink
Post by Miron
Rich,
Thank you for your response. My lack of explanation is evident.
I am desiring the most secure environment possible. By centralizing the
data storage and the execution of the application ...
The application, becuase of where we have come to today by those leading the
user populas around... needs to have a graphical front end. The Linux world
does offer a Graphical Frontend but at the cost of running Xwindows. Is
this to understand that if a user to connect to the server that they would
have to have Xwindows abilities? Is there no other shell environment short
of Internet browsers?
OK.

If you want a true graphical environment on Linux, then X (the X Window
system) is the de facto standard. X was designed to be "network
aware", so an application on machine A can display its output and get
its keyboard and mouse input via an X server on machine B. (We were
doing this for testing and support purposes across an ocean a dozen
years ago.)

Using X does not mean necessarily using a browser interface. There are
many X applications besides browsers (e.g., Gnumeric, OpenOffice, xine,
the GIMP). You can certainly build an application that has a server
part that manages data storage and processing, and has an X-based
graphical client front end. (This is the way many data base
applications are built.) You could also consider GUI clients for POP or
IMAP E-mail (such as K-Mail or Mozilla Thunderbird) as examples of this
sort of thing. Using X directly to build this kind of interface can be
painful; most applications use a toolkit like Gtk or Qt.

The other interface choice, which I mentioned in my earlier post, is to
use ncurses/curses, a set of library routines [man 3 ncurses] that give
you a full-screen _character based_ interface. (The advantages are
possibly easier programming, lighter resource consumption, and the
ability to run on almost any kind of display device.) The 'mutt' or
'pine' E-mail clients, or the 'vi' editor, would be examples of this
kind of interface.

You can run either type of interface over a network connection. The SSH
[secure shell] facility can give you security for the _connection_.
Security of data on the server, and on the client machine(s), is
something to think about, too.
Post by Miron
I am trying my hardest to stay away from developing an application to run
natively on any Micro$oft OS. Due to M$'s obvious lack of
security/stability understanding, need I say more? Additionally, each time
an enhancement (and God forbid, a bug update) needs to be applied, how many
machines would have to be updated? (yes, M$ terminal server is an option,
but again what about security? and to what expense to the client?)
I am certainly more comfortable, personally, with using Linux or Unix as
the basis for a secure system, so I can sympathize with you here. (BTW,
there are decent SSH clients for Windows available at low or no cost.)
Post by Miron
Some underlying issues have to do with very personal information and would
have to be accessible from workstations located at various points throughout
a large/multi-story structure and may even include wireless...
This shouldn't in itself present a particular problem, if you are using
a secure communications protocol. You may, though, want to think about
the physical security (or lack thereof) for the client machines.
Post by Miron
A GUI application executed from a Linux Server addresses some of my
concerns, but obviously not all of them.
Possibly you might have another idea or some insight for me to consider?
Again, thank you.
You are welcome, and you are welcome to E-mail me (address below) if you
wish.
--
Rich Gibbs
***@alumni.princeton.edu
Loading...