EMOS 1.2安装好了,然后设置好MX交换记录后,这个企业邮局就可以开始工作了
但是为了更好的使用.我们需要对他进行一些优化
1.升级系统中的软件版本.
yum -y upgrade
时间比较长.
2.由于extman有校验码,需要校对时间
yum -y install ntp
crontab -e
*/15 * * * * /usr/sbin/ntpdate 210.72.145.44 > /dev/null 2>&1
3 升级clamav的版本
1,编辑etc/postfix/main.cf,注释掉这一行如下。
##content_filter = smtp:[127.0.0.1]:10024
执行一下
[root@mail etc]#postfix stop
停掉clamd,amavisd,为了安全。
[root@mail etc]# /etc/init.d/clamd stop
Stopping Clam AntiVirus Daemon: [ OK ]
[root@mail etc]# /etc/init.d/amavisd stop
Shutting down amavisd: [ OK ]
amavisd stopped
升级ClamAV
首先加入 dag
vi /etc/yum.repos.d/dag.repo
[dag]
name=Dag RPM Repository for Red Hat Enterprise Linux
baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag
gpgcheck=1
enabled=1
[root@mail ]rpm --import [url]http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt[/url]
[root@mail etc]# yum update clamav
恢复配置文件
[root@mail etc]# cp /etc/clamd.conf.rpmnew /etc/clamd.conf
[root@mail etc]# vi /etc/clamd.conf
改如下行:
LocalSocket /var/run/clamav/clamd.sock
#TCPSocket 3310 说明注释掉该行
AllowSupplementaryGroups yes
升级完成后:
编辑/etc/postfix/main.cf,去掉注释。
content_filter = smtp:[127.0.0.1]:10024
重启postfix
[root@mail etc]# postfix start
启动clamd
[root@mail etc]# /etc/init.d/clamd start
Starting Clam AntiVirus Daemon: [ OK ]
启动amavisd
[root@mail etc]# /etc/init.d/amavisd start
Starting amavisd: [ OK ]
然后更新病毒库
/usr/bin/freshclam
稍后就可以看到病毒库更新的结果了
4.升级其他的包,maildrop,webmin等
rpm -e maildrop
rpm -e maildrop-man
由于有包依赖关系,需要安装一个
rpm -ivh gamin-0.1.7-1.2.EL4.i386.rpm
然后再 rpm -ivh maildrop-2.0.1-2.i386.rpm
rpm -ivh maildrop-man-2.0.1-2.i386.rpm
修改amavisd-new原配置
解决:原amavisd-new在/etc/amavisd.conf配置中
$final_virus_destiny = D_DISCARD;
改为:
$final_virus_destiny = D_PASS;
也就是不会直接扔掉可能带病毒的邮件,而是加上邮件头后,把邮件作为附件继续发送给对应的用户。
安装webmin
把需要安装的rpm都装上即可.
然后可以通过 [url]https://ip:10000[/url]来访问
需要注意的是要打开防火墙中的10000端口.
5.系统加固:
禁止Control-Alt-Delete 键盘关闭命令
在"/etc/inittab" 文件中注释掉下面这行(使用#):
ca::ctrlaltdel:/sbin/shutdown -t3 -r now
改为:
#ca::ctrlaltdel:/sbin/shutdown -t3 -r now
为了使这项改动起作用,输入下面这个命令:
# /sbin/init q
给"/etc/rc.d/init.d" 下script文件设置权限
给执行或关闭启动时执行的程序的script文件设置权限。
# chmod -R 700 /etc/rc.d/init.d/*
这表示只有root才允许读、写、执行该目录下的script文件。
修改"/etc/host.conf"文件
"/etc/host.conf"说明了如何解析地址。编辑"/etc/host.conf"文件(vi /etc/host.conf),加入下面这行:
# Lookup names via DNS first then fall back to /etc/hosts.
order bind,hosts
# We have machines with multiple IP addresses.
multi on
# Check for IP address spoofing.
nospoof on
第一项设置首先通过DNS解析IP地址,然后通过hosts文件解析。第二项设置检测是否"/etc/hosts"文件中的主机是否拥有多个IP地址(比如有多个以太口网卡)。第三项设置说明要注意对本机未经许可的电子欺骗。
使"/etc/services"文件免疫
使"/etc/services"文件免疫,防止未经许可的删除或添加服务:
# chattr +i /etc/services
8.阻止你的系统响应任何从外部/内部来的ping请求。
既然没有人能ping通你的机器并收到响应,你可以大大增强你的站点的安全性。你可以加下面的一行命令到/etc/rc.d/rc.local,以使每次启动后自动运行。
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
对你的系统上所有的用户设置资源限制可以防止DoS类型攻击(denial of service attacks)
如最大进程数,内存数量等。例如,对所有用户的限制象下面这样:
vi /etc/security/limits.conf
下面的代码示例中,所有用户每个会话都限制在 10 MB,并允许同时有四个登录。第三行禁用了每个人的内核转储。第四行除去了用户 bin 的所有限制。ftp 允许有 10 个并发会话(对匿名 ftp 帐号尤其实用);managers 组的成员的进程数目限制为 40 个。developers 有 64 MB 的 memlock 限制,wwwusers 的成员不能创建大于 50 MB 的文件。
清单 3. 设置配额和限制
* hard rss 10000
* hard maxlogins 4
* hard core 0
bin -
ftp hard maxlogins 10
@managers hard nproc 40
@developers hard memlock 64000
@wwwusers hard fsize 50000
要激活这些限制,您需要在 /etc/pam.d/login 底部添加下面一行: session required /lib/security/pam_limits.so。
注释掉不需要的用户和用户组。
用chattr命令给下面的文件加上不可更改属性。
[root@deep]# chattr +i /etc/passwd
[root@deep]# chattr +i /etc/shadow
[root@deep]# chattr +i /etc/group
[root@deep]# chattr +i /etc/gshadow
注意执行这个操作后,以root身份都不能向系统增加用户或者修改密码了。如果我们要增加用户或者修改密码的。应该先用chattr -i /etc/passwd等命令解除不可写设置,再进行操作。
改变sshd缺省端口
SSHD的默认端口就是 22 ,地球人都知道,通常黑客在没有准确目标的情况下要寻找 Linux机器的最好方法就是扫描所有开放了 22 端口的机器,然后放在一个列表里,一个个去探求它的漏洞。
比如 nmap4 的新功能 nmap -v -iR 10000 -P0 -p 22 可随机在10000个IP里去寻找开放了 22 端口的机器。当然也可以有目标的把日本或者其他国家的ip段添上再扫描。
通常是按照服务对应的常规端口去扫描,除非用全端口1-65535,但除非是针对性的对一台机器扫描,否则这样效率不高。
把默认端口改变成60022的步骤如下:
vi /etc/ssh/sshd_config
找到#Port 22,标识默认使用22端口,如果需要更改为8888则去掉前面的 # 注释符号,修改为:Port 60022
然后重启服务进程
# /etc/init.d/sshd restart
sshd_config其他安全选项
把 #PermitRootLogin yes 改为 PermitRootLogin no 可防止 root 远程登陆
把 #Protocol 1,2 改 Protocol 2 ,不用 SSH protocol 1 协议,只用 2
当然还有一些选项,视需要而定,比如:Banner的伪造、登陆失败后的的锁定时间、是否允许空口令帐号登陆、服务器密钥的位数等、允许登陆的用户和IP等。
内核参数调整
sysctl -w net.ipv4.conf.default.accept_source_route=0
sysctl -w net.ipv4.icmp_echo_ignore_broadcasts=1
#sysctl -w net.ipv4.icmp_echo_ignore_all=1
sysctl -w net.ipv4.icmp_ignore_bogus_error_responses=1
sysctl -w net.ipv4.ip_conntrack_max=65535
sysctl -w net.ipv4.tcp_syncookies=1
sysctl -w net.ipv4.tcp_syn_retries=1
sysctl -w net.ipv4.tcp_fin_timeout=5
sysctl -w net.ipv4.tcp_synack_retries=1
sysctl -w net.ipv4.tcp_syncookies=1
sysctl -w net.ipv4.route.gc_timeout=100
sysctl -w net.ipv4.tcp_keepalive_time=500
sysctl -w net.ipv4.tcp_max_syn_backlog=10000
经常检查系统日志。系统日志主要位于/var/log/目录下。防患于未然。