Thursday, April 15, 2010

10 iptables rules to help secure your Linux box

SkyHi @ Thursday, April 15, 2010

Mastering iptables could take a while, but if you have a few rules to cover the basic security needs, you’ll be well on your way to protecting your Linux system. Jack Wallen explains some key rules to get you started.





The iptables tool is a magnificent means of securing a Linux box. But it can be rather overwhelming. Even after you gain a solid understanding of the command structure and know what to lock down and how to lock it down, iptables can be confusing. But the nice thing about iptables is that it’s fairly universal in its protection. So having a few iptables rules to put together into a script can make this job much easier.


With that in mind, let’s take a look at 10 such commands. Some of these rules will be more server oriented, whereas some will be more desktop oriented. For the purpose of this article, I’m not going to explain all of the various arguments and flags for iptables. Instead, I’ll just give you the rule and explain what it does. For more information on the specifics of the rule, you can read the man page for iptables, which will outline the arguments and flags for you.


Note: This article is also available as a PDF download.


1: iptables -A INPUT -p tcp -syn -j DROP


This is a desktop-centric rule that will do two things: First it will allow you to actually work normally on your desktop. All network traffic going out of your machine will be allowed out, but all TCP/IP traffic coming into your machine will simply be dropped. This makes for a solid Linux desktop that does not need any incoming traffic. What if you want to allow specific networking traffic in — for example, ssh for remote management? To do this, you’ll need to add an iptables rule for the service and make sure that service rule is run before rule to drop all incoming traffic.


2: iptables -A INPUT -p tcp –syn –destination-port 22 -j ACCEPT


Let’s build on our first command. To allow traffic to reach port 22 (secure shell), you will add this line. Understand that this line will allow any incoming traffic into port 22. This is not the most secure setup alone. To make it more secure, you’ll want to limit which machines can actually connect to port 22 on the machine. Fortunately, you can do this with iptables as well. If you know the IP address of the source machine, you can add the -s SOURCE_ADDRESS option (Where SOURCE_ADDRESS is the actual address of the source machine) before the –destination-port portion of the line.


3: /sbin/iptables -A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT


This will allow all previously initiated and accepted exchanges to bypass rule checking. The ESTABLISHED and RELATED arguments belong to the –state switch. The ESTABLISHED argument says, “Any packet that belongs to an existing connection,” and the RELATED argument says, “Any packet that does not belong to an already existing connection but is related to an existing connection.” The “state machine” of iptables is a means for iptables to track connections with the help of the kernel level “conntrack” module. By tracking connections, iptables knows what connections can be allowed and what can’t. This reduces the amount of work the administrator has to do.


Here’s how state works. If the local user initiates a connection, that packet (to that connection) is set as NEW in the prerouting chain. When the local user gets a return packet, the state is changed to ESTABLISHED in the prerouting chain. So when a state is set as ESTABLISHED, it can be allowed with the right iptables rule.


4: iptables -N LOGDROP


With this handy chain, iptables will log all dropped packets. Of course, this is only part of the chain. To complete it, you need to add the follow two rules: iptables -A logdrop -J LOG and iptables -A logdrop -J DROP. Now all matching packets (in this case, anything that has been dropped) will be added to the logdrop chain which will log them and then drop them.


5: iptables -t nat -A PREROUTING -i WLAN_INTERFACE -p tcp –dportPORTNUMBERS -j DNAT –to-destination DESTINATION_IP


When you need to route packets from external sources to specific ports on specific internal machines, this is what you want to do. This rule takes advantage of network address translation to route packets properly. To suit your needs, the WLAN_INTERFACE must be changed to the WLAN interface that bridges the external network to the internal network, the PORTNUMBERS must be changed, and DESTINATION_IP must be changed to match the IP address of the destination machine.


6: iptables -A INPUT -p tcp –syn –dport 25 -j ACCEPT


