It depends on how you are communicating with the CFC. If you are using the remoting protocols, then how those channels are configured is what counts. Just because the swf is served thru HTTPS doesn't mean your data will be IF you are using the AMF channels. I have used (in test) https channels under an http web server. If you want secure data transmission under AMF then you need to create and use a secure channel.
If you are using other means (wsdl, URL, parameters, etc.) to move data back and forth, then the web server protocol comes into play. It would be nice for someone from Adobe to comment on this, especially with some sort of overview of the differences between CF8 and CF9. I'm going to have to move soon to CF9 and you've already found one difference in the services-conf.xml file (the endpoints) that I'm going to have to deal with. ----- Original Message ----- From: Laurence To: flexcoders@yahoogroups.com Sent: Monday, February 22, 2010 3:16 PM Subject: [flexcoders] Re: Security issues SOLVED. (Mostly...) So, you're saying that serving the .SWF via HTTPS won't automatically make all my ColdFusion calls through HTTPS? Like, I can have the majority of my calls through HTTP, and just secure the couple of calls that need to be secured? I thought if you served the .SWF via HTTPS, all the calls to CF were automatically sent through HTTPS? L. --- In flexcoders@yahoogroups.com, "valdhor" <valdhorli...@...> wrote: > > An Idea... > > Put the SWF on the HTTPS Server. There will be a one time hit as the user loads the SWF. Place your secure calls to the same HTTPS server. Place the other calls to an HTTP server. > > I don't know how or even if that would work but it's worth a try. > > --- In flexcoders@yahoogroups.com, "Laurence" <LMacNeill@> wrote: > > > > Yes but HTTPS is *so* much slower than HTTP... Some of the data that we don't need secured can get as high as 50,000 records... I only need one credit-card number per account secured. Not much data at all... > > > > So how, exactly, does setting the secure="false" tag open it up to snooping or spoofing? I still don't really get that... I mean, it's still using HTTPS over the secure ColdFusion channel I created, right? Wouldn't that still be secure? > > > > And if setting the secure="false" tag removes all HTTPS security, then why bother offering the ability to create secure channels in ColdFusion? I mean, if you're serving the .SWF over HTTPS, then all channels are automatically secure, yes? So the only point of having a separate secure channel is to do exactly what I'm trying to do... Why offer that, if it's not truly secure? I'm still confused... > > > > L. > > > > > > --- In flexcoders@yahoogroups.com, "valdhor" <valdhorlists@> wrote: > > > > > > > > > > > > > > > From the Adobe Help files: > > > ====================================================================== > > > Each <allow-access-from> tag also has the optional secure attribute, which defaults to true. You can set the attribute to false if your policy file is on an HTTPS server, and you want to allow SWF files on a non-HTTPS server to load data from the HTTPS server. > > > > > > Setting the secure attribute to false could compromise the security offered by HTTPS. In particular, setting this attribute to false opens secure content to snooping and spoofing attacks. Adobe strongly recommends that you not set the secure attribute to false. > > > > > > If data to be loaded is on a HTTPS server, but the SWF file loading it is on an HTTP server, Adobe recommends that you move the loading SWF file to an HTTPS server so that you can keep all copies of your secure data under the protection of HTTPS. > > > ====================================================================== > > > > > > If I needed secure access, I would move everything over to https. > > > > > > The only other thing I could suggest is to use encryption. Check out AS3Crypto (http://code.google.com/p/as3crypto/). Of course, if you serve the SWF over HTTP, someone could analyze the SWF and find the encryption key. Again, for security reasons, I would move everything over to https. > > > > > > --- In flexcoders@yahoogroups.com, "Laurence" <LMacNeill@> wrote: > > > > > > > > So, here's my crossdomain.xml in its final form: > > > > > > > > <cross-domain-policy> > > > > <site-control permitted-cross-domain-policies="master-only" /> > > > > > > > > <allow-http-request-headers-from domain="www.mydomain.com" headers="*" secure="false"/> > > > > <allow-access-from domain="www.mydomain.com" secure="false" /> > > > > > > > > </cross-domain-policy> > > > > > > > > This allows all the stuff on the SecureColdFusion channel I created to work just fine, as long as I access the site from "mydomain.com" and not from "localhost" or "myserver01" (its NetBIOS name). > > > > > > > > Even if I put <allow-access-from domain="localhost"/> (or domain="myserver01"/>) in there, it still won't allow access from localhost (or myserver01), because the security certificate is issued to mydomain.com -- the names don't match, so the browser/Flash/CF rejects it. (I don't know exactly which one is rejecting it, but somewhere along the line it's being rejected because of the name-mismatch.) > > > > > > > > The only way that I can see to change that behavior is to create two more virtual websites that point to the same location, and give each of those virtual sites their own certificate (one assigned to "myserver01" and one assigned to "localhost". Otherwise, I can't access the app on my local server if the Internet goes down. Yuck. (If anyone knows a better way, I'm all ears.) > > > > > > > > The one thing that still bothers me about this setup is the 'secure="false"' tags. I cannot get a straight answer as to exactly what this does to my security. It enables http .SWFs to access https data, sure. But does that mean it's disabling all https when it does that? Or does it mean that it is secure during transit over the Internet, but not when it's being held in the Flex app? Or does it mean something entirely different? There is no site that has a direct answer to this -- they all just say "it's not recommended due to security issues," or something along those lines. But they don't specify WHAT security issues there are. I need to know -- I can't serve my entire app over an https connection because it'll be too slow, but I must have secure access to some of the data... > > > > > > > > So if anyone can answer the 'secure="false"' question specifically, I would be very grateful. > > > > > > > > Thanks, > > > > L. > > > > > > > > > >