Solved

https remoting

Posted on 2004-08-05
10
351 Views
Last Modified: 2012-05-05
Hi,

I have a remoting application which uses a binary formatter over tcp, this isn't hosted within IIS, but within my own application server.

I am releasing the application to a client who want to connect over the web.

I'm a little concerned about security, i.e. can someone hack the application by using the open port ?? or is there some kind of handshaking between legitimate clients trying to connect.

Ideally, I'd like to encrypt the data being sent. We have an SSL certificate, is there any way this can be used to encrypt the data.

I've done some web-searches, but can only find info on using SSL when hosted within IIS, which isn't an option.

Thanks
Smg.
0
Comment
Question by:smegghead
  • 5
  • 2
10 Comments
 
LVL 37

Accepted Solution

by:
gregoryyoung earned 500 total points
ID: 11730461
0
 
LVL 37

Expert Comment

by:gregoryyoung
ID: 11730470
smegghead: please email me per other question ... I forget to put my pants on in the morning sometimes when I go to work :)
0
 
LVL 10

Author Comment

by:smegghead
ID: 11730486
I did email you, tried three different addresses (tried to work them out from your profile).. got two bounce backs, so assumed the 3rd worked.

Mine is on my profile also, so you might be better emailing me !! :-)

Chrs
Smg.
0
 
LVL 37

Expert Comment

by:gregoryyoung
ID: 11730501
gregoryyoung@ee
0
Do You Know the 4 Main Threat Actor Types?

Do you know the main threat actor types? Most attackers fall into one of four categories, each with their own favored tactics, techniques, and procedures.

 
LVL 37

Expert Comment

by:gregoryyoung
ID: 11730515
0
 
LVL 4

Expert Comment

by:Eran_R
ID: 11730728
The .NET remoting framework provides a lot of extensibility options.

Almost all extensions to the .NET remoting involve implementating IMessageSink.
.NET remoted calls go through the following chain:

[Client side]
call -> TransparentProxy -> RealProxy -> EnvoySinkChain -> ClientContextSinkChain -> ClientChannelSinkChain

<transport>

[Server side]
ServerChannelSinkChain -> ServerContextSinkChain -> ServerObjectSinkChain -> StackBuilderSink -> method call

You can choose to implement some sort of encryption on one of these sink chains, for example, client and server channel sinks (symmetric).

I must say that implementing such stuff requires a good understanding of .NET remoting infrastructure.
The following books are pretty good, and contain some examples of customized sinks:

"Microsoft .NET Remoting" - Microsoft Press - ISBN:0735617783
"Advanced .NET Remoting (C# Edition)" - Apress - ISBN:1590590252 (Contains encryption example)

Since you need some special action performed on both server side and client side, proxies are not the solution. You need to use message sinks to acheive what you want.

The website www.idesign.net also contains some resources and sample code for .NET remoting specialization (go to the Downloads section)

Hope this helps
0
 
LVL 4

Expert Comment

by:Eran_R
ID: 11750146
I stumbled upon an article on MSDN that answers your needs exactly!

here's the link:
Part I - http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dndotnet/html/remsspi.asp
Part II - http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dndotnet/html/remsec.asp (What you need)

Part II contains an example of using custom channel sinks to add security to .NET remoting
0
 
LVL 37

Expert Comment

by:gregoryyoung
ID: 11750212
Eran_R please read my last post...

0

Featured Post

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

IP addresses can be stored in a database in any of several ways.  These ways may vary based on the volume of the data.  I was dealing with quite a large amount of data for user authentication purpose, and needed a way to minimize the storage.   …
This document covers how to connect to SQL Server and browse its contents.  It is meant for those new to Visual Studio and/or working with Microsoft SQL Server.  It is not a guide to building SQL Server database connections in your code.  This is mo…
In this seventh video of the Xpdf series, we discuss and demonstrate the PDFfonts utility, which lists all the fonts used in a PDF file. It does this via a command line interface, making it suitable for use in programs, scripts, batch files — any pl…
Here's a very brief overview of the methods PRTG Network Monitor (https://www.paessler.com/prtg) offers for monitoring bandwidth, to help you decide which methods you´d like to investigate in more detail.  The methods are covered in more detail in o…

705 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

13 Experts available now in Live!

Get 1:1 Help Now