|
@CyberForge
Saturday, May 31, 2003
pretty soon, starting with an example application of web services and
Windows Controls hosted in a Web Browser.
....... [InkBlog : The Random Musings
of David Weller]
Excellent.. I am looking forward to that very
much. I was the technical lead for .NET implementation at my company (one of
those Fortune 500) and actively lobbied for and got the .NET 1.1 version of the
Framework installed as part of a standard desktop build. My justification
was that in the future, the complexity of the UI choice will be dependant on the
business requirements and Smart Client Applications are a very viable choice
going forward for apps that require a richer UI.
I hope that you will pay particular attention
to issues regarding CAS policies and customizing policies to grant
selective access to protected resources and how to best deploy these type
of applications.
Oh yes, InkBlog is David's opinions and not that of his employer.. LOL!
4:27:02 PM
Comment
Thursday, May 29, 2003
With the goal of "Helping
developers to create secure software", Microsoft has launched its newest MSDN
Developer Center @ http://msdn.microsoft.com/security/
UPDATE: Brian Johnson, the content strategist for the site, has a blog at http://www.bufferoverrun.net/.
9:15:59 PM
Comment
Wednesday, May 28, 2003
Sean
'Early' Campbell & Scott 'Adopter' Swigart talk about locking down the ASP.NET State Service.
But their proposed solution seems to defeat the purpose of having a State Service in the first place. The way that you configure State
Service in a farm is to enable it on one machine in the farm and point all
others to it. By disabling remote connections, you are NOT sharing the session
state across the farm. This procedure only serves any purpose if the intent is
to save session state between process recycles (as noted above). Of course, then
you would have to enable it on each machine in the farm as
well.
State Service to me has always
been the odd-one out as I consider it a single point of failure in a web
farm. When architecting our web farm, our choice of Out-Of-Process session
storage was SQL Server. If you use the persistent storage option and the SQL
Server is hosted on a cluster, sessions can survive a SQL Server failure as well.
And since the performance difference between a State Service option and SQL
Server is negligible (within a few percentage points), I'll go with SQL Server
every time.
As to how you would secure the traffic between the Webserver and SQL Server, Building Secure ASP.NET Applications gives you some options.
10:08:29 PM
Comment
This update for Microsoft Internet Information Services version 5.1 can help
protect your Web server from several new security vulnerabilities. [Microsoft
Download Center]
9:48:39 PM
Comment
Tuesday, May 27, 2003
This guide provides a set of security recommendations for Active Directory
day-to-day operations that can be applied to both new and existing Active
Directory implementations. The scripts and procedures provided are designed to
simplify the implementation of these recommendations. [Microsoft
Download Center]
8:25:08 PM
Comment
Friday, May 23, 2003
Hmm... I've been reading Ingo's article on ASP.NET vs. Remoting Performance.
In the conclusion to his article, Ingo mentioned the following:
"If you have to use HTTP as the underlying protocol but are going to stay with the .NET framework for both, your clients and your server, you should go for Remoting components hosted in IIS. This way you also have access to standard authentication, authorization and encryption (SSL!) features of Internet Information Server."
At the same time I am reading the Remoting article @ MSDN Magazine and the author says "So now that you know that HttpServerTransportSink is a Web server, the question remains—can you connect to the server using HTTPS? Unfortunately, you can't. The HttpServerTransportSink does not support SSL."
I am not a Remoting person but simply someone who is trying to come up to speed on this stuff.. Are they both speaking about the same thing? If so, it does sound like they are disagreeing. So who is correct?
9:58:07 PM
Comment
I decided to take the day off from work yesterday.
I slept in late, which I never do (If you have a 3 year old, you would understand) :-)
Took my 5 year old daughter for breakfast at a local french bakery/cafe. She has such a fresh and wonderful perspective on the world that it immediately cheered me up. Then after dropping her off at her school, I came back to the house and caught up on e-mail and spent some time online.
Went out to lunch with my friend Jim who is having a blast at his new job. He is uber-Coder there and seems to have a great boss as well. Had a great conversation that wandered all over the place.
To top it all of, decided to kill some time by seeing Matrix Reloaded - again!. It is sometimes good to just put your brain on hold.
Came back home after picking up the kids and found out that there are indeed people looking out for me and that what I thought was incredibly bad news the day before is slowly being tranformed into something that sounds great.
Life is good!
7:32:03 PM
Comment
The Microsoft Windows XP Security Guide provides several levels of security
guidance for customers interested in hardening deployments of Windows XP for
desktop and laptop clients in their environment. [Microsoft
Download Center]
7:09:59 PM
Comment
Wednesday, May 21, 2003
The price people pay when they break agreements in the world is the disintegration of trust in the relationship - David Allen
Agreements can be as simple as someone telling you that they will return your call or respond to your email - but don't. It could be something you told yourself that you would do - but did not. Or they can be much more significant. But whether the agreement be small or large, the breaking of one is a source of negative feelings.
Today was a depressing day. Tomorrow is a new day with new possibilities. Such is the rhythm of life.
9:12:49 PM
Comment
Tuesday, May 20, 2003
Matt Clapham outlines the top 10 tips testers should know to
securely test applications. [MSDN
Just Published]
10:35:00 PM
Comment
In this episode, Michael Howard outlines a simple, yet effective
way of thinking about how to build secure applications using SD3+C. This
high-level model is being used to drive the security of new products within
Microsoft. [MSDN
Just Published]
10:34:28 PM
Comment
The Windows Application Verifier (AppVerifier) [1] examines
executable programs for common application quality issues. Running this tool on
an application aids a tester in detecting issues dealing with stability,
security, and compatibility. The AppVerifier works by monitoring an
application's use of the operating system, i.e. the file system, registry,
memory, and APIs, while the application is being run. Once issues are discovered
through the AppVerifier, the tool guides developers on how to fix these issues
at the source code level.
Download [2] and learn more [3] about it.
Thanks to Raj Chaudhuri (via Craig) for the pointer.
[1] http://www.microsoft.com/windowsxp/appexperience/appverifier.asp [2]
http://www.microsoft.com/downloads/details.aspx?FamilyID=7fc46855-b8a4-46cd-a236-3159970fde94 [3]
http://msdn.microsoft.com/library/en-us/dnappcom/html/AppVerifier.asp
9:15:03 PM
Comment
Sunday, May 18, 2003
So far, I have been unable to get Quicken running as non-admin. Or rather, I
have been unable to get it running correctly. It starts just fine, but then
starts to act all screwy, like showing me the online registration dialog, but
never coming back once I hit “Next”. [CraigBlog]
I am currently running Quicken 2003 Home &
Business Premier as non-Admin on my machine. The work around for this badly
written (from a Principle of Least Privilege perspective) piece of software is
the following:
- Install with Admin rights (i.e. Put your
account in the admin group for installation)
- Manually point Quicken to the 'My Documents' tree as the location of file storage
- Give your account change rights to the
Quicken directory tree
After the making the above changes you
should be able to run the program as a non-Admin.
11:38:01 PM
Comment
Saturday, May 17, 2003
Went to Lowe's today to get
replacement sand for my three year old's sandbox. I knew that I needed 15 bags, each
weighing 50 lbs. What I did not figure on is the antiquated trolley-thing whose
steering wheels are in the back that I had to use to get all of those bags to my
vehicle. But my son had a blast riding on top of it while his Dad was
trying to maneuver the infernal thing down aisle ways that seem to be blocked by
stacks of stuff, and people who could not seem to understand that
something that heavy does not stop on a dime!
Finally got the thing to my
van and started putting the bags in. My son kept asking
me why I was making all those noises when I was putting the bags in. Don't think
he got the "darn things are heavy and they leak" part. It also had not clicked
for him why I was getting these bags. So finally we got home and unloaded
everything.
Then I told to him that the
sand was for his sandbox.
Ahh... These are the moments
that you live for and cherish as a parent! I LOVE being a
Dad!
7:14:40 PM
Comment
Top 75 Security Tools from Insecure.Org via Larkware
News
2:53:42 PM
Comment
There have recently been
discussions in many places about running and developing as non-Admin. I figured
that I would add my $0.02 to it.
There is an excellent document
[1] by Lars Bergstrom (Visual Studio Core Team) on MSDN that outlines how
to develop as non-Admin when using VS.NET. I've followed the procedure
documented in it and have had no issues in developing and debugging ASP.NET
applications as a Local User.
Recently, I installed VS.NET 2003
on my primary DEV machine and decided to follow the same instructions and ended
up running into a couple of issues. Hopefully my solutions and work-arounds will
help others who are trying to do the same thing. I am not going to repeat the
existing docs but am just going to document the deltas.
NOTE: My dev machine is Windows
XP Pro.
ProcessModel
By default, my restricted user
login cannot debug Web applications. The web server started up ASP.NET as the
NETWORK_SERVICE account and my user account, which is running the debugger,
does not have the rights to debug other users' programs
(SeDebugPrivelege). The work around for this is to either grant my account
this right or edit machine.config file to run the ASP.NET process under my user
id. The document recommends the latter approach for IIS 5 (Windows XP)
which is what I chose to do.
This is done by changing the
<processModel> from the default of:
<processModel
userName="machine" password="AutoGenerate" ......
/> to <processModel userName="YourUserName" password="YourPassword"
...... />
Security Note:
If you do not set a restrictive ACL on the machine.config file, putting your
userid and password in cleartext allows anyone to see your password. Even if you set a restrictive ACL, all users in the Administrators group will still be able to see it.
My resolution to the
above Security Note was the following. Use the aspnet_setreg.exe utility [2] to
put an Encrypted version of my account userid and password in the registry by
using the following command:
aspnet_setreg.exe -k:SOFTWARE\MY_SECURE_APP\processModel -u:"YourUserName"
-p:"YourPassword"
Then modify the
processModel as follows to point it to the
registry:
<processModel
userName="registry:HKLM\SOFTWARE\MY_SECURE_APP\processModel\ASPNET_SETREG,userName"
password="registry:HKLM\SOFTWARE\MY_SECURE_APP\processModel\ASPNET_SETREG,password"
...... />
Registry
Permissions
By default the DACL on the
"HKLM\SOFTWARE\MY_SECURE_APP" hive grants Full Control to only System,
Administrators and Creator Owner. Since ASP.NET is running under my userid,
the caveat here is to make sure that I gave my userid (ex. "YourUserName")
Read access to this registry hive where the userid and password are now
stored.
This way, even if someone
peeks into both machine.config and/or the registry they cannot see a cleartext
version of my userid and password.
File system
Permissions
VS.NET 2003 installs version 1.1
version of the .NET Framework. Majority of the file ACL's needed are
the same as documented in [1] except for that the %INSTALLROOT% changes to
"C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322". So you need to give the
following rights to your account:
- %INSTALLROOT% - Read -
%INSTALLROOT%Temporary ASP.NET Files - Read and Write
Once I made the above
changes, I've have had no issues developing and debugging Web Applications using
VS.NET 2003.
[1] Developing Software in Visual Studio .NET with Non-Administrative
Privileges
[2] Use the ASP.NET Utility to
Encrypt Credentials and Session State Connection Strings
2:18:01 PM
Comment
Friday, May 16, 2003
I just went through Scott Guthrie's ASP.NET Security Presentation and noticed that he mentions the upcoming Patterns and Practices book "Improving Web Application Security – Threats and Countermeasures". I had the opportunity to collaborate on and technical review this book and it has some awesome stuff in it. Should be out in print around the July time frame, but hopefully will be available electronically much earlier.
6:39:56 PM
Comment
Lots of interesting comments on Julie's story.
6:18:17 PM
Comment
Everyone has heard of the Microsoft iLoo story by now.. David Weller , a 'softie, has a hilarious take on it @ InkBlog. Good one!
5:56:49 PM
Comment
Recently posted to the
BUGTRAQ Mailing List:
A PDF file is now available for the e-book "IIS Security and
Programming Countermeasures" published
last week. Raw text and graphics in source format: http://www.forensics.org/jasonc/iisforensics.zip A
PDF that somebody else created from the text and graphics files: http://www.forensics.org/IIS_Security_and_Programming_Countermeasures.pdf
5:30:19 PM
Comment
Recently posted to the BUGTRAQ Mailing List.
Microsoft is pleased to announce the release of _Solution for
Securing Wireless LANs_.
This
prescriptive guide addresses today's wireless network vulnerabilities, and provides a reference
implementation of certificate services for
securing WLANS, which is suited for organizations of several hundred to many thousands of wireless
network users. The reference
implementation is derived from Microsoft's own use of PKI for securing the WLAN for its 55,000 employees, and
best practices learned while aiding
customers with their own secure WLANs.
The solution is divided into the
following
components:
PLANNING -
Secure WLAN Strategy - Secure WLAN
Solution Architecture - Designing
PKI - Designing RADIUS
infrastructure - Designing WLAN
Security using 802.1x BUILD &
DEPLOY - Implementing
PKI - Implementing RADIUS for WLAN
Security - Implementing WLAN
Security Using 802.1x OPERATE -
Managing PKI - Managing RADIUS and
WLAN
The documentation also includes a Test Guide that outlines the
overall test strategy used by Microsoft to
validate the solution, spreadsheets for
cost and risk analysis, and a project model.
You can download _Solution
for Security Wireless LANs_ from: http://go.microsoft.com/fwlink/?LinkId=14843
5:26:33 PM
Comment
Thursday, May 15, 2003
In an upcoming InfoWorld article, which will post next Friday and appear in
print the following week, I review the SpamBayes filtering engine and Mark
Hammond's brilliant Outlook addin. Thanks to this
remarkable open source duo, I am ready to declare victory on spam. [Jon's
Radio]
Indeed.. I used to use Cloudmark as my spam
filtering tool, but I've since switched over to the SpamBayes Outlook addin. It
does Rock. Even more remarkable is that it is completely
free!
11:59:28 PM
Comment
See how the WS-Security specification and implementation can be used to
securely sign Web service calls between Microsoft .NET and Java. [MSDN
Just Published]
9:33:43 PM
Comment
Remoting traffic can be secured when objects are hosted in IIS, but when they
aren't hosted in IIS, custom security solutions can be developed to secure them.
This article provides an in-depth look at writing channel sinks for .NET. It
also details the flow of data through custom channel sinks and explains the
kinds of manipulations that can be performed on that data. [MSDN
Just Published]
9:32:01 PM
Comment
I will not read a review.. I will
not read a review... I am going to see it with a friend on Monday and am trying
very hard to not read any reviews so that I don't encounter any
spoilers!
9:16:30 PM
Comment
..... debate revolved around whether or not developers should run as administrator. This is something that Keith Brown has been advocating . Since there's been a lot of public discussion around this issue lately on mailing lists and weblogs, I thought it would be interesting to post the discussion here, publicly, to both show people both sides of the argument and to give them a glimpse into the inside of DM.
[CraigBlog]
Craig Andera has posted an excellent internal Developmentor debate that shows both views. I, for one, am firmly of the opinion that developers should indeed be running as non-admin when creating and testing software. At the same time, I am also aware of the gyrations one has to go through to get the Microsoft development tools to work properly as a non-admin.
Because of my concern about this issue, I actually addressed this issue at a Q&A Session at the last Microsoft MVP Summit in Redmond. Let's just say that the response was very positive :-).
9:04:39 PM
Comment
Got myself a Kyocera 7135 Smartphone yesterday.
This is a bit of a departure for me as this phone is Palm OS Powered. That is not to say that I am unfamiliar with the Palm OS. In fact, I had one of the original US Robotics Palm 1000 units. But over the last couple of years I have been exclusively using a Pocket PC (iPaq).
But my current phone was on its last legs and my iPaq was getting old so it was time for a hardware refresh. My first inclination was to look for Windows CE (Pocket PC) powered devices but unfortunately they really did not meet my selection criteria which were:
- Coverage, Coverage, Coverage
- Phone first, PDA Second
The primary purpose of a phone is to communicate. In order to do that, it has to be on a system that has extensive coverage across the area that you are interested in. To me, that means the phone has to be active on one of the major US national carriers like Verizon, Sprint or AT&T. The issue is that the current crop of Smart Phones are purely digital and really did not
have an analog fallback option.
While there are Pocket PC Phone Editions that are coming out on the major networks, I really could not see myself talking into a PDA. In addition, I have always been a fan of the clamshell design which provides better protection for the the screen. The Pocket PC Phone Editions are Candybar style.
The Microsoft Smartphone would have been an option that I would have been willing to consider. But my only comment to that would be "Where art thou (In the US, on a major network)?". In fact it would appear that T-Mobile, the only carrier who had agreed to carry the Smartphone in the US is backing away.
But the most important thing that I based my decision on were my own PDA habits. I use the PDA primarily as a contact and list manager. That is something the Palm OS does exceedingly well. I also have the need to carry my PDA with me everywhere to take notes and make calls. So I am very much a candidate for the converged device.
Yes, the choice of the Palm OS does mean that I have to give up the ability to do .NET Compact Framework development, but I can live with doing that on my iPaq.
So for me the following factors made the decision easy:
- Coverage - Verizon Express Network, CDMA Digital AND Analog
- Form Factor - Clamshell and relatively small
- Expandability - SDIO slot
UPDATE: It appears that T-Mobile WILL be shipping a SmartPhone, just not anytime soon. My reasons still hold.
1:06:29 PM
Comment
Sunday, May 04, 2003
"That man is successful who has lived well, laughed often, and loved much, who has gained the respect of the intelligent men and the love of children; who has filled his niche and accomplished his task; who leaves the world better than he found it, whether by an improved poppy, a perfect poem, or a rescued soul; who never lacked appreciation of earth's beauty or failed to express it; who looked for the best in others and gave the best he had." -- Robert Louis Stevenson
... I am working on this :-)
12:52:55 PM
Comment
|