安全
安全 FTP 协议 FTPS 和防火墙
6月30日
在前一个博文《FTP和LDAP认证的整合》中实现了能够和 LDAP 认证整合的 FTP 服务器。但是我们知道,FTP协议并不安全,认证信息都明文传输。就像 HTTPS 之于 HTTP,FTPS 就是安全的 FTP 服务。
采用 ProFTPD 架设 FTPS 是小菜一碟,但是你有可能倒在防火墙上…
用 greylist 做邮件服务器的保护罩
6月28日
据考证,第一个垃圾邮件是 1994 年 3 月 5 日由一对夫妻律师发送出来的。自此,垃圾邮件充斥着你、我邮箱的各个角落。要怪罪的话,只能怪罪 SMTP 协议的创造者是一个大好人,设计之初压根没有考虑人性的贪婪导致邮件被滥用。
防止垃圾邮件,已经是商业邮件服务器的必选项。但是一些被广泛使用的垃圾邮件防范机制的效果很有限。
- 基于黑名单的垃圾邮件防护,因黑名单维护和更新存在滞后性和时效性,效果并不显著
- 基于内容的过滤,即使准确度 99%, 那 1% 被隔离的正常邮件也可能会造成意想不到的损失。对 1% 邮件的牵肠挂肚,让 99% 的准确度失去意义。
Greylist —— 灰名单,则在另外的一个角度上另辟蹊径。
- 基于邮件服务器行为,而非邮件内容本身
- SMTP 服务器发送的正常邮件存在重发机制,而垃圾邮件往往缺乏正规邮件的重发机制
- 在某个IP或者某个网段以某个用户名义发送邮件到本邮件域的某个用户,如果是第一次发送,拒收邮件
- 第一次拒收的同时,会记录发送方的IP地址,MAIL FROM,RCPT TO 等 SMTP 会话信息
- 在某个时间段之内(10分钟到8小时),发送方重新发送邮件,则会话被接受,灰名单进入白名单
在 Debian 上,可以很容易的安装名为 greylistd 的软件包,稍加配置,就可以为你的邮件服务器穿上保护罩。
logcheck, fail2ban 的副作用
6月28日
今天客户遇到的问题,让我们看到了 logcheck与 fail2ban 的副作用,采取适当的配置,可以减少副作用的发生。
logcheck 工具周期性(每个小时)读取系统日志,检查日志中可能的安全风险,并将相关信息发送给管理员。fail2ban 也是检查相应的日志文件,检查服务滥用情况(如暴力口令破解),并自动采取相关措施(针对IP地址暂停服务)。
今天客户的机器发生CPU占用过高的情况,经过检查发现(虽然不是直接原因) logcheck 和 fail2ban 导致了CPU高占用率。
- 客户的服务器还提供用户SSH登录和执行运算等工作
- 有一个用户写的程序,频繁的发送日志,在一天之内,就在 /var/log/messages 中写了 12G 的数据,而且还在不停的写
- logcheck 和 fail2ban 等日志检查程序,在处理如此之大的日志文件时,造成 CPU 占用过高
- 此外,还(曾经)出现内存耗尽的情况(总共64G物理内存)
停止 fail2ban 服务进程,杀掉正在执行的 logcheck 进程,CPU 占用量降为正常水平。
最根本的是用户自己的应用不要频繁的发送日志,后台进程运行将 debug 信息输出到空设备(/dev/null)。还有,为了防止类似情况的发生,还要解决 logchec 和 fail2ban 因庞大日志导致的性能降低问题:
- logcheck 只跟踪 /var/log/auth.log 日志,不要跟踪 /var/log/syslog 和其它有可能因为意外导致奇大无比的日志
编辑 /etc/logcheck/logcheck.logfiles 文件,设定跟踪的日志文件 - fail2ban,关闭跟踪 /var/log/messages 文件的事件。当然最好修改相关应用,日志存放在独立的文件而非 /var/log/messages 中。
禁用 SSH 远程主机的公钥检查
4月8日
SSH 公钥检查是一个重要的安全机制,可以防范中间人劫持等黑客攻击。但是在特定情况下,严格的 SSH 公钥检查会破坏一些依赖 SSH 协议的自动化任务,就需要一种手段能够绕过 SSH 的公钥检查。
Fail2ban—-暴力口令破解的克星
4月7日
Fail2ban对防止暴力破解口令有非常好的作用,它可以设置对方密码失败n次后用防火墙屏蔽n分钟,写入日志中,并可邮件你。 它的工作原理就是:
fail2ban → 监视log file → 连续出现多次错误信息 → 封锁IP.

最新评论