This is the beginning of a SYN flood protection rule. This portion of the rule blocks DoS attacks on a mail server port. (You can change this to suit your mail server needs.) There are three more portions of this rule set. The first is to add the same rule but modify the port to whatever is being served up by whatever ports you have open. The next portion is iptables -A INPUT -p tcp –syn -m limit –limit 1/s –limit-burst 4 -j ACCEPT, which is the actual SYN flood protection. Finally, iptables -A INPUT -p tcp –syn -j DROP will drop all SYN flood packets.


7: iptables -A INPUT -p tcp -m tcp -s MALICIOUS_ADDRESS -j DROP


This is where you can take care of malicious source IP addresses. For this to work properly, you must make sure you know the offending source IP address and that, in fact, it’s one you want to block. The biggest problem with this occurs when the offending address has been spoofed. If that’s the case, you can wind up blocking legitimate traffic from reaching your network. Do your research on this address.


8: iptables -N port-scan


This is the beginning of a rule to block furtive port scanning. A furtive port scan is a scan that detects closed ports to deduce open ports. Two more lines are needed to complete this rule:


iptables -A port-scan -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j RETURN

iptables -A port-scan -j DROP


Notice that the above rule set is adding a new chain called “port-scan”. You don’t have to name it such; it’s just easier to keep things organized. You can also add timeouts to the above rule set like so:


iptables -A specific-rule-set -p tcp --syn -j syn-flood

iptables -A specific-rule-set -p tcp --tcp-flags SYN,ACK,FIN,RST RST -j port-scan


9: iptables -A INPUT -i eth0 -p tcp -m state –state NEW -m multiport –dports ssh,smtp,http,https -j ACCEPT


What you see here is a chain making use of the multiport argument, which will allow you to set up multiple ports. Using the multiport argument lets you write one chain instead of multiple chains. This single rule saves you from writing out four separate rules, one each for ssh, smtp, http, and https. Naturally, you can apply this to ACCEPT, DENY, REJECT.


10: iptables -A PREROUTING -i eth0 -p tcp –dport 80 -m state –state NEW -m nth –counter 0 –every 4 –packet 0 -j DNAT –to-destination 192.168.1.10:80


If you’re looking to load balance between multiple mirrored servers (in the example case, load balancing a Web server at 192.168.1.10), this rule is what you want. At the heart of this rule is the nth extension, which tells iptables to act on every “nth” packet. In the example, iptables uses counter 0 and acts upon every 4th packet. You can extend this to balance out your mirrored sites this way. Say you have four mirrored servers up and you want to balance the load between them. You could have one line for each server like so:


<code>iptables -A PREROUTING -i eth0 -p tcp --dport 80 -m state --state NEW -m nth --counter 0 --every 4 --packet 0 -j DNAT --to-destination 192.168.1.10:80</code>

iptables -A PREROUTING -i eth0 -p tcp --dport 80 -m state --state NEW -m nth --counter 0 --every 4 --packet 1 -j DNAT --to-destination 192.168.1.20:80

iptables -A PREROUTING -i eth0 -p tcp --dport 80 -m state --state NEW -m nth --counter 0 --every 4 --packet 2 -j DNAT --to-destination 192.168.1.30:80

iptables -A PREROUTING -i eth0 -p tcp --dport 80 -m state --state NEW -m nth --counter 0 --every 4 --packet 3 -j DNAT --to-destination 192.168.1.40:80

As you can see the server on .10 will be routed every 0 packet, the server on .20 will be routed every 1st packet, the server on .30 will be routed every 2nd packet, and the server on .40 will be routed every 3rd packet.


REFERENCE

http://blogs.techrepublic.com.com/10things/?p=539

IPTables (Linux Firewall)

SkyHi @ Thursday, April 15, 2010
Logging connections with IPtables


Logging ALL incomming and outgoing traffic



iptables -A OUTPUT -j LOG

iptables -A INPUT -j LOG

