好吧,我一直在为此帖子做准备 我的博客 他们有一段时间向我建议 DesdeLinux,由于时间紧缺,他无法或不愿意。 如果我有点懒 ????。 但是现在,正如我们在古巴所说,他们正在罢工...
0- 使用最新的安全更新使我们的系统保持更新。
0.1- 关键更新邮件列表[Slackware安全顾问, Debian安全顾问,就我而言]
1- 未经授权的人员对服务器的零物理访问。
1.1- 将密码应用于 BIOS 我们的服务器
1.2- 无法通过CD / DVD引导
1.3- GRUB / Lilo中的密码
2- 良好的密码政策,字母数字字符等。
2.1- 密码的时效用“ chage”命令[Password Aging],以及密码更改和上次更改日期之间的天数。
2.2- 避免使用以前的密码:
在/etc/pam.d/common-password中
password sufficient pam_unix.so use_auth ok md5 shadow remember 10
因此,您更改了密码,它使您想起了用户拥有的最后10个密码。
3- 针对我们的网络[路由器,交换机,VLAN]和防火墙,以及过滤规则INPUT,OUTPUT,FORWARD [NAT,SNAT,DNAT]的良好管理/分段策略
4- 启用外壳程序[/ etc / shells]。 无需登录系统的用户可以获取/ bin / false或/ bin / nologin。
5- 登录失败时阻止用户[失败日志],并控制系统用户帐户。
passwd -l pepe->阻止用户pepe passwd -v pepe->取消阻止用户pepe
6- 启用“ sudo”的使用,永远不要通过ssh“ NEVER”以root身份登录。 实际上,您必须编辑ssh配置才能实现此目的。 使用sudo在服务器上使用公钥/私钥。
7- 在我们的系统中应用“最小特权原则“。
8- 不时检查我们每台服务器的服务[netstat -lptun]。 添加可以帮助我们完成此任务的监视工具[Nagios,Cacti,Munin,Monit,Ntop,Zabbix]。
9- 安装IDS,Snort / AcidBase,Snotby,Bar,OSSEC。
10- Nmap是您的朋友,使用它可以检查您的一个或多个子网。
11- OpenSSH,Apache2,Nginx,MySQL,PostgreSQL,Postfix,Squid,Samba,LDAP(最常用的)和网络中需要的其他一些服务中的良好安全性惯例。
12- 尽可能对我们系统中的所有通信进行加密,包括SSL,gnuTLS,StarTTLS,摘要等。如果您处理敏感信息,请对硬盘进行加密!
13- 使用最新的安全性,黑名单和反垃圾邮件规则更新我们的邮件服务器。
14- 使用logwatch和logcheck在我们的系统中记录活动。
15- 了解和使用诸如top,sar,vmstat,free等工具。
sar->系统活动报告vmstat->进程,内存,系统,i / o,cpu活动等iostat-> cpu i / o状态mpstat->多处理器状态和使用率pmap->空闲进程的内存使用率-> iptraf内存->我们网络的实时流量ethstatus->基于控制台的以太网统计信息监控器etherape->图形网络监控器ss->套接字状态[tcp套接字信息,udp,原始套接字,DCCP套接字] tcpdump->详细分析流量vnstat ->所选接口的网络流量监视器mtr->诊断工具和网络ethtool中的过载分析->有关网卡的统计信息
现在就这些了。 我知道在这种环境中还有另外一千零一条安全建议,但是这些建议最令我震惊的地方,或者在某些时候,我不得不在自己管理的环境中应用/锻炼。
拥抱,希望它将为您服务😀
我邀请您在评论中向我们介绍除已提及的规则以外已实施的其他一些规则,以增加读者的知识😀
好吧,我会补充:
1.-应用sysctl规则以防止访问dmesg,/ proc,SysRQ,将PID1分配给内核,启用对硬符号链接和软符号链接的保护,针对IPv4和IPv6的TCP / IP堆栈的保护,激活完整的VDSO以实现最大的随机指针内存空间分配,并提高了防止缓冲区溢出的能力。
2.-创建SPI(状态包检查)类型的防火墙,以防止未创建或先前不允许的连接访问系统。
3.-如果您没有服务可以保证从远程位置以特权提升的连接,只需使用access.conf撤销对它们的访问,否则,仅启用对特定用户或组的访问。
4.-使用硬性限制来防止对某些组或用户的访问破坏系统的稳定性。 在始终有真正的多用户活动的环境中非常有用。
5.- TCPWrappers是您的朋友,如果您正在使用支持它的系统上,使用它不会有任何危害,因此,除非先前在系统中对其进行了配置,否则您可以拒绝来自任何主机的访问。
6.-使用至少2048个字符的字母数字密钥创建至少4096位或16位以上的SSH RSA密钥。
7.-您的世界可写性如何? 检查目录的读写权限一点也不坏,并且是避免在多用户环境中进行未经授权的访问的最佳方法,更不用说这会使某些未经授权的访问更难获得对您所做信息的访问不想他们,没人看。
8.-使用noexec,nosuid,nodev选项挂载任何不应使用的外部分区。
9.-使用rkhunter和chkrootkit之类的工具定期检查系统是否未安装rootkit或恶意软件。 如果您是从不安全的存储库,PPA或从不受信任的站点直接编译代码中进行安装的人员之一,则应采取谨慎的措施。
嗯,好吃……很好的评论,伙计们……😀
在SElinux中应用强制访问控制?
很好的文章
谢谢朋友😀
您好,如果我是普通用户,应该使用su还是sudo?
我使用su是因为我不喜欢sudo,因为拥有我的用户密码的任何人都可以在系统上更改他们想要的任何内容,而不必使用su no。
在您的PC上,使用su并不麻烦,您可以在没有问题的情况下使用su,在服务器上,强烈建议禁用su并使用sudo,许多人说这是由于审核谁执行了什么命令这一事实。 sudo完成了这项任务...特别是在我的电脑上,我像他一样使用他的...
当然,我真的不知道它如何在服务器上工作。 虽然,在我看来,sudo的优势在于,如果我没有记错的话,您可以将特权授予另一台计算机的用户。
有趣的文章是,我使用gnu-gpg加密了一些文件,这是最低特权的加密,如果您要执行例如在磁盘上海量信息中丢失的未知来源的二进制文件,我该如何删除访问某些功能?
我应该归功于您,尽管我认为您只能以sudo / root的身份运行可靠的程序,也就是说,它们来自您的回购程序。
我记得曾经读过在GNU / Linux和UNIX上的一些手册中有一种启用根功能的方法,如果我找到了,我会放它😀
@andrew这是我提到的文章和更多帮助
http://www.cis.syr.edu/~wedu/seed/Labs/Capability_Exploration/Capability_Exploration.pdf
http://linux.die.net/man/7/capabilities
https://wiki.archlinux.org/index.php/Capabilities
和笼子运行未知的二进制文件?
始终使用sudo会更好。
或者,您可以使用sudo,但限制记住密码的时间。
我使用类似的工具来监视计算机,用iotop代替iostat,htop,优秀的任务管理器,iftop带宽监视。
许多人会认为这很夸张,但是我已经看到攻击将僵尸网络包含服务器。
https://twitter.com/monitolinux/status/594235592260636672/photo/1
ps:中国的乞be及其企图入侵我的服务器。
也很方便的方法是使用笼式笼进行服务,因此,如果由于某种原因而受到攻击,则不会损害系统。
使用ps命令也非常适合监视,并且可以作为检查安全缺陷的措施的一部分。 运行ps -ef会列出所有进程,它与top相似,但是显示出一些区别。 安装iptraf是另一种可能有效的工具。
贡献良多。
我会添加:SELinux或Apparmor,始终取决于发行版。
根据我自己的经验,我意识到禁用这些组件是一种不好的做法。 当我们要安装或配置服务时,我们几乎总是这样做,以它运行没有问题为借口,而实际上我们应该做的就是学会处理它们以允许该服务。
问候。
1.如何加密整个文件系统? 值得??
2.每次系统更新时都必须解密吗?
3.加密计算机的整个文件系统是否与加密任何其他文件相同?
你怎么知道你在说什么?
此外,您可以保留程序,甚至可以容纳多个用户。 尽管这样做是更多的工作,但是如果发生了某些事情,并且您拥有该文件夹的先前副本,那么它只是敲打和唱歌。
最好,最方便的安全策略是不要偏执。
试试吧,它是绝对可靠的。
我正在使用csf,并且在解锁某个在某个访问权限中放错了密码的客户端时,它会延迟该过程,但确实会延迟。 这是正常的?
我正在寻找从ssh解锁的命令...任何建议