技术开发 频道

OpenBSD.Nginx.MySQL.PHP环境搭建手册(v2)

  七、强化SSH的安全

  Ⅰ、SSH配置文件的修改

  vi /etc/ssh/sshd_config

  跳到最后,加入下面的部分:

  # 使用高位端口,防止黑客扫描22端口。可选范围1024~65535,推荐32768~65535。

  Port 58937

  # 登录时间控制在30秒内

  LoginGraceTime 30

  # 不允许root远程直接登录

  PermitRootLogin no

  StrictModes yes

  # 最多允许三次错误

  MaxAuthTries 3

  # 最多允许三个SSH线程

  MaxSessions 3

  # 使用SSH协议2

  Protocol 2

  # 不使用密码认证

  PasswordAuthentication no

  # 使用KEY的方式认证

  PubkeyAuthentication yes

  # KEY文件存放位置

  AuthorizedKeysFile .ssh/authorized_keys

  Ⅱ、使用KEY进行验证

  关于使用PuTTY进行KEY验证的方法,请参见偶的另一篇博文,地址:

  http://blog.chinaunix.net/u2/81136/showart_1860332.html

  Ⅲ、按需启动SSH

  我们只在必要的时候启动sshd服务,用完即停止,不给黑客扫描的机会。输入下面的命令:

  crontab -e

  跳到最后,输入下面的内容(中间的空白部分为Tab):

  # 每天的10:30启动sshd服务

  30 10 * * * /usr/sbin/sshd

  # 10:35即停止sshd服务,也就是说,你只有五分钟的时间可以登录进系统

  35 10 * * * kill `cat /var/run/sshd.pid`

  保存退出。

  上面的时间请酌情修改。sshd服务启动的时间尽量不要太长,5~10分钟应该够了!

  Ⅳ、一点安全小常识

  1、私钥请一定保存在安全的地方,不要保存在本地计算机上,并加上足够强度的“保护码”;

  2、本地计算机不要保存远程主机的“指纹”,用一次确认一次(远程主机的指纹保存在注册表的HKEY_CURRENT_USER\Software\SimonTatham\PuTTY项下,可以手动删除);

  3、不要使用DSA密钥,据说有漏洞的;

  4、不要在公用计算机上连接远程主机,有键盘记录器、木马什么的就麻烦了;

  5、多个远程主机不要使用相同的公钥,最好是使用各自的公钥、私钥;

  6、少用,最好是不用无线网络,加密强度太差,容易被破解;

  7、M$系统下的病毒、木马太多了,推荐客户端转换到Linux/UNIX环境,安全性更高,而且仍然有PuTTY及工具可用;

  8、注意清除本地机器上不必要保留的文件(例如私钥、公钥、主机RSA指纹、C:\Documents and Settings\Administrator目录下的文件等等)。

0
相关文章