iptables -A FORWARD -j LOG

iptables -t nat -A PREROUTING -j LOG

iptables -t nat -A POSTROUTING -j LOG

iptables -t nat -A OUTPUT -j LOG


Description: Above commands will enable logging for all input/output/forwarded/routed traffic in /var/log/messages file. (Log file depend on syslog setting).



A Customized Logging Chain to Log all ssh connections



iptables -N LOGIT # special chain to log all except fragments

iptables -A LOGIT -m state --state ESTABLISHED -j RETURN # don't log frags

iptables -A LOGIT -j LOG

iptables -A LOGIT -j RETURN


Above commands will create a new chain LOGIT and will set it to log all except fragments. Now lets use this chain.


iptables -A INPUT -p tcp --dport 22 -j LOGIT


Description: It will log all connections to port 22 (SSH).


Below is the complete shell script for above loging.

#!/bin/bash
iptables -N LOGIT # special chain to log all except fragments

iptables -A LOGIT -m state --state ESTABLISHED -j RETURN # don't log frags
iptables -A LOGIT -j LOG
iptables -A LOGIT -j RETURN

iptables -A INPUT -p tcp --dport 22 -j LOGIT
#end



Reverse script to delete above iptables config.

#!/bin/bash<br /><br />  iptables -D LOGIT -m state --state ESTABLISHED -j RETURN <br />  iptables -D LOGIT -j LOG<br />  iptables -D LOGIT -j RETURN<br /><br />  iptables -D INPUT -p tcp --dport 22 -j LOGIT<br />  iptables -X LOGIT <br /><br /><br />#end<br /><br />




Blocking traffic with IPtables



Blocking an IP (Drop connection)


Example: iptables -A INPUT -s 192.168.0.1 -j DROP


Blocking an IP (Rejecting connection)


Example: iptables -A INPUT -s 192.168.0.1 -j REJECT


Blocking access of an ip to a certain port


Example: iptables -A INPUT -p tcp -s 192.168.1.50 --dport 110 -j
REJECT

Description: This will reject connection from 192.168.1.50 at port 110.

Example: iptables -A INPUT -p udp -s 192.168.1.50 --dport 52 -j REJECT

Description: This will reject udp traffic from 192.168.1.50 at port 52


Blocking All Incomming Traffic at a port


Example: iptables -A INPUT -p tcp --dport 110 -j REJECT

Description: This will reject ALL Incomming connections/Traffic at port 110.



Blocking Incomming Pings


Example: iptables -A INPUT -p icmp -j DROP

Description: Usefull to protect against automated network scans
to detect live ips.


Blocking access to an external ip from within your server


Example: iptables -A OUTPUT -p tcp -d 192.168.1.50 -j REJECT
Description: This will block access to 192.168.1.50 from with in your server. Means your server users can not access that ip from with in the server


Blocking access to an external port of an external ip


Example: iptables -A OUTPUT -p tcp -d 192.168.1.50 --dport 25 -j REJECT

Description: Port 25 of 192.168.1.50 will not be accessable from with in your server





Routing with IPtables


Redirecting a tcp port to another port


Example: iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080

Description: Port 80 will be redirected to port 8080, Means if you will connect at port 80 of this server then you will actually connected to 8080




Redirecting traffic from specific ip at a tcp port to another port


Example: iptables -t nat -A PREROUTING -p tcp -s 192.168.1.40 --dport 80 -j REDIRECT --to-ports 8080

Description: All traffic from 192.168.1.40 at Port 80 will be redirected to port 8080, Means if 192.168.1.40 will connect at port 80 of this server then it will actually connected to 8080




Note: REDIRECT target can be used only to redirect traffic to the machine itself. To route traffic to other places, Use DNAT (see below)


Routing traffic from specific port to another server



Example:

echo 1 > /proc/sys/net/ipv4/ip_forward

iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

