-
Of all the transactions to lose, let’s hope it’s not this one.
-
It’s JavaOne, but not as we know it.
Comments Off
Archive for January, 2007
I’ve lost count of the number of developers who rave at me about how things have advanced, “look at Spring or AJAX or ……” they cry. But is anything really changing? I don’t think there’s any doubt that things are moving along but it’s at snails pace. Why? Because whilst we have a new tool or IDE plugin or container it’s based on the same old programming/architectural model:
i.e. Whilst we change the way we build our applications at code level to some degree, we don’t change our architecture or programming model. We are locked into one way of thinking and subconsciously enforce it on everything we look at. This lock-in causes us significant stress when we attempt to evaluate something with a different programming or architectural model with typical responses being:
But this is a good sign, this is real learning that stretches you in new directions and makes you a better, more rounded techie. If you don’t thrive on this stuff you can’t be cutting edge and you’re certainly not advancing significantly. Think different – that’s genuine progress!
Technorati Tags: philosophy, technology
Now it’s Java properties. I say once again – the last thing to do is to extend the language. Before that try a new API or have your IDE do it. In the case of Java properties I really don’t see any reason whatsoever for this being in the language as it’s blatantly something that can be done in the IDE plenty well enough. That just leaves a couple of arguments:
Elliotte and others already have the rest of the reasoning nailed so I’m not wasting any more breath.
Jan
29
2007
The Evil That Firewalls DoPosted by Dan Creswell in Architecture, Distributed Systems, TechnologyCommon practice these days is to have a firewall between corporate’dom and the internet and only open port 80. It’s claimed this is secure but is it and what is this approach costing us? And is the price worth paying? We tend to argue against open ports at the firewall for two reasons:
Denial Of Service Attacks The mere act of opening a port leaves one open to such attacks. The difficult bit is having access to sufficient resources with which to attack the target. This drives some to look for more sophisticated attacks that don’t require a “stampeding herd” of machines but there are very few of these people because:
In conclusion, denial of service attacks are a part of being on the net and firewalls help very little in this regard. What’s really needed is intrusion detection software and dynamic response/adaption something the firewall doesn’t facilitate. Hacks The reason a hack works at all is because it exploits some weakness in some service somewhere. But these weaknesses vary by OS, machine and software version. Blocking everything at the firewall works but really and truthfully we should:
How Secure Are We? Given the above we can see that boundary firewalls actually provide little effective protection against attack because to provide service, we must open the firewall and as soon as we do it, the hoardes can rush in. Certainly a firewall can stop certain kinds of packet spoofing, remote login etc but we don’t need to close all ports to achieve this goal. In summary, firewalls are hammers and we are attempting to treat all security issues as nails to beat on. The Cost of the “No open ports” Strategy Because port 80 is the only one open, we are seeing everything tunnelled via http. This leads to a whole series of complications:
Connection building in certain directions is impossible in most cases which denies us architectural options:
The border firewall becomes a point of contention trying to serve conflicting policies for individual services. Changes to the policy are slow owing to the need for agreement from so many parties or, in the worst case, no change happens at all. We Really Need to Change Firewalls as they are typically used are the software equivalent of a “Maginot Line” and history is littered with examples of failed border-control policy such that the military at least have learnt that defense in depth is a more appropriate solution. The “Maginot Line philosophy” denies us various software architecture options that would make our systems less complex and more scalable. Certain elements might argue that all of this should lead us to base our services solely on the web architecture but that denies us certain kinds of desirable abstraction such that we expend lots of effort close to the metal attempting to force our solutions into a single generic approach. This would be somewhat akin to the pain we suffer trying to tunnel everything over http, not good. Amazon’s EC2 provides some interesting possibilities in that it provides a more flexible firewall policy than straight border control and perhaps the most significant aspect of EC2 is that the firewall configuration can be controlled programmatically thus it would be possible for a service to configure the firewall to suit it’s needs on demand. If nothing else, such an option can speed up deployment removing the need to fiddle with http tunnelling and de-multiplexing or to discuss policy with a centralized admin authority. In conclusion, we need to look at changing our policy and other approaches such as providing infrastructure that can secure individual services with appropriate policies from machine through to software level. Much of our current software infrastructure has little support for such a strategy and will need to change but surely it will be for the better? Technorati Tags: architecture, distributed systems, technology |