iptables -t nat -A PREROUTING -p tcp -d 10.10.10.10 --dport 72 -j DNAT --to 33.55.37.226:25

Description: Above commands will route the traffic for port 72 of ip 10.10.10.10 to port 25 of ip 33.55.37.226 .




Listing and Deleting current rules


Example: iptables -L

Description: It will list all chains and rules


Example: iptables -L chain_name

Description: It will list all rules in a specific chain


Example: iptables -D LOGIT -j LOG

Description: It will delete the specific rule. The rule must be exact as it was executed.


Example: iptables -F chain_name

Description: It will delete all rules in chain_name


Example: iptables -F

Description: It will delete all rules in all chains

REFERENCE
http://www.openpages.info/iptables/

Wednesday, April 14, 2010

seo-issues-with-moving-a-domain/

SkyHi @ Wednesday, April 14, 2010
Moving a domain is not fun, especially when you are enjoying good rankings on the old domain. I'm getting asked how to move a domain more and more, so it's time I put my thoughts online in a place where I can easily reference them.


The problem


Let's say you own a domain like bestsitesof2006.com - it's now 2007 and you realise that your purchase of said domain may not have been the best long-term choice.


You want to start using your great brand-new domain bestsitesof2007.com (not the quickest are you?).




bestsitesof2006.com is getting great traffic and has good pagerank, and you don't want to lose any of that.


Duplicate content, link juice etc


Your great rankings are currently coming from the thousands of links you have painstakingly built over the last year.




If you launch bestsitesof2007.com with exactly the same content as bestsitesof2006.com and run the 2 sites side by side, Google is going to filter out one of the sites using their duplicate content filters (which are getting much better). Google will likely filter out the less powerful of the 2 domains, namely the newest one.




At any rate, you want your link juice from bestsitesof2006.com to flow into bestsitesof2007.com so that it can rank well based on those links.


The 301 redirect


A 301 redirect is known as a permanent redirect, and should be used for permanently changing the URI of a page. This is exactly what we are doing here.




All pages from bestsitesof2006.com need to be 301 redirected to bestsitesof2007.com - this can be done sitewide, or page by page, either method is appropriate.




The GoogleBot will follow links into bestsitesof2006.com and see the 301 redirect. The old page will be removed from Google's index and the new page added instead.


By deleting and then adding, there is no issue with duplicate content as the 2 pages don't exist in Google's index at the same time.


Time delays


Moving a domain is something everyone has different experiences with. I can only report on what I have seen happen to my sites, and what people have told me.




Please don't take this information to be gospel, because it's not.




I have found that it can take a couple of weeks for Google to start deleting old pages and adding new pages, this will depend on how often Googlebot visits your site, and how authorative your domain is.




Your new homepage will be indexed first, followed by other pages on your new site.




If your new domain is newly registered, expect your rankings to take a dive for a period of weeks to months. The new domain has no authoraty whatsoever, and it takes time for the effect of the redirected links to kick in.


Loss of rankings


Yes, you did read that correctly. The method of moving a domain that I recommend can involve you getting shit rankings for up to 6 months. If your old domain has really great links and authority, then some people report no ongoing reduction in rankings.


Pagerank


Some people worry about losing PageRank when shifting a domain. Umm, yeah, you do lose all pagerank across your new site for up to 3 months. But you shouldn't worry about this, be more concerned about rankings, traffic and sales instead.


With any new domain, your pagerank is zero until Google does a quarterly toolbar update. At any rate, the toolbar does not reflect the true PageRank of the site, so it's not worth worrying about.


I generally find the PageRank of sites I move returns to normal within 3-6 months of the move (1 - 2 toolbar updates).


Updating old links


You have spent lots of time building links. Great. With the 301 redirects, the juice from these links now flows to the new site.


It's still worth approaching some of the better sites that link to you and asking them to update the link.


Cleaning up URLs


So, you are going to change every URL on your site and take a bit of a hit in the rankings, huh?




You don't want to tave to repeat this process again.




Now is a great time to clean up the URLs on your site.




eg...


bad: www.domain.com/index.php?pageid=45


bad: www.domain.com/aboutourteam.php


bad: www.domain.com/about_our_team.php


bad: www.domain.com/About-Our-Team.php


bad: www.domain.com/content/45.htm




good: www.domain.com/about-our-team.php


good: www.domain.com/about-our-team/


good: www.domain.com/about-our-team.htm


good: www.domain.com/about-our-team


good: www.domain.com/team/




If your site is static, rename all your pages so they are dash separated, lower case only, and logical.


If your site is driven by a content management system or forum package, now's a great time to go install whatever SEO plugins or modules are required to fix up the URLs. Many CMS systems such as Wordpress have free plugins that do the job nicely. Others, such a VBulletin have plugins that aren't free (VBSEO plugin), but still well worthwhile investing in.




Shameless plug:


Jojo CMS doesn't need any plugins to have nice URLs.


The bottom line


When you change a domain, you accept some risk that rankings can drop significantly for several months. This is one of the costs of rebranding, so make sure the decision makers consider this cost BEFORE deciding on the rebranding of a business.




The unpleasantness of this process is one reason why domainers will pay good money for the right domain name, and why it's better to think long-term before investing time and money into the wrong domain.

REFERENCE
http://www.ragepank.com/articles/97/seo-issues-with-moving-a-domain/

Outlook duplicate records: Why they occur and prevention

SkyHi @ Wednesday, April 14, 2010

Why do Outlook duplicates occur and how can I prevent them?

Outlook duplicate records can occur for many reasons, and in most cases, a simple fix will prevent them from happening in the future. Below you will find some of the most common causes of duplicates, and some solutions to prevent them in Outlook.

The first, and probably the most common, is synchronization of your Outlook with a PDA. Duplicates can occur here if you have the same Outlook record stored under different terms in Outlook and your PDA. For example, if you have the same contact (we'll call him Bill Henderson) in both your PDA and Outlook, and Bill's job title in your PDA is "Sales", but in Outlook he is listed as "Sales Rep", when you synchronize your PDA to Outlook it will create an Outlook duplicate record: one for Bill Henderson "Sales Rep", and another for Bill Henderson "Sales".

To prevent this, one of the easiest solutions is to get your Outlook contacts in order. You can do this by creating a new secondary Outlook account (not configured for email) and sync all of your contacts from your PDA into this account as new. You can then clean them up to match your original Contacts folder, and sync back into your PDA. Once that’s complete, you can delete the secondary Outlook account and your next sync to Outlook should go flawlessly.

Another reason for Outlook duplicate records could be that Outlook downloaded an email twice from one or more POP3 servers. This could happen for multiple reasons; a background synchronization happened at the exact time you were emptying the Deleted Items folder, messages you intentionally leave on the mail server are downloaded again on the next Send/Receive, you have two or more alias accounts pointing at the same POP3 server, or other inconsistent occurrences.

If you believe your Outlook duplicates are caused by an underlying Outlook functioning error, check with Microsoft Support at http://support.microsoft.com/; in many cases, you just need to update your software because of an Outlook bug.

Reinstallation and re-configuration of Microsoft Outlook could also Outlook duplicate records. If you install a fresh installation of Outlook with your email account, select your old .pst file as the delivery location, but originally chose to leave a copy on the server; those old emails will not only still be in your .pst file, the server will also download them again and create Outlook duplicates you will need to remove. This is because the server didn't recognize that the emails had already been received by another email account.

To prevent this problem, make sure you start Outlook with a clean .pst file after re-installation. Once the "new" email messages have been received, open your old .pst file and move only the new messages (not the old message "duplicates") into the old .pst file. Then delete the new .pst file and set your default delivery to the original .pst file.

Your firewall and/or anti-virus software can also create Outlook duplicates. In a perfect Send/Receive cycle, Outlook sends a request to the mail server for mail messages; new emails not in Outlook are then downloaded and the connection is closed. However, if your firewall or anti-virus software interjects itself and causes something to fail at any point in this process (flagging a large message, etc.) the connection will not close properly. This means that any emails that were downloaded before the point of failure will be downloaded again on the next Send/Receive, thereby creating duplicate emails in your Outlook inbox.

If you think your firewall/virus scanner is causing Outlook duplicates, change your security settings to not interfere with Outlook. Outlook's "in-house" security measures are tight enough as it is, and it does the work for you, so there’s no need to worry.

Check your rules in Microsoft Outlook – they could be set to send the same message to two or more places. If you have multiple rules set up to deal with incoming email messages, there's a possibility that Outlook could create duplicates in order to satisfy two different rules. For example, if you have a rule to send all emails from "Jack Morris" to a specific folder, and all emails with the subject line "Outlook" to go to the same folder, and you get an email from "Jack Morris" with "Outlook" in the subject line, technically both rules apply. Outlook will then move the message twice, creating a duplicate email that you will want to remove.

To prevent this problem, be sure to add the action "stop processing more rules" to the rule. This way, if a rule has already been applied to a message, no further action will be taken and duplicates will not be created to satisfy all rules.


REFERENCE

http://www.anti-dupe.com/products/prevent_outlook_duplicate.aspx



Micosoft Outlook Issues and Problems Duplicate Emails

SkyHi @ Wednesday, April 14, 2010
If you are getting duplicate emails on your computer in your Outlook Express, it could be that there is a corrupt email message in your inbox on the mail server. To delete the corupt email, simply:
  1. Login to your mail server
    http://mail.comentum.com/mail/
    - Enter your user name (your email address)
    - Enter your password
  2. Delete the corrupt/damaged message that is creating the duplicates
    (You may want to delete all messages on the server, after you have downloaded them to your Outlook.)
Possible Causes of Duplicate Emails on Outlook Express

Problem: The "Leave Messages on the Server" box has been checked on your Outlook Express account settings.
Fix: Uncheck the "Leave Messages on the Server" box. To do this, click on Tools>Accounts. You will see a box open (named Internet Accounts), click "Mail" tab, click on the mail account, click on Properties>Advanced. Remove the check in the box "Leave a copy of messages on server."

(The following information is from Microsoft Help and Support)
Problem: Outlook Downloads Messages from a POP3 Server Twice
Outlook downloads messages from a Post Office Protocol 3 (POP3) server again after it empties the Deleted Items folder even if you have both the Leave a copy of messages on the server and the Remove from server when deleted from Deleted Items options enabled on the POP3 account.
Fix: There is not an available workaround for this problem. . . Simply delete the duplicate messages.

Advanced Configurations:
How to setup email forwarding
How to create an Auto Responder
How to turn on Spam Filter

REFERENCE
http://www.comentum.com/outlook-issues.html


Sendmail Block subject

SkyHi @ Wednesday, April 14, 2010
> What can I do to block a message with a determinated subject with
> mimedefang ???

I've posted this a few times before.

Blocking emails based on the Subject line can be done by adding the
following LOCAL_RULESET to your sendmail.mc file, and then rebuilding
sendmail.cf. PLEASE NOTE that there are TABS in the code below. If you
copy/paste the code below into yout sendmail.mc file, BE SURE TO REPLACE any
occurances of "[TAB]" with a real TAB.

Once the sendmail.cf has been rebuilt (and sendmail restarted), create two
files. The first file (subjects_full) will contain COMPLETE SUBJECT LINES,
using PERIODS to replace any spaces. The second file can contain any
KEYWORDS or portions of subject lines (again, replacing any spaces with
periods).

For example, in /etc/mail/subjects_full you might have something like:

Mothers.Day.Order.Confirmation
Dangerous.Virus.Warning
Virus.ALERT!!!
Important!.Read.carefully!!
How.to.protect.yourself.from.the.IL0VEY0U.bug!
I.Cant.Believe.This!!!
Thank.You.For.Flying.With.Arab.Airlines
Variant.Test
Yeah,.Yeah.another.time.to.DEATH...
LOOK!
Bewerbung.Kreolina
Recent.Virus.Attacks-Fix
PresenteUOL
IMPORTANT:.Official.virus.and.bug.fix
NEUE.ANTI-VIRUS-LISTE
BUG.&.VIRUS.FIX
New.Variation.on.LOVEBUG.Update.Anti-Virus!!
Snowhite.and.the.Seven.Dwarfs.-.The.REAL.story
Resume.-.Janet.Simons
US.PRESIDENT.AND.FBI.SECRET
Check.this.out,.it's.funny!
Cool.Notepad.Demo
Moin,.alles.klar?
Hi,.how.are.you?

In /etc/mail/subjects_part you could have something like:

unsecured.gold.mastercard
unsecured.mastercard
unsecured.platinum.card
unsecured.visa
viagra
v.i.a.g.r.a
vi*agra
v1agra
v*1a*gra

These are plain ascii files... NOT database hashes. And, there is no need
to restart sendmail whenever you add anything to these files. Changes take
effect immediately.

Have fun!


LOCAL_RULESETS
######################################################################
###
### Email Virus and Anti-SPAM stuff...
###
### Add exact-match subject lines to /etc/mail/subjects_full
### Add substrings to match in subject lines to /etc/mail/subjects_part
### In both files, all spaces MUST be replaced with periods (.)
###
### Create two files called /etc/mail/subjects_full and
### /etc/mail/subjects_part. The former has complete
### unwanted 'subject' lines, while the latter has only
### substrings within 'subject' lines.
###
### As an example, suppose you want to filter out 'viagra'
### spam. The following entry in your subjects_part
### file would do it:
### viagra
###
### In the case of multi-word entries, all spaces MUST be
### replaced with periods. For example:
### herbal.viagra
###
### These filters are not case-sensitive.
###
######################################################################
F{FullSubjects} -o /etc/mail/subjects_full
F{PartSubjects} -o /etc/mail/subjects_part
HSubject: $>CheckSubject

SCheckSubject
R$={FullSubjects}$*[TAB]$: REJECTSUBJECT
R$* $={PartSubjects} $*[TAB]$: REJECTSUBJECT
R$* REJECTSUBJECT $*[TAB]$#error $: "553 Access Denied - MSG may contain
SPAM/WORM/VIRUS/HOAX."

RADV : $*[TAB]$#error $: "553 Delivery blocked; HSubject: indicates
unsolicited commercial email."
R ADV : ADLT $*[TAB]$#error $: "553 Delivery blocked; HSubject: indicates
unsolicited adult-content email."
RADV $*[TAB]$#error $: "553 Delivery blocked; HSubject: indicates
unsolicited commercial email."



KEN CORMACK, RHCE
Sr. UNIX Systems Analyst,
Open Systems Group
Sr. Software Analyst,
TSG Midrange Systems Group
AFFILIATED COMPUTER SERVICES, INC.
557 E. Tallmadge Ave., Akron, OH 44310

"If that that is 'is' is that that is not 'not is', is that that is 'not is'
that that is not 'is'? It is!" - Ken Cormack

"Sendmail administration is not black magic. There are legitimate technical
reasons why it requires the sacrificing of a live chicken." - Unknown


REFERENCES
http://lists.roaringpenguin.com/pipermail/mimedefang/2004-March/020796.html

Tuesday, April 13, 2010

PHP Fatal error: Call to a member function saveXML() on a non-object

SkyHi @ Tuesday, April 13, 2010
#yum install php-xml-5.1.6-23.2.el